这里有新鲜出炉的精品教程,程序狗速度看过来!
Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用 "安卓" 或 "安致"。
这篇文章主要介绍了 Android 全局获取 Context 实例详解的相关资料, 需要的朋友可以参考下
Android 全局获取 Context 实例详解
在弹出 Toast 启动活动 发送广播 操作数据库 使用通知等等时都需要 Context
如果操作在活动中进行是很简单的,因为活动本身就是一个 Context 对象
但是当逻辑代码脱离了 Activity 类,此时使用 Context 就需要一些技巧了:
我们可以定制一个自己的 Application 类,以便管理程序内一些全局状态信息,比如全局 Context
代码如下:
- public class MyApplication extends Application {
- private static Context context;
- @Override public void onCreate() {
- context = getApplicationContext();
- }
- public static Context getContext() {
- return context;
- }
- }
重写父类 onCreate() 方法,并通过调用 getApplicationContext() 方法得到应用程序级别的 Context
然后提供静态的 getContext() 方法,将取到的 Context 进行返回
注意:记得在 AndroidManifest.xml 文件的
- <application
- ...
- android:name="com. ... .MyApplication" <——这里最好填上完整包名
- ...
- </application>
这样就实现了全局获取 Context 的机制,在应用程序里任何地方使用 Context 只需调用 MyApplication.getContext() 就可以了
如:
Toast.makeText(MyApplication.getContext(),"全局 Context",Toast.LENGTH_SHORT).show();
如果还用到其他的 Application,则可以在 MyApplication 中的 OnCreate() 方法中调用其他 Application 的初始化方法即可
来源: http://www.phperz.com/article/17/0817/337515.html