MCPcopy Index your code
hub / github.com/caikaidev/AppUpdate

github.com/caikaidev/AppUpdate @2.1.5

Chat with this repo
repository ↗ · DeepWiki ↗ · release 2.1.5 ↗ · + Follow
159 symbols 331 edges 24 files 22 documented · 14%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

AppUpdate

Android 检查更新库

屏幕截图

如何使用

配置

  • Step 1.配置jitpack仓库

在根目录的gradle.build中添加jitpack地址:

groovy allprojects { repositories { ... maven { url 'https://jitpack.io' } } }

  • Step 2. 添加库依赖:

groovy dependencies { compile 'com.github.fccaikai:AppUpdate:2.1.4' }

使用

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")
                        //set showToast. default is true
                        .setIsShowToast(false)
                        //add callback ,return new version info
                        .setCallback(new CheckUpdateTask.Callback() {
                                    @Override
                                    public void callBack(VersionModel model,boolean hasNewVersion) {
                                        Log.d(TAG,"new version :" +                                                                         model.getVersionName());
                                    }
                         })
                         .build();
updateWrapper.start();

升级json文件格式:

{
  "versionCode":1,
  "versionName":"1.0.0",
  "content":"1.新增抢单功能#2.性能优化",//使用 # 来进行换行
  "minSupport":1,   //最低支持版本,小于此版本必须强制更新
  "url":"apk download url"
}

自定义UI

  • 自定义Activity 创建一个Activity 继承自UpdateActivity,并重写protected Fragment getUpdateDialogFragment()方法,比如:

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

Activity需要设置为Dialog主题,在Androidmanifest.xml中注册Activity中设置主题

xml <activity android:name=".CustomsUpdateActivity" android:theme="@style/UpdateDialog"> </activity>

  • 自定义FragmentDialog

创建一个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

依赖的库

  • v7-support

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

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

Extension points exported contracts — how you extend this code

Callback (Interface)
(no doc) [2 implementers]
lib/src/main/java/com/kcode/lib/net/CheckUpdateTask.java
ProgressListener (Interface)
(no doc) [2 implementers]
lib/src/main/java/com/kcode/lib/net/DownLoadTask.java
OnFragmentOperation (Interface)
(no doc) [1 implementers]
lib/src/main/java/com/kcode/lib/dialog/DownLoadDialog.java

Core symbols most depended-on inside this repo

show
called by 7
lib/src/main/java/com/kcode/lib/utils/ToastUtils.java
getVersionCode
called by 5
lib/src/main/java/com/kcode/lib/utils/PackageUtils.java
callBack
called by 5
lib/src/main/java/com/kcode/lib/net/CheckUpdateTask.java
build
called by 3
lib/src/main/java/com/kcode/lib/UpdateWrapper.java
getMinSupport
called by 3
lib/src/main/java/com/kcode/lib/bean/VersionModel.java
d
called by 3
lib/src/main/java/com/kcode/lib/log/L.java
cancel
called by 3
lib/src/main/java/com/kcode/lib/net/DownLoadService.java
checkUpdate
called by 3
app/src/main/java/com/kcode/appupdate/MainActivity.java

Shape

Method 130
Class 26
Interface 3

Languages

Java100%

Modules by API surface

lib/src/main/java/com/kcode/lib/dialog/UpdateDialog.java18 symbols
lib/src/main/java/com/kcode/lib/dialog/DownLoadDialog.java18 symbols
lib/src/main/java/com/kcode/lib/UpdateWrapper.java17 symbols
lib/src/main/java/com/kcode/lib/net/DownLoadService.java16 symbols
lib/src/main/java/com/kcode/lib/bean/VersionModel.java12 symbols
lib/src/main/java/com/kcode/lib/net/DownLoadTask.java8 symbols
lib/src/main/java/com/kcode/lib/dialog/UpdateActivity.java8 symbols
lib/src/main/java/com/kcode/lib/net/CheckUpdateTask.java7 symbols
lib/src/main/java/com/kcode/lib/base/AbstractFragment.java7 symbols
app/src/main/java/com/kcode/appupdate/MainActivity.java7 symbols
app/src/main/java/com/kcode/appupdate/CustomsUpdateFragment.java7 symbols
lib/src/main/java/com/kcode/lib/net/TrustAllCertificates.java6 symbols

For agents

$ claude mcp add AppUpdate \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact