Younix's Studio.

SOP_全局获取Context方法

字数统计: 193阅读时长: 1 min
2018/08/11 Share

利用 Application 类.
当应用程序启动时 , 系统会自动对 Applicaiton 类进行初始化.
我们可以定制自己的一个 Application 类, 以便于管理程序内的 全局状态信息.

自定义 WholeApplication 类

1
2
3
4
5
6
7
8
9
10
11
public class WholeApplication extends Application {
private static Context context;

public void onCreate() {
context = getApplicationContext();
}

public static Context getContext() {
return context;
}
}

告知系统,程序启动时应该初始化 WholeApplication 而不是 Application

1
2
3
4
<application 
android:name="com.iyounix.practice.wholeapplication" >

</application>

使用方法

任何想要用到 context 的地方 , 使用 WholeApplication.getContext() , 比如:

1
Toast.makeText(WholeApplication.getContext(), "test" , Toast.LENGTH_SHORT).show();

问题

比如为了让 litepal 正常工作 , 需要声明 :

1
2
3
4
<application 
android:name="org.litepal.LitePalApplication"
...>
</application>

并且在 WholeApplication 的 onCreate() 中初始化:

1
2
3
4
public void onCreate() {
context = getApplicationContext();
LitePalApplication.initialize(context);
}

CATALOG
  1. 1. 自定义 WholeApplication 类
  2. 2. 告知系统,程序启动时应该初始化 WholeApplication 而不是 Application
  3. 3. 使用方法
  4. 4. 问题