全局获取Context的技巧
2016-04-12 23:31
330 查看
原理是这样的,Android提供了一个Application类,每当应用程序启动的时候,系统就会自动将这个类进行初始化,。而我们可以定制一个自己的Application类,以便于管理程序内的一些全局的状态信息,比如说全局的Context。
首先我们自定义的Application类代码如下:
代码很是简单,我们重写了onCreate()方法,并且在其中获取了一个应用程序级别的Context实例,
然后又提供了一个getContent()静态的方法,用于获取全局的Context对象
接下来我们就需要告知系统,当程序启动的时候应该初始化MyApplication类,而不是默认的Application类。我们只需要在AndroidManifest文件中的标签下进行指定就可以了。
相关代码如下
注意这里在指定MyApplication的时候一定要加上完整的包名,不然系统将无法找到这个类。
这样我们在程序的任何地方都可以通过MyApplication.getContext()方法来获取全局的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实例了。
这个方法很是实用,大家赶紧试试吧。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories