首页 > 代码库 > android实现任意文件访问Context
android实现任意文件访问Context
在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; } }
在工程代码任何位置,都可以通过ContextUtils.getInstance()来获取Android程序的Context。
注意:
需要在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实现任意文件访问Context
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。