开源项目AndroidAndroid开发

Android App检查更新库

2017-03-13  本文已影响1301人  猿圆猿

AppUpdate

Android 检查更新库

屏幕截图

如何使用

配置

使用

UpdateWrapper updateWrapper = new UpdateWrapper.Builder(getApplicationContext())
                        //set interval Time
                        .setTime(time)
                        //set notification icon
                        .setNotificationIcon(R.mipmap.ic_launcher_round)
                        //set update file url
                        .setUrl("you update json file url").build();
updateWrapper.start();

升级json文件格式:

{
  "versionCode":1,
  "versionName":"1.0.0",
  "content":"1.新增抢单功能#2.性能优化",//使用 # 来进行换行
  "mustUpdate":true,    //是否强制 ,true or false
  "url":"apk download url"
}

自定义UI

public class CustomsUpdateActivity extends UpdateActivity {
    @Override
    protected Fragment getUpdateDialogFragment() {
        return CustomsUpdateFragment.newInstance(mModel);
    }
}

创建一个FragmentDialog,继承自UpdateDialog,代码如下:

public class CustomsUpdateFragment extends UpdateDialog {

  public static CustomsUpdateFragment newInstance(VersionModel model) {

      Bundle args = new Bundle();
      args.putSerializable(Constant.MODEL, model);
      CustomsUpdateFragment fragment = new CustomsUpdateFragment();
      fragment.setArguments(args);
      return fragment;
    }

    @Override
    protected int getLayout() {
        return R.layout.fragment_update_dialog;
    }

    @Override
    protected void setContent(View view, int contentId) {
        super.setContent(view, R.id.content);
    }

    @Override
    protected void bindUpdateListener(View view, int updateId) {
        super.bindUpdateListener(view, R.id.update);
    }

    @Override
    protected void bindCancelListener(View view, int cancelId) {
        super.bindCancelListener(view, R.id.cancel);
    }

    @Override
    protected void initIfMustUpdate(View view, int id) {
        super.initIfMustUpdate(view, R.id.cancel);
    }
}
 UpdateWrapper.Builder builder = ...;
 builder.setCustomsActivity(CustomsUpdateActivity.class);
 ...
 builder.build().start();

具体使用请查看demo

依赖的库

compile 'com.android.support:appcompat-v7:25.2.0'

如果你不想使用这两个库,可以使用exclude排除

源码地址:AppUpdate

上一篇 下一篇

猜你喜欢

热点阅读