标签: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