Skip to content

UpdateHelper是一个只需一行代码即可实现APP在线升级的Android Library。

License

Notifications You must be signed in to change notification settings

shelwee/UpdateHelper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UpdateHelper

Travis Hex.pm Hex.pm

UpdateHelper 是什么?

UpdateHelper 是一个只需一行代码即可实现APP在线升级的 Android Library。

UpdateHelper 是干什么的?

这个项目是为了简化 Android APP 的迭代升级开发,任何一个项目只要引入这个 library 便集成了在线检查新版本的功能以及下载 APK 功能。

UpdateHelper 要怎么使用?

1.首先服务器端需要提供一个接口,返回 JSON 数据格式如下:

    {   
        "appName": "TestUpdate", 
        "versionCode": "1", 
        "versionName": "1.0", 
        "apkUrl": "http://www.shelwee.com/404.apk", 
        "changeLog":"1.修复xxx Bug;\n2.更新UI界面.", 
        "updateTips": "更新提示" ,
        "forceUpgrade": true    //当有新版本时,APP 将会自动下载安装包
    }

2.客户端操作如下:

    UpdateHelper updateHelper = new UpdateHelper.Builder(this)
				.checkUrl("http://www.shelwee.com/check.jsp")
				.isAutoInstall(false) //设置为false需在下载完手动点击安装;默认值为true,下载后自动安装。
		        .build();
	updateHelper.check(); 
	/**
	或者使用下面的方式,针对复杂需求的可重写回调方法
	updateHelper.check(new OnUpdateListener() {
			
			@Override
			public void onStartDownload() {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void onStartCheck() {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void onFinshDownload() {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void onFinishCheck(UpdateInfo info) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void onDownloading(int progress) {
				// TODO Auto-generated method stub
				
			}
		});
    */

UpdateHelper 需要哪些权限?

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

UpdateHelper 原理是什么?

UpdateHelper 通过接口返回的数据 versionCode,与当前 APP 的 versionCode 匹配,如果版本号比当前 APP 的 versionCode 大,则存在新版本,弹出更新提示对话框;否则提示当前版本是最新版。

注:当遇到网络中断或阻塞等问题时,处理方式也为提示当前版本是最新版。

UpdateHelper 运行截图

Change Logs


Version 1.0 - Released date: 1-8-2017

- 从 ADT 转换成 Android Studio 项目
- 优化部分代码实现逻辑
- 网络部分全部改为 HttpURLConnection 实现
- 修复下载过程与通知栏进度条卡顿情况
- 提示文字全部提取到 strings.xml,方便国际化操作
- 新增强制升级功能,通过后台接口 JSON 返回 forceUpgrade:true/false

Version 0.2 - Released date: 3-26-2016

- 新增校验文件是否已下载

Version 0.1 - Released date: 5-8-2014

- 发布UpdateHelper第一个版本

About

UpdateHelper是一个只需一行代码即可实现APP在线升级的Android Library。

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages