标签:android
在android编程中,大家应该常常会遇到这样的一个问题。android都是需要通过Context来获取res下面的资源,但是我们不可能将所有的代码都写在Activity中,我们通过一些类专门负责对不同资源的处理,也就是说我们可能会遇到在其它文件中通过Context来获取或改变程序状态,我们应该如何在Activity或者继承Activity以外的java文件中获取安卓程序的Context呢?
我们可以定义一个用单例模式定义一个继承Application的类ContextUtils
package com.hcd.itetris.utils;
import android.app.Application;
/**
* Created by hcd on 14-11-8.
* Author:Jvaeyhcd
*/
public class ContextUtils extends Application {
private static ContextUtils instance;
public static ContextUtils getInstance() {
return instance;
}
@Override
public void onCreate() {
super.onCreate();
instance = this;
}
}
注意:
需要在AndroidManifest.xml文件中声明<application android:name="package-name.ContextUtils"/>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hcd.itetris" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/fullscreem"
android:name=".utils.ContextUtils">
<activity
android:name=".TetrisActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>标签:android
原文地址:http://blog.csdn.net/isalvador/article/details/40930077