android版本更新


版本更新,估计现在大多数app都需要这样的功能,感觉以前写的比较繁琐,正好这次app需要添加这个功能,就想找个比较简单的方法实现;


众所周知,版本更新大致需要三步走:
第一步:获取当前版本号和服务器版本号
第二步:对比两个版本号是否相同,相同进入主页面,不相同弹出更新对话框
第三部:下载apk


繁琐就繁琐到第三步,在网上看了好多demo,几乎都是两年前的demo,所以比较繁琐,今天我们用一个工具类,两行代码搞定;

第一步:获取当前版本号和服务器版本号

//获得当前版本号
        versionCode = AppUtils.getVersionCode(this);

        //假设我们在子线程联网后获取服务器版本号和版本名称(真是项目中都是从服务器获取的)
        int updateCode = 3;
        updateName = "更新免费送英雄,皮肤活动!";

第二步:对比版本号,弹出更新对话框

//然后判断服务器版本号是否和当前版本号一样
        if (updateCode == versionCode) {//发送一个handler进入主页面
            handler.sendEmptyMessage(GO_HOME);
        } else {//弹出对话框提示更新
            handler.sendEmptyMessage(SHOW_DIALOG);
        }
弹出对话框:

    private void showUpdateDialog() {
        //弹出对话框提示更新
        AlertDialog.Builder adb = new AlertDialog.Builder(SplashActivity.this);
        adb.setTitle("发现新版本");
        adb.setMessage(updateName);

        adb.setCancelable(false);//要么点击确定,要么点击取消。否则不会关闭dialog

        adb.setNegativeButton("确定", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
                //下载更新的APK
                downUpdateAPK();
            }
        });
        adb.setPositiveButton("取消", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
                //点击取消进入主页面
                handler.sendEmptyMessage(GO_HOME);
            }
        });
        adb.show();
    }
最重要最繁琐的一步就是下载apk,我们这里直接使用的工具类UpdateManage,直接拉倒项目中即可使用(最低端有源码下载地址);

使用步骤:

UpdateManage updateManage = new UpdateManage(SplashActivity.this, "http://app.192.168.1.100.com/yzsc.apk");
        updateManage.showDownloadDialog();
直接将http://app.192.168.1.100.com/yzsc.apk更改为你们的apk下载路径即可;

demo下载号不要直接运行,我这个apk下载地址是内网的,直接运行没有效果;先把apk下载路径更改以后再运行;




点击打开链接免费下载源码


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值