軟件升級評估_第1頁
軟件升級評估_第2頁
軟件升級評估_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、一、重點注意:1、manifast.xml中的 versionCode和 versionName :其中 versionCode的默認值 為1,在創(chuàng)建新的軟件版本時,一定要將此值設置的比前一個版本高ps : versionCode為整數(shù),非android硬性規(guī)定,但從開發(fā)角度來講,可以通過 versionCode馬上知道當前軟件是否比新版本軟件的版本高還是低。一般來說, 你發(fā)布的第一版程序的versionCode設定為1,然后每次發(fā)布都會相應增加, android:versionCode不像應用程序的發(fā)布版本(看下面android:versionName) 那樣顯示給用戶。應用程序和發(fā)布的服務

2、不應該顯示這個版本值給用戶。2、android:versionName字符串值,代表應用程序的版本信息,需要顯示給用戶。Android:versionName的命名規(guī)則:versionName字符串值,由于現(xiàn)有的 軟件分為4個版本ps :完整版,督導版,促銷員版,基礎版,每個版本都有針 對自己的升級軟件,那么如何區(qū)分不同版本軟件更新到的是對應于自己的升級 軟件呢?通過versionName。原理:軟件初始化時獲取到自身的versionName, 將versionName中的flag當做參數(shù)訪問服務器,服務器通過此參數(shù)返回相對應 的版本升級軟件。規(guī)則如下:如:versionName=flagx.

3、x flag為a代表是完整版,x.x為版本號,如1.1.例如,a1.1代表完整版的1.1,服務端如果有新軟件生成,此vesionName應 該為a1.2。不是絕對以0.1遞增,但要有規(guī)律。為新版本軟件打包時一定要注 意,不要寫錯,否者軟件更新會驢唇不對馬嘴。以下類同。完整版:ax.x”. flag = a督導版:”sx.x”. flag = s促銷員版:px.x. flag = p基礎版:bx.x. flag = b3、服務端需要提供數(shù)據(jù):a)是flag用來區(qū)分軟件的版本(這里指功能)。b)flag對應的新版本軟件的versionCode和versionName值。格式: versionCod

4、e&versionNamec)apkName (對應apk文件的全名稱,比如 :com.tstx.al.l.apk),對應 軟件實體apk包。二、模塊設計思路1、升級模式:3、自動檢測,軟件在運行初始化時所運行的工作量比較大,為了不增加負擔, 自動檢測放在軟件初始化進入主界面后,進行訪問服務器檢測軟件是否有新版本。b、手動檢測,在選項菜單中有下載”選項,單擊后,進行服務器訪問檢測軟件是否有新版本。Ps :不建議后臺運行service進行定時巡檢,造成資源浪費。2、顯示方式:a、自動檢測有果,在通知欄顯示通知,ps:不建議在不通知用戶的情況下 靜默下載,關系到用戶利益。當用戶單擊通知欄信息后并同

5、意下載,在通知欄中顯示 進度條,下載完成后,通知欄中狀態(tài)為安裝,用戶同意安裝,整個更新過程完成。b、手動檢測有果,和自動檢測一致。3、異常處理如果用戶在選擇下載過程中,由于網(wǎng)絡原因,比如連接不到服務器30秒后更 新通知欄信息為提示用戶下載失敗,或者在中途下載到一半,網(wǎng)絡環(huán)境不好,導 致斷鏈,同樣提示用戶下載失敗,并且加入斷點續(xù)傳機制。三、訪問服務器1、第一次訪問服務器是確定軟件是否更新,使用json格式,內(nèi)容包括Type :軟件功能版本Deviceld :終端序列號type:checkVersion, versionFlag:a, deviceId:00000000000服務返回version

6、Code:1.1, versionName:a1.1url:http:/22 7 8:80 90/MultiMediaServer/downlinkdata/dow nlink.do?2、第二次訪問服務器是下載新軟件,使用json格式,內(nèi)容type:downloadApk, versionFlag:a, deviceId:00000000000服務返回com.tstx.al.l.apk文件及jsonfilePath: HYPERLINK 78:8090/com.tstx.a1.1.ap 78:8090/com.tstx.a1.1.apurl:http:/22 7 8:80 90/MultiMe

7、diaServer/downlinkdata/dow nlink.do?返回: HYPERLINK 78:8090/com.tstx.a1.1.ap 78:8090/com.tstx.a1.1.apk再次進行訪問。返回流。隱患:在替換安裝軟件時,如果新版本的軟件的數(shù)據(jù)庫結構發(fā)生變化(包括表和表的結構)。 那么替換安裝會失敗,解決方式:1、在替換安裝前,代碼清除現(xiàn)有軟件的用戶數(shù)據(jù)(包括本地文件和數(shù)據(jù)庫 表和表中的信息)。2、用戶手動進入到應用管理中,卸載老版本軟件或手動清除數(shù)據(jù),然后從dcard中 找出新版本安裝包進行安裝。以上兩種方式都會導致用戶以前的數(shù)據(jù)信息丟失。解決方式,數(shù)據(jù)庫升級,目前老

8、軟件和新軟件之間的數(shù)據(jù)庫差異太大,無法確定升級 數(shù)據(jù),不建議在新版軟件中添加數(shù)據(jù)庫升級機制,在以后的版本控制中加強數(shù)據(jù)庫結 構的管理,隨時記錄數(shù)據(jù)庫結構的變化,在下下版中開始添加數(shù)據(jù)庫升級機制。那么, 在這一版新軟件安裝替換老軟件時,只能使用上面兩種方式。GPS定位軟件升級jsondownlinkReqStr=type:mobileVersion, deviceld: 000000000000000, pa ckageName: android.os.kernel, versionName:1.0packageName為清單文件中的package屬性versionName為清單文件中的versionName屬性fileUrl: HYPERLIN

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論