Android app更新功能

本文记录了Android客户端更新功能的实现过程,包括在网络连通情况下检查更新、比对服务器与本地版本号、提示用户更新、下载及安装新版本的详细步骤。同时,提到了Android 6.0以上版本动态申请权限以及7.0以上版本的兼容性问题。
摘要由CSDN通过智能技术生成

最近公司客户端做了升级功能,感觉学到了不少东西,因此做下记录,以备后续查看。
检查版本更新可以放在splash页面,也可以放在主页面。
在这里插入图片描述
上图是更新app的思维导图,画的不是很好,大家能看懂就好哈。 我在网上找了一个更加清楚的流程图,大家可以看下这个,说的更详细。
在这里插入图片描述

检查更新的步骤大体分为以下三步:
1.首先判断网络是否连通,如果网络连通则走更新app线程,否则跳过更新app线程。
2.更新线程首先获取服务器app版本号,如果版本号大于本地版本号时,提示用户更新本地app版本。
3.更新版本时,首先从服务器下载app最新版本到手机,接着安装替换旧版本。

(1)判断网络是否连通,且不在wifi状态下时提示用户是否用流量下载更新

public static int getNetworkState(Context context) {
      //得到连接管理器对象
    ConnectivityManager connectivityManager = (ConnectivityManager) context
        .getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
    if (networkInfo != null && networkInfo.isConnected()) {
         if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
         return NETWORK_WIFI;
    } else if (networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
        return NETWORK_MOBILE;
    }
} else {
    return NETWORK_NONE;
}
return NETWORK_NONE;
}

(2)网络请求服务器获取服务器版本号,和本地版本号做对比
请求网络工具类:

public class RequestServer {
private static String TAG = "url";
public static String RequestServer(String urlString) {
    BufferedReader br = null;
    HttpURLConnection conn = null;
    StringBuilder sb = new StringBuilder();
    try {
        URL reqURL = new URL(urlString);
        conn = (HttpURLConnection) reqURL.openConnection();
        conn.setRequestMethod("GET");
        conn.setConnectTimeout(10000);
        //打开网络通讯输入流
        int code = conn.getResponseCode();
        LogUtil.e("code","code:"+code);
        if (code != 200){
            return null;
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值