Code Monkey home page Code Monkey logo

appupdater's Introduction

AppUpdater

Image

Download JCenter JitPack CI CircleCI API License Blog QQGroup

AppUpdater for Android 是一个专注于App更新,一键傻瓜式集成App版本升级的轻量开源库。(无需担心通知栏适配;无需担心重复点击下载;无需担心App安装等问题;这些AppUpdater都已帮您处理好。) 核心库主要包括app-updater和app-dialog。

下载更新和弹框提示分开,是因为这本来就是两个逻辑。完全独立开来能有效的解耦。

  • app-updater 主要负责后台下载更新App,无需担心下载时各种配置相关的细节,一键傻瓜式升级。
  • app-dialog 主要是提供常用的Dialog和DialogFragment,简化弹框提示,布局样式支持自定义。

app-updater + app-dialog 配合使用,谁用谁知道。

功能介绍

  • 专注于App更新一键傻瓜式升级
  • 够轻量,体积小
  • 支持监听下载过程
  • 支持下载失败,重新下载
  • 支持下载优先取本地缓存
  • 支持通知栏提示内容和过程全部可配置
  • 支持Android Q(10)
  • 支持取消下载
  • 支持使用OkHttpClient下载

Gif 展示

Image

引入

Maven:

    //app-updater
    <dependency>
      <groupId>com.king.app</groupId>
      <artifactId>app-updater</artifactId>
      <version>1.0.8</version>
      <type>pom</type>
    </dependency>
    
    //app-dialog
    <dependency>
      <groupId>com.king.app</groupId>
      <artifactId>app-dialog</artifactId>
      <version>1.0.8</version>
      <type>pom</type>
    </dependency>

Gradle:

    //----------AndroidX 版本
    //app-updater
    implementation 'com.king.app:app-updater:1.0.8-androidx'
    //app-dialog
    implementation 'com.king.app:app-dialog:1.0.8-androidx'
    
    //----------Android Support 版本
    //app-updater
    implementation 'com.king.app:app-updater:1.0.8'
    //app-dialog
    implementation 'com.king.app:app-dialog:1.0.8'

Lvy:

    //app-updater
    <dependency org='com.king.app' name='app-dialog' rev='1.0.8'>
      <artifact name='$AID' ext='pom'></artifact>
    </dependency>
    
    //app-dialog
    <dependency org='com.king.app' name='app-dialog' rev='1.0.8'>
      <artifact name='$AID' ext='pom'></artifact>
    </dependency>
如果Gradle出现compile失败的情况,可以在Project的build.gradle里面添加如下:(也可以使用上面的GitPack来complie)
    allprojects {
        repositories {
            //...
            maven { url 'https://dl.bintray.com/jenly/maven' }
        }
    }

示例

    //一句代码,傻瓜式更新
    new AppUpdater(getContext(),url).start();
    //简单弹框升级
    AppDialogConfig config = new AppDialogConfig();
    config.setTitle("简单弹框升级")
            .setOk("升级")
            .setContent("1、新增某某功能、\n2、修改某某问题、\n3、优化某某BUG、")
            .setOnClickOk(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    new AppUpdater.Builder()
                            .serUrl(mUrl)
                            .build(getContext())
                            .start();
                    AppDialog.INSTANCE.dismissDialog();
                }
            });
    AppDialog.INSTANCE.showDialog(getContext(),config);
    //简单DialogFragment升级
    AppDialogConfig config = new AppDialogConfig();
    config.setTitle("简单DialogFragment升级")
            .setOk("升级")
            .setContent("1、新增某某功能、\n2、修改某某问题、\n3、优化某某BUG、")
            .setOnClickOk(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    new AppUpdater.Builder()
                            .serUrl(mUrl)
                            .setFilename("AppUpdater.apk")
                            .build(getContext())
                            .setHttpManager(OkHttpManager.getInstance())//使用OkHttpClient实现下载,需依赖okhttp库
                            .start();
                    AppDialog.INSTANCE.dismissDialogFragment(getSupportFragmentManager());
                }
            });
    AppDialog.INSTANCE.showDialogFragment(getSupportFragmentManager(),config);

更多使用详情,请查看app中的源码使用示例或直接查看API帮助文档

版本记录

v1.0.8:2020-1-2

  • 支持MD5校验
  • 对外提供获取Dialog方法

v1.0.7:2019-12-18

  • 优化细节

v1.0.6:2019-11-27

  • 新增OkHttpManager 如果使用了OkHttpManager则必须依赖okhttp
  • 优化细节 (progress,total 变更 int -> long)

v1.0.5:2019-9-4

  • 支持取消下载

v1.0.4:2019-6-4 开始支持AndroidX版本

  • 支持添加请求头

v1.0.3:2019-5-9

  • 新增支持下载APK优先取本地缓存,避免多次下载相同版本的APK文件
  • AppDialog支持隐藏Dialog的标题

v1.0.2:2019-3-18

  • 新增通知栏是否震动和铃声提示配置
  • AppDialogConfig新增getView(Context context)方法

v1.0.1:2019-1-10

  • 升级Gradle到4.6

v1.0 :2018-6-29

  • AppUpdater初始版本

赞赏

如果您喜欢AppUpdater,或感觉AppUpdater帮助到了您,可以点右上角“Star”支持一下,您的支持就是我的动力,谢谢 😃

您也可以扫描下面的二维码,请作者喝杯咖啡 ☕

关于我

Name: Jenly

Email: jenly1314#gmail.com / jenly1314#vip.qq.com

CSDN: jenly121

CNBlog: jenly

Github: jenly1314

加入QQ群: 20867961

appupdater's People

Contributors

jenly1314 avatar

Watchers

 avatar

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.