Androidのソフトウェアアップデートについて

ソフトウェアのアップデート、簡単なスピーチについての質問。

まず、あなたは、ソフトウェア更新プログラムを更新する必要があるかどうかを判断する必要があります。あなたが更新する必要がある場合は、更新されたリンクを取得する必要があります。私たちは、単純なシステムとしてこれを見ることができます。クライアントの要求とそれに対応するサーバーが必要です。簡単にするために、我々はとAPKダウンロードの最新バージョン(バージョン番号がintの簡単な比較のタイプであるため、可能な限りここで、バージョン番号)XMLファイルには、最新のクライアントバージョン番号が含まれている、単純なXMLファイルを置くためにサービスを終了します。

1 <update>
2 <version>2</version>
3 <url>http://www.youdoman.com/apk.apk</url>
4 </update>

その上、このような単純なサーバー・サイド。    

クライアントは、このXMLを読み込む必要がある、とサックスの解像度による。最新のバージョン番号と、その後の数字が異なるサーバーのバージョン番号を持つクライアントのバージョン番号を更新する必要がある場合に、ネットワークは、比較を読んで従って、クライアントのバージョンを取得し、システムが更新さAPKをダウンロードする意図を呼び出します。

 1 //获取软件系统版本号
2 public class AppStatus {
3 protected static int getAppVersionId(Context ctx) {
4 try {
5 return ctx.getPackageManager().getPackageInfo(ctx.getPackageName(),0).versionCode;
6 } catch (NameNotFoundException e) {
7 // TODO Auto-generated catch block
8 return -1;
9 }
10 }
11 }

時には、我々は適切な更新データや統計データの一部を選択するために使用する電話システム上のいくつかのデータを取得する必要があるかもしれません。より正確な更新と選択をユーザーに提供するために、私たちに、より有益に、より多くのデータを取得します。

 1 public class PhoneStatus {
2 //获取手机的IMEI号
3 protected String getImei(Context ctx){
4 TelephonyManager telephonyManager=(TelephonyManager) ctx.getSystemService(Context.TELEPHONY_SERVICE);
5 return telephonyManager.getDeviceId();
6 }
7 //获得手机型号
8 protected String getModel(Context ctx) {
9 return android.os.Build.MODEL;
10 }
11 //获得系统固件版本
12 protected String getTarget(Context ctx) {
13 return android.os.Build.VERSION.RELEASE;
14 }
15 //获得系统固件版本号
16 protected String getSDK(Context ctx) {
17 return android.os.Build.VERSION.SDK;
18 }
19 }

私たちは、サーバーにデータを取得している限り、サーバは返されたデータを決定するための詳細な情報によって決定することができます。APKは、システムの意思を通じてAPKをダウンロードしてインストールすることができた後、URLの新しいバージョンが入手します。

ます。https://my.oschina.net/weisenz/blog/200616で再現

おすすめ

転載: blog.csdn.net/weixin_33830216/article/details/91920870
おすすめ