安卓开发---仿网易云小火箭dialog一个简单的自动更新弹窗以及下载apk

本文介绍了如何在Android应用中实现一个仿网易云小火箭风格的自动更新弹窗。首先获取应用包信息和版本号,然后与服务器数据比较,若版本不一致则显示Dialog提示用户更新。用户选择更新后,通过浏览器下载最新APK。文中提供了布局文件、PNG图片素材及使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先看效果图 前面是网易云的小火箭更新dialog



先说思路吧,想实现自动更新版本,最简单就是获取到应用的包信息,应用版本号,版本名,然后每次登陆的时候从服务器获取当前apk的版本号和版本名,然后进行判断,不一致证明是新版本,弹出dialog 让用户更新,选择立即更新调用浏览器下载(系统自带的),然后就是安装了...balabala

步骤 1,获取包信息,版本号,版本名

/**
 * 返回当前程序版本名  build.gradle
 */
public  String getAppVersionName(Context context) {
    try {
        // ---get the package info---
        PackageManager pm = context.getPackageManager();
        PackageInfo pi = pm.getPackageInfo(context.getPackageName(), 0);
        versionName = pi.versionName;
        versioncode = pi.versionCode;
        LogUtil.d("versionName:---"+versionName,"versioncode:---"+versioncode);
        if (versionName == null || versionName.length() <= 0) {
            return "";
        }
    } catch (Exception e) {
        Log.e("VersionInfo", "Exception", e);
    }
    return versionName;
}
打印的log 

05-18 09:03:17.200 31512-31512/com.hxzh.uniwill.lingjian D/versionName:---1.0.5: versioncode:---5

有一点需要注意,获取的版本号是build.gradle里的

2.通过上面的方法获取到版本名(也就是1.0.5)之后联网获取服务器存的版本名

private String oldVersion,NewVersion,versionmsg,url;
private TextView tvmsg,tvcode;

oldVersion =  getAppVersionName(Activity_login.this);

OkHttpUtils.get(Http_Api.URL_UpdataVersion)
        .params("ostype","1")
        .execute(new StringCallback() {
            @Override
            public void onSuccess(String s, Call call, Response response) {

                updataVserion = JsonUtil.parseJsonToBean(s,Data_updataVserion.class);
                NewVersion = updataVserion.getVersion();
                versionmsg = updataVserion.getMess();
                url = updataVserion.getAddress();
                String[] n = versionmsg.split("n");
                versionmsg = n[0]+"\n"+n[1]+"\n"+n[2];
                if (!NewVersion.equals(oldVersion)){
                    updataDialog.show();
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值