日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

android 軟件更新代碼

系統 2438 0

http://lovezhou.iteye.com/blog/932847

?

?

?

???? 應用軟件經常會因為功能的增加而升級,升級經常是在客戶端給用戶升級的提示,然后用戶下載最新的apk程序包,軟件升級過程大多數需要在線完成。?
????? android 在線安裝apk程序包,主要用到系統自帶的apk安裝器進行安裝。用到系統自帶的apk安裝器安裝apk包,首先需要在配置文件中加入權限聲明?
Java代碼?? 收藏代碼
  1. <uses-permission?android:name= "android.permission.INTERNET" ></uses-permission>??
  2. <uses-permission?android:name= "android.permission.INSTALL_PACKAGES" ></uses-permission>??
  3. <uses-permission?android:name= "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ></uses-permission>??
  4. <uses-permission?android:name= "android.permission.WRITE_EXTERNAL_STORAGE" ></uses-permission??


調用系統apk安裝器的主要代碼是:?
Java代碼?? 收藏代碼
  1. Intent?intent?=? new ?Intent();??
  2. ????intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);??
  3. ????intent.setAction(android.content.Intent.ACTION_VIEW);??
  4. ??????
  5. ???? /*?調用getMIMEType()來取得MimeType?*/ ??
  6. ????String?type?=?getMIMEType(f);??
  7. ???? /*?設置intent的file與MimeType?*/ ??
  8. ????intent.setDataAndType(Uri.fromFile(f),type);??
  9. ????startActivity(intent);???

在正確url地址上下載下來apk后,先判斷下載下來的文件類型,然后通過apk安裝器即可安裝?
截圖:?
android 軟件更新代碼 ?
android 軟件更新代碼
評論
21 樓? 335062868 ?2012-01-18??? 引用
LoveZhou 寫道
335062868 寫道
請問樓主,為什么我會出現解析包時出錯呢?知道是哪里出的問題嗎?

很有可能是apk有問題,可以單獨安裝apk試試,看能否成功

單獨安裝可以安裝,這個我試過了!
20 樓? LoveZhou ?2012-01-16??? 引用
335062868 寫道
請問樓主,為什么我會出現解析包時出錯呢?知道是哪里出的問題嗎?

很有可能是apk有問題,可以單獨安裝apk試試,看能否成功
19 樓? 335062868 ?2012-01-16??? 引用
請問樓主,為什么我會出現解析包時出錯呢?知道是哪里出的問題嗎?
18 樓? LoveZhou ?2011-09-01??? 引用
lcfeng1982 寫道
請問如何升級某個文件呢?比如我的軟件用到了數據庫,我想在升級的時候保留數據庫,這樣升級后原有的數據庫還可以照常使用。這個時候你提供的這個方法還能用嗎?

這種是覆蓋安裝,覆蓋安裝apk的時候,應該不會刪掉數據庫文件,你可以試一下,沒測試過這個,不敢肯定,不好意思哈
17 樓? lcfeng1982 ?2011-09-01??? 引用
請問如何升級某個文件呢?比如我的軟件用到了數據庫,我想在升級的時候保留數據庫,這樣升級后原有的數據庫還可以照常使用。這個時候你提供的這個方法還能用嗎?
16 樓? LoveZhou ?2011-07-21??? 引用
glaivelee-michele 寫道
樓主, 這個方案給我啟發很大. 有個問題: 如何安裝時不需要確認一下!!!就是說在樓主這篇文章中的最后一張圖片里 安裝程序詢問用戶是否要安裝該應用程序? 用戶必須確認一下才能安裝?? 如何省掉這一步? 請樓主不吝賜教

這個是調用系統的安裝器,所以都要彈出這個界面,如果調用系統的,暫時還不知道怎么跳過這一步,Android安裝應用時,都會給用戶提示
15 樓? LoveZhou ?2011-07-21??? 引用
xiaopei0714 寫道
嗯,目前看來只能這樣了,我一直想要用非手動的方式,可惜沒有好法子,從apk上讀取版本號,多一般的java程序不好弄,看來只能采取這種辦法了

有好的方法再一起分享
14 樓? xiaopei0714 ?2011-07-21??? 引用
嗯,目前看來只能這樣了,我一直想要用非手動的方式,可惜沒有好法子,從apk上讀取版本號,多一般的java程序不好弄,看來只能采取這種辦法了
13 樓? glaivelee-michele ?2011-07-21??? 引用
樓主, 這個方案給我啟發很大. 有個問題: 如何安裝時不需要確認一下!!!就是說在樓主這篇文章中的最后一張圖片里 安裝程序詢問用戶是否要安裝該應用程序? 用戶必須確認一下才能安裝?? 如何省掉這一步? 請樓主不吝賜教
12 樓? LoveZhou ?2011-07-21??? 引用
LoveZhou 寫道
xiaopei0714 寫道
LoveZhou 寫道
xiaopei0714 寫道
那這樣子的話,server端是怎樣告訴client最新版本號,提供一個接口??那樣子的話server該怎么獲得最新版本號然后返回client,難道每次更新版本之后,server都要改代碼????我是糾結了,拜托拜托不吝賜教

把升級后的apk放到server上,客戶端可以每次讀取server的一個地址,從上面解析是否需要升級,如果需要,再到指定的url上去下載apk在線安裝。
exp:server 的 url 中帶 update=1字段,客戶端每次請求這個url,可以改變update的值,雙方約定好


那這樣是不是意味著server一旦發布一個新的版本,就需要更新一次update值?

恩,一個參數,不知道有沒有更好的辦法,我現在只想到了這個


