[Android] 014. アプリ初期化処理

ログのセットアップなどはApp Startupを利用してアプリ起動時に実行が良いと思います

詳しくは以下
https://developer.android.com/topic/libraries/app-startup

/**
 * ```AndroidManifest.xml
 * <application>
 *   <provider
 *       android:name="androidx.startup.InitializationProvider"
 *       android:authorities="${applicationId}.androidx-startup"
 *       tools:node="merge">
 *       <meta-data
 *           android:name="(package).AppInitializer"
 *           android:value="androidx.startup"/>
 *     </provider>
 * </application>
 * ```
 */
class AppInitializer: Initializer<Boolean> {
    override fun create(context: Context): Boolean {
        //TODO: ここに初期化処理
        return true
    }

    override fun dependencies(): List<Class<out Initializer<*>>> {
        return emptyList()
    }
}

fun setupAppInitializer(context: Context) {
    androidx.startup.AppInitializer.getInstance(context).initializeComponent(AppInitializer::class.java)
}

/**
 * ```AndroidManifest.xml
 * <application
 *     android:name=".Application"
 * ```
 */
class Application: android.app.Application() {
    override fun onCreate() {
        super.onCreate()

        setupAppInitializer(this)
    }
}

Android Studio Dolphin 2021.3.1 Patch 1 built on September 30, 2022