Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

caikaidev/AppUpdate

Repository files navigation

AppUpdate

中文文档

android app update library

Screenshots

Usage

setup

  • Step 1. Add the JitPack repository to your build file

    Add it in your root build.gradle at the end of repositories:

    allprojects {
    	repositories {
    		...
    		maven { url 'https://jitpack.io' }
    	}
    }
  • Step 2. Add the dependency

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

usage

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

The update json format:

{
 "versionCode":1,
 "versionName":"1.0.0",
 "content":"1.add something#2.add something",//use # to wrap
 "minSupport":1,	//min support version. while your app versionCode less than minSupport,You must update app
 "url":"apk download url"
}

Custom

  • create custome Activity

    create an activity extents UpdateActivity ,and Override protected Fragment getUpdateDialogFragment().like :

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

    set Activity theme as Dialog to,in Androidmanifest.xml

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

  • create custom FragmentDialog

    create a FragmentDialog extends UpdateDialog.like:

    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);
     }
    }
  • set Custom Activity

    UpdateWrapper.Builder builder = ...;
    builder.setCustomsActivity(CustomsUpdateActivity.class);
    ...
    builder.build().start();

    see the demo .

Library

  • v7-support

    implementation 'androidx.appcompat:appcompat:1.6.1'

If you don't want to use,you can exclude it.

About

android app update library

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

Languages

AltStyle によって変換されたページ (->オリジナル) /