Android APK版本更新下载

本文介绍了如何实现Android应用的版本更新功能。通过比较本地APP版本与服务器上的最新版本,当本地版本较低时触发下载更新。流程涉及版本号比较及使用okhttp、okio和gson等第三方库。
摘要由CSDN通过智能技术生成

        今天做了下APK版本更新的功能。其实关于APK版本更新相关的文章网上挺多的,功能实现上也并不难。基本思路就是讲当前APK的版本号和服务器上保存的最新APK包的版本号进行对比,如果当前版本小于最新版本,则进行下载更新。流程图如下:


      

        引用的第三方jar包有okhttp,okio(为了支持okhttp)和gson:

compile 'com.squareup.okio:okio:1.5.0'
compile 'com.squareup.okhttp:okhttp:2.4.0'
compile 'com.google.code.gson:gson:2.3'
        PC端里APK版本列表的数据结构如下:

        APK版本列APK_VERSION

PK

字段名称

字段别名

字段类型

字段长度

是否允许为空

True

id

标识码

NUMBER

(10)

False

False

apk_name

apk名称

NVARCHAR2

500)

False

False

apk_version

apk版本

NVARCHAR2

100)

False

False

apk_size

apk文件大小(M)

NVARCHAR2

(50)

False

False

apk_path

apk打包文件存放路径

NVARCHAR2

2000)

False

False

app_time

apk数据记录时间

NVARCHAR2

20

False

False

app_desc

apk版本更新说明

NVARCHAR2

(500)

True

False

remark

备注

NVARCHAR2

(500)

True


        对应的Android端的数据抽象类为:
public class APKVersionBean {
    private String apkversion;
    private String apkname;
    private String apksize;
    private String apkpath;
    private String apptime;
    private String apkdesr;
    private String remark;

    public String getApkversion() {
        return apkversion;
    }

    public void setApkversion(String apkversion) {
        this.apkversion = apkversion;
    }

    ...
}

        
        首先是进行版本验证功能,每个APP版本设置是在AndroidManifest文件里,如下所示:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.diit.okhttptest"
    android:versionCode="1"
    android:versionName="测试版本">
        versionCode就是版本号,要获取它可以采用 getPackageManager的方法,代码为:
public int getVerCode(Context context){
    int verCode = -1;
    try {
        verCode = context.getPackageManager().getPackageInfo("com.diit.okhttptest", 0).versionCode;
    } catch (PackageManager.NameNotFoundException e) {
        // TODO Auto-generated catch block
        Log.
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值