不是更新updata的值,可以約定好,比如說只有是3的時候更新,就可以了
11 樓? LoveZhou ?2011-07-20??? 引用
xiaopei0714 寫道
LoveZhou 寫道
xiaopei0714 寫道
那這樣子的話,server端是怎樣告訴client最新版本號,提供一個接口??那樣子的話server該怎么獲得最新版本號然后返回client,難道每次更新版本之后,server都要改代碼????我是糾結了,拜托拜托不吝賜教

把升級后的apk放到server上,客戶端可以每次讀取server的一個地址,從上面解析是否需要升級,如果需要,再到指定的url上去下載apk在線安裝。?
exp:server 的 url 中帶 update=1字段,客戶端每次請求這個url,可以改變update的值,雙方約定好


那這樣是不是意味著server一旦發布一個新的版本,就需要更新一次update值?

恩,一個參數,不知道有沒有更好的辦法,我現在只想到了這個
10 樓? xiaopei0714 ?2011-07-20??? 引用
LoveZhou 寫道
xiaopei0714 寫道
那這樣子的話,server端是怎樣告訴client最新版本號,提供一個接口??那樣子的話server該怎么獲得最新版本號然后返回client,難道每次更新版本之后,server都要改代碼????我是糾結了,拜托拜托不吝賜教

把升級后的apk放到server上,客戶端可以每次讀取server的一個地址,從上面解析是否需要升級,如果需要,再到指定的url上去下載apk在線安裝。?
exp:server 的 url 中帶 update=1字段,客戶端每次請求這個url,可以改變update的值,雙方約定好


那這樣是不是意味著server一旦發布一個新的版本,就需要更新一次update值?
9 樓? LoveZhou ?2011-07-20??? 引用
xiaopei0714 寫道
那這樣子的話,server端是怎樣告訴client最新版本號,提供一個接口??那樣子的話server該怎么獲得最新版本號然后返回client,難道每次更新版本之后,server都要改代碼????我是糾結了,拜托拜托不吝賜教

把升級后的apk放到server上,客戶端可以每次讀取server的一個地址,從上面解析是否需要升級,如果需要,再到指定的url上去下載apk在線安裝。
exp:server 的 url 中帶 update=1字段,客戶端每次請求這個url,可以改變update的值,雙方約定好
8 樓? xiaopei0714 ?2011-07-20??? 引用
那這樣子的話,server端是怎樣告訴client最新版本號,提供一個接口??那樣子的話server該怎么獲得最新版本號然后返回client,難道每次更新版本之后,server都要改代碼????我是糾結了,拜托拜托不吝賜教
7 樓? LoveZhou ?2011-07-19??? 引用
xiaopei0714 寫道
LoveZhou 寫道
xiaopei0714 寫道
感謝你的代碼,幫助很大,我能不能問一下,可不可以說在server提供相應的接口供client這邊得到軟件的最新版本號?這樣子的方法實現不知道是否可以,我最近正好也在做這個,這個是不是需要client與server雙方有一定的約定方式

apk簽名要相同,否則無法覆蓋安裝


嗯,謝謝,你這里的簽名相同,指的是私鑰???還是別的什么?

key
6 樓? xiaopei0714 ?2011-07-19??? 引用
LoveZhou 寫道
xiaopei0714 寫道
感謝你的代碼,幫助很大,我能不能問一下,可不可以說在server提供相應的接口供client這邊得到軟件的最新版本號?這樣子的方法實現不知道是否可以,我最近正好也在做這個,這個是不是需要client與server雙方有一定的約定方式

apk簽名要相同,否則無法覆蓋安裝


嗯,謝謝,你這里的簽名相同,指的是私鑰???還是別的什么?
5 樓? LoveZhou ?2011-07-18??? 引用
xiaopei0714 寫道
感謝你的代碼,幫助很大,我能不能問一下,可不可以說在server提供相應的接口供client這邊得到軟件的最新版本號?這樣子的方法實現不知道是否可以,我最近正好也在做這個,這個是不是需要client與server雙方有一定的約定方式

apk簽名要相同,否則無法覆蓋安裝
4 樓? LoveZhou ?2011-07-18??? 引用
xiaopei0714 寫道
感謝你的代碼,幫助很大,我能不能問一下,可不可以說在server提供相應的接口供client這邊得到軟件的最新版本號?這樣子的方法實現不知道是否可以,我最近正好也在做這個,這個是不是需要client與server雙方有一定的約定方式

可以啊,當時我們就是server和client約定的
3 樓? xiaopei0714 ?2011-07-18??? 引用
感謝你的代碼,幫助很大,我能不能問一下,可不可以說在server提供相應的接口供client這邊得到軟件的最新版本號?這樣子的方法實現不知道是否可以,我最近正好也在做這個,這個是不是需要client與server雙方有一定的約定方式
2 樓? LoveZhou ?2011-06-16??? 引用
sww0130 寫道
有沒有辦法判斷apk是最新的而不是舊的?

暫時沒找到辦法判斷,我們之前做的是把新的apk直接放到url地址上,下載

android 軟件更新代碼


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 石首市| 抚顺县| 张家界市| 太仓市| 乌拉特中旗| 大荔县| 青冈县| 建德市| 平舆县| 枣阳市| 木兰县| 东光县| 墨脱县| 永丰县| 廊坊市| 枞阳县| 东港市| 广昌县| 三原县| 南郑县| 诸城市| 潮安县| 雷波县| 藁城市| 安乡县| 靖边县| 留坝县| 江门市| 定结县| 尼玛县| 岫岩| 左贡县| 应城市| 洪湖市| 望奎县| 宝鸡市| 大姚县| 微山县| 河曲县| 甘孜县| 长兴县|