转自:http://blog.csdn.net/yyywyr/article/details/39248937
有时,在处理业务逻辑的时候,需要Context对象,但在某些情况下,并非容易获取,这时就需要一些巧妙的手段来管理Context。在Android中,提供了一个类Application,当应用程序启动的时候,系统会自动将这个类进行初始化,所以我们可以编写自己的Application类以管理一些全局的状态信息。在这里,以获取全局Context为例。
1、编写自己的Application类
package com.example.testapplication;
import android.app.Application;
import android.content.Context;
/**
* 编写自己的Application,管理全局状态信息,比如Context
* @author yy
*
*/
public class MyApplication extends Application {
private static Context context;
@Override
public void onCreate() {
//获取Context
context = getApplicationContext();
}
//返回
public static Context getContextObject(){
return context;
}
}
接着,需要告知系统,当程序启动的时候应该初始化MyApplication类,而不是默认的Application类。
2、修改AndroidManifest.xml文件
修改application属性:
<application
android:name="com.example.testapplication.MyApplication"
....
>
这样就实现了全局获取Context的机制。
3、使用
无论在任何地方使用,都可以使用如下获取Context对象:
MyApplication.getContextObject();