我們看到很多android應用都具有自動更新功能,使用者一鍵就可以完成軟體的公升級更新。得益於android系統的軟體包管理和安裝機制,這一功能實現起來相當簡單,下面我們就來實踐一下。首先給出介面效果:
1. 準備知識
在androidmanifest.xml裡定義了每個android apk的版本標識:
view plain
copy to clipboard
print?
<
manifest
xmlns:android
=""package
android:versioncode
="1"
android:versionname
="1.0.0"
>
<
>
>
manifest
>
其中,android:versioncode和android:versionname兩個字段分別表示版本**,版本名稱。versioncode是整型數字,versionname是字串。由於version是給使用者看的,不太容易比較大小,公升級檢查時,可以以檢查versioncode為主,方便比較出版本的前後大小。
那麼,在應用中如何讀取androidmanifest.xml中的versioncode和versionname呢?可以使用packagemanager的api,參考以下**:
view plain
copy to clipboard
print?
public
static
intgetvercode(context context)catch(namenotfoundexception e)
returnvercode;
}public
staticstring getvername(context context)catch(namenotfoundexception e)
returnvername;
} view plain
copy to clipboard
print?
public
staticstring getvername(context context)
view plain
copy to clipboard
print?
public
static
string vername = context.getresources()
return vername;
}
2. 流程框架
3. 版本檢查view plain
copy to clipboard
print?
然後,在手機客戶端上進行版本讀取和檢查:
view plain
copy to clipboard
print?
private
booleangetserverver ()catch(exception e)
} }catch(exception e)
return
true;
} private boolean getserverver () catch (exception e) } } catch (exception e) return true; }
比較伺服器和客戶端的版本,並進行更新操作。
view plain
copy to clipboard
print?
if(getserververcode())else
}
if (getserververcode()) else }
詳細方法:
view plain
copy to clipboard
print?
private
voidnotnewversionshow()
}).create();// 建立
// 顯示對話方塊
dialog.show();
}private
voiddonewversionupdate()
})
.setnegativebutton("暫不更新"
,
newdialoginte***ce.onclicklistener()
}).create();// 建立
// 顯示對話方塊
dialog.show();
}
view plain
copy to clipboard
print?
voiddownfile(finalstring url)
} }
fileoutputstream.flush();
if(fileoutputstream !=null)
down();
}catch(clientprotocolexception e)catch(ioexception e)
} }.start();
} void downfile(final string url) } } fileoutputstream.flush(); if (fileoutputstream != null) down(); } catch (clientprotocolexception e) catch (ioexception e) } }.start(); }
view plain
copy to clipboard
print?
voiddown()
});
} void down() }); }
5. 安裝應用
view plain
copy to clipboard
print?
voidupdate()
Android 應用公升級
獲取版本 public void setversions context context catch packagemanager.namenotfoundexception n public void shownoticedialog context context setnegativebutt...
Android應用的自動公升級 更新模組的實現
出處 我們看到很多android應用都具有自動更新功能,使用者一鍵就可以完成軟體的公升級更新。得益於android系統的軟體包管理和安裝機制,這一功能實現起來相當簡單,下面我們就來實踐一下。首先給出介面效果 1.準備知識 在androidmanifest.xml裡定義了每個android apk的版...
Android自動檢測版本及自動公升級
步驟 1.檢測當前版本的資訊androidmanifest.xml manifest android versionname。2.從伺服器獲取版本號 版本號存在於xml檔案中 並與當前檢測到的版本進行匹配,如果不匹配,提示使用者進行公升級,如果匹配則進入程式主介面。效果圖 獲取當前程式的版本號 獲取...