您的位置:首页 > 移动开发 > Android开发

全局获取Context的技巧

2016-04-12 23:31 330 查看
原理是这样的,Android提供了一个Application类,每当应用程序启动的时候,系统就会自动将这个类进行初始化,。而我们可以定制一个自己的Application类,以便于管理程序内的一些全局的状态信息,比如说全局的Context。

首先我们自定义的Application类代码如下:

public class MyApplication extends Application {
private static Context context;

@Override
public void onCreate() {
super.onCreate();
context=getApplicationContext();
}

public static Context getContent(){
return context;
}

}


代码很是简单,我们重写了onCreate()方法,并且在其中获取了一个应用程序级别的Context实例,

然后又提供了一个getContent()静态的方法,用于获取全局的Context对象

接下来我们就需要告知系统,当程序启动的时候应该初始化MyApplication类,而不是默认的Application类。我们只需要在AndroidManifest文件中的标签下进行指定就可以了。

相关代码如下

<application
//这句就是我们添加的代码
android:name="com.lingzhuo.testservice04.MyApplication"
//仅仅是上面这一行代码
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<activity android:name=".MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>


注意这里在指定MyApplication的时候一定要加上完整的包名,不然系统将无法找到这个类。

这样我们在程序的任何地方都可以通过MyApplication.getContext()方法来获取全局的Context实例了。

这个方法很是实用,大家赶紧试试吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android context 技巧