本文地址:http://www.cnblogs.com/wuyudong/p/5904528.html,轉載請註明源地址。 本文對之前手機衛士開發進行一個小結。 1、SplashActivity 版本名稱的展示,從清單配置文件中獲取版本名稱,PackageManager 服務端新版本的檢測(本地版本 ...
本文地址:http://www.cnblogs.com/wuyudong/p/5904528.html,轉載請註明源地址。
本文對之前手機衛士開發進行一個小結。
1、SplashActivity
版本名稱的展示,從清單配置文件中獲取版本名稱,PackageManager
服務端新版本的檢測(本地版本號<伺服器版本號)
展示logo
2、手機防盜
sim卡綁定:每一款手機都會有相應的卡的序列號,一旦替換掉原有電話卡,序列號會發生改變
3、手機衛士分包
基礎課程分包方式,每一個類包名,
com.itheima.db
com.itheima.db.dao 組件方式
業務邏輯劃分
例如對於icbc
com.icbc.money
com.icbc.meeting
com.icbc.travel
組件劃分(四大組件:activity,服務,廣播,內容提供者(內容解析者))
mobilesafe
com.wuyudong.mobilesafe.activity
com.wuyudong.mobilesafe.service
資料庫操作
com.wuyudong.mobilesafe.db
com.wuyudong.mobilesafe.db.dao
工具類
com.wuyudong.mobilesafe.utils
自定義控制項(android原有控制項,不能滿足需求),自定義組合控制項
com.wuyudong.mobilesafe.view
com.wuyudong.mobilesafe.ui.widget
4、應用去頭
方式一:每個類都需要去添加此代碼
在setContentView(R.layout.activity_splash);
前設置以下代碼
requestWindowFeature(Window.FEATURE_NO_TITLE);
方式二:統一去掉所有activity的頭
@android:style/Theme.Light.NoTitleBar方式去頭,使用老版本主題樣式
修改預設樣式文件為
<style name="AppTheme" parent="AppBaseTheme">
<!-- 在去頭的同時,還保留高版本的樣式主題 -->
<item name="android:windowNoTitle">true</item>
</style>
5、packageManager獲取當前應用版本名稱,版本號
版本名稱:用於展示(陰影效果,顏色)
版本號:用於和服務端的apk比對,
如果伺服器端的版本號>本地版本號 彈出對話框提示用戶更新
伺服器版本號<=本地版本號 直接進入應用程式主界面
6、網路請求發送
客戶端發送請求
服務端以流的形式返回數據,數據需轉換成字元串,(json)
7、json解析
看見什麼解析什麼,解析相應欄位的時候,一定要去copy不要手寫
8、json解析異常情況
json一旦解析出現錯誤,通過斷點調試是最好的調錯方式
斷點調試常用按鈕:
綠色:跳轉到下一個斷點
紅色:斷開本次斷點調試
下一步:執行當前代碼,執行到下一步
跳轉到方法內部執行
9、xutils使用過程
(1)導入xutils的jar包
(2)添加xutils需要使用的許可權
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
(3)獲取HttpUtils對象,下載指定鏈接地址的apk
(4)HttpUtils對象調用download(下載鏈接地址,下載後放置文件的路徑,下載過程中方法的回調
onStart()
onloading()
onSuccesd()
onFail() )
(5)下載apk後的安裝過程,
10、打包生成apk過程
(1)生成簽名文件,並且指定所在位置
(2)使用生成的簽名文件,給工程打包生成一個apk
11、安裝apk註意事項
升級
1,註意事項:將原有應用覆蓋掉,包名一致
2,簽名一致???
從Eclipse運行至手機上的應用,使用的是bin目錄下的應用,使用debug.keystore簽名應用
手機衛士版本一,右鍵運行至手機的,所以使用簽名是debug.keystore
手機衛士版本二,單獨打包,生成相應簽名文件heima74keystore
生成一個heima74keystore作為簽名文件的apk
簽名一致,包名不同:生成兩個手機衛士apk,包名是應用的唯一性標誌
簽名不同,包名一致:覆蓋安裝失敗
版本更新流程如下: