Skip to content

用于子模块在Application启动时执行初始化代码的库

Notifications You must be signed in to change notification settings

Panjianan/AppInitialzer

Repository files navigation

AppInitialzer

用于子模块在Application启动时执行初始化代码的库

annonation: Download core: Download complier: Download

特点:不用继承Application(demo中只是为了打印一下log)自动执行子模块中标记需要初始化的类

用法:

  1. 根目录下的build.gradle添加maven仓库
allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://dl.bintray.com/tsubasap91/maven' }
    }
}

2.具体子模块中添加依赖

dependencies {
    // AS 3.0以上不用complie了,用api或者implementation
    implementation "com.tsubasa.app_initializer:core:$rootProject.ext.apiVersion"
    // 如果是kotlin的用kapt,参照demo的sample_module2的build.gradle
    annotationProcessor "com.tsubasa.app_initializer:compiler:$rootProject.ext.complierVersion"
    // ....other
}

3.在子模块中创建类,实现IInitializer,添加@Initable注解

sample_module1

@Initable
public class Initializer1 implements IInitializer {
    @Override
    public void init(Context context) {
        Log.e("IInitializer", "java子模块的初始化");
    }
}

sample_module2,kotlin也可以喔

@Initable
class Initializer2 : IInitializer {
    override fun init(context: Context?) {
        Log.e("IInitializer", "kotlin子模块的初始化")
    }
}

image.png

ps:注意每个模块只能放置一个被@Initable标注的类

About

用于子模块在Application启动时执行初始化代码的库

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published