Skip to content

welir/AppUpdate

This branch is 1 commit ahead of, 18 commits behind caikaidev/AppUpdate:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

51f95d5 · Oct 31, 2017

History

37 Commits
Sep 25, 2017
Sep 25, 2017
Apr 11, 2017
Oct 31, 2017
Mar 10, 2017
Mar 9, 2017
Sep 25, 2017
Sep 25, 2017
Apr 11, 2017
Mar 9, 2017
Mar 9, 2017
Mar 9, 2017
Mar 9, 2017

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

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

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

About

android app update library

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%