上下文对象
时间: 2023-06-30 12:13:59 浏览: 107
上下文对象(Context)是Android中一个重要的概念,它代表了当前应用程序的运行环境。每个Activity、Service、BroadcastReceiver、ContentProvider等组件都是一个Context对象,它们都继承自Context类或其子类。
Context对象提供了许多与应用程序环境相关的方法,例如获取应用程序包名、获取资源、启动Activity、发送Broadcast等等。通过Context对象,我们可以访问应用程序的各种资源和服务,同时也可以在应用程序中创建新的组件。
在Android中,我们经常需要传递一个Context对象作为参数,例如在创建Intent对象、创建Toast提示或者在获取SharedPreferences等操作时。通常情况下,我们可以使用当前的Activity作为上下文对象,例如:
```java
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
```
这里的MainActivity就是当前的Activity,它继承自Context类,可以作为一个Context对象来使用。
另外,在某些情况下,我们也可以使用ApplicationContext作为上下文对象,例如在创建全局的单例对象时,可以使用Application作为上下文对象,例如:
```java
public class MyApp extends Application {
private static MyApp instance;
@Override
public void onCreate() {
super.onCreate();
instance = this;
}
public static MyApp getInstance() {
return instance;
}
}
```
这里的MyApp继承自Application类,它是一个全局的单例对象,可以在整个应用程序中使用。在这个例子中,我们将MyApp对象保存在静态变量中,然后通过getInstance()方法来获取它。在获取SharedPreferences等操作时,我们可以使用MyApp.getInstance()作为上下文对象。