Giter VIP home page Giter VIP logo

updatehelper's Introduction

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第一个版本

updatehelper's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.