您的位置:首页 > 其它

在任意位置获取应用程序Context

2013-04-15 15:37 281 查看
转自:http://bbs.51cto.com/thread-968046-1.html

刚刚在上网的时候看到这样一篇文章,感觉可以和大家分享分享的。通常获取一个Context我都会自己写一个类,通过set的方式来设置context,并通过获取这个类的静态方法来获取context。刚刚在网络看到的这篇其实差不多,不过它是直接继承Application来获取context的。具体如下:

Android程序中访问资源时需要提供Context,一般来说只有在各种component中(Activity, Provider等等)才能方便的使用api来获取Context,如:

this.getApplicationContext();
this.getApplication();
等, 而在某些工具类中要获取就很麻烦了。为此,我们可以自定义一个Application类来实现这种功能。

1. MyApplication.java

import android.app.Application;

public class MyApplication extends Application {
    private static MyApplication instance;

    public static MyApplication getInstance() {
        return instance;
    }

    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        super.onCreate();
        instance = this;
    }
}


2. 然后在manifest中<application>中加入

name="mypackage.MyApplication"


3.使用

在任意类中使用

MyApplication.getInstance();
来获取应用程序Context
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: