亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android ApplicationContext接口深入分析

 更新時(shí)間:2022年11月22日 09:44:35   作者:宋冠巡  
ApplicationContext是Spring應(yīng)用程序中的中央接口,由于繼承了多個(gè)組件,使得ApplicationContext擁有了許多Spring的核心功能,如獲取bean組件,注冊(cè)監(jiān)聽事件,加載資源文件等

需求

Android(Kotlin)獲取應(yīng)用全局上下文 ApplicationContext。

希望可以在應(yīng)用內(nèi)任意位置獲取上下文,而不是僅在 Activity 或 Service 里才能獲取。

ApplicationContext 是和應(yīng)用全局相關(guān)的。

實(shí)現(xiàn)方法

  • 自定義 MyApplication,保存自身的 Application 實(shí)例。
  • MyApplication 配置到 AndroidManifest 中。
  • 定義頂層屬性 appContext,獲取 Application 實(shí)例的applicationContext。

代碼

package com.example.fileio
import android.app.Application
/**
 * 自定義 Application
 */
class MyApplication : Application() {
    companion object {
        lateinit var application: Application
    }
    init {
        application = this
    }
}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    <application
        android:name=".MyApplication"
    </application>
</manifest>

上下文工具類 ContextUtil.kt

package com.example.fileio.util
import android.content.Context
import com.example.fileio.MyApplication
val appContext: Context = MyApplication.application.applicationContext

調(diào)用

可以在應(yīng)用內(nèi)任意位置獲取 ApplicationContext。

Application

用于維護(hù)全局應(yīng)用程序狀態(tài)的基類。

Application | Android Developers (google.cn)

getApplicationContext()

返回當(dāng)前進(jìn)程的單個(gè)全局Application對(duì)象的上下文。

當(dāng)需要一個(gè)生命周期與當(dāng)前上下文分離的上下文時(shí),才應(yīng)該使用該上下文。

該上下文與進(jìn)程的生命周期關(guān)聯(lián),而不是與當(dāng)前組件相關(guān)聯(lián)。

參考

到此這篇關(guān)于Android ApplicationContext接口深入分析的文章就介紹到這了,更多相關(guān)Android ApplicationContext內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論