33.Context

什么是 Context

Context 是一个抽象类,它提供了访问应用环境的接口。它常用于以下几种操作:

  1. 访问资源:如字符串、图片、布局文件等。
  2. 启动活动:如启动新的Activity、Service等。
  3. 获取系统服务:如LayoutInflater、AlarmManager、NotificationManager等。
  4. 访问数据库:如访问SharedPreferences和SQLite数据库。

Context 的类型

在Android中,Context 有几个具体的实现类,最常见的有以下几种:

  1. Application Context

    • 由应用实例提供,生命周期与应用相同。
    • 适用于需要在应用的整个生命周期中使用的操作,如全局单例、服务启动等。
  2. Activity Context

    • 由Activity实例提供,生命周期与Activity相同。
    • 适用于与Activity生命周期相关的操作,如UI组件的操作、启动新的Activity等。
  3. Service Context

    • 由Service实例提供,生命周期与Service相同。
    • 适用于服务的操作,如后台任务、通知等。

Context 的常见使用场景

1. 访问资源

使用 Context 来访问应用的资源,如字符串、图片等。

val appName = context.getString(R.string.app_name)
val logo = context.getDrawable(R.drawable.logo)
2. 启动活动

使用 Context 启动新的Activity。

val intent = Intent(context, AnotherActivity::class.java)
context.startActivity(intent)
3. 获取系统服务

使用 Context 获取系统服务,如LayoutInflater、AlarmManager等。

val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
val alarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager
4. 访问 SharedPreferences

使用 Context 访问应用的SharedPreferences。

val sharedPreferences = context.getSharedPreferences("MyPreferences", Context.MODE_PRIVATE)
val editor = sharedPreferences.edit()
editor.putString("key", "value")
editor.apply()

 

你可能感兴趣的:(Android学习,java,开发语言)