安卓自动更新,静默更新,替换友盟更新可以在通知栏里显示更新下载进度,几行代码快速实现Android下载更新

之前用的友盟更新,但是友盟最近自动跟新业务要停止服务了,所以就自己写了这套自动更新的代码使用起来特别简单,几行代码就可以快速集成


GITHUB源码:https://github.com/qiushi123/AutomaticUpdate


先看效果图
1,进入应用更新弹窗,这个可以自定义(详看代码)



2,可以在应用中查看下载进度,也可以暂停下载



3,下载的通知也会在通知栏里显示



4,下载完成以后可以自动安装





使用步骤

一,添加类库


 compile 'com.lzy.net:okhttputils:1.6.7'
 compile 'com.lzy.net:okhttpserver:0.1.7' //扩展了下载管理和上传管理,根据需要添加
  


二,全局配置
一般在 Aplication,或者基类中,只需要调用一次即可,可以配置调试开关,全局的超时时间,公共的请求头和请求参数等信息
public class GApp extends Application {


    @Override
    public void onCreate() {
        super.onCreate();


        HttpHeaders headers = new HttpHeaders();
        headers.put("commonHeaderKey1", "commonHeaderValue1");   //所有的 header都不支持中文
        headers.put("commonHeaderKey2", "commonHeaderValue2");
        HttpParams params = new HttpParams();
        params.put("commonParamsKey1", "commonParamsValue1");   //所有的 params都 支持 中文
        params.put("commonParamsKey2", "这里支持中文参数");


        //必须调用初始化
        OkHttpUtils.init(this);
        //以下都不是必须的,根据需要自行选择
        OkHttpUtils.getInstance()//
                .debug("OkHttpUtils")                                //是否打开调试
                .setConnectTimeout(OkHttpUtils.DEFAULT_MILLISECONDS) //全局的连接超时时间
                .setReadTimeOut(OkHttpUtils.DEFAULT_MILLISECONDS)    //全局的读取超时时间
                .setWriteTimeOut(OkHttpUtils.DEFAULT_MILLISECONDS)   //全局的写入超时时间
//     .setCookieStore(new MemoryCookieStore())//cookie使用内存缓存(app退出后,cookie消失)
                .setCookieStore(new PersistentCookieStore()) //cookie持久化存储,如果cookie不过期,则一直有效
                .addCommonHeaders(headers)                               //设置全局公共头
                .addCommonParams(params);                               //设置全局公共参数
    }
} 

三,实现下载更新
这里只贴出部分代码,详细代码可以查看项目里的MainActivity类
case R.id.sure_text:
	initNotify();
	downloadInfo = downloadManager.getTaskByUrl(apkUrl);
	notifyLayout.setVisibility(View.GONE);
	downloadLayout.setVisibility(View.VISIBLE);
	if (downloadInfo == null) {
		downloadManager.addTask(apkUrl, listener);
	} else {
		downloadManager.removeTask(downloadInfo.getUrl());
		downloadSize.setText("--M/--M");
		netSpeed.setText("---/s");
		tvProgress.setText("--.--%");
		pbProgress.setProgress(0);
		download.setText("下载中");
		downloadManager.addTask(apkUrl, listener);
	}
	break;

  
GITHUB源码: https://github.com/qiushi123/AutomaticUpdate 
 欢迎stars
  
  
  
  
  
  
  
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值