Android中获得上下文的静态方法

如何使用静态方法获取当前的 Context实例?
我不想每次 Context实例改变时都保存一次,请求大师们帮忙寻找解决方法。谢谢!

静态方法中,把context当参数传入就好了呀

方法大致可以分为两种:一是传递Context参数,二是调用全局的Context.
http://www.jb51.net/article/97730.htm

可以写一个Application的单例 每次要使用的时候获取Application的instance.

可以写一个Application的单例 每次要使用的时候获取Application的instance
public class MyApplication extends Application {
public static MyApplication instaApplication = null;
public static Context appContext = null;

@Override
public void onCreate() {
    super.onCreate();
    instaApplication = this;
    appContext = getApplicationContext();
    }
    }

    manifest.xml中
        <application
    android:name="com.xxx.MyApplication"
    这样完成后appContext和instaApplication都可以作为你的全局context用

使用单例模式就可以了,网上一大堆

在自定义的application中定义一个静态Context,然后将application的 context 赋值给他,这样在整个项目工程中都可以静态引用这个context。
一些引用需要的是Activity,而不是Context就只能通过方法参数形式传递管理

  public class AppManger {
    private static AppManger appManger=null;

    public Context getContext() {
        return context;
    }

    public static AppManger getAppManger() {
        if (appManger == null) throw new RuntimeException("请先初始化AppManger");
        return appManger;
    }

    private Context context;

    public static void initAppManger(Context context) {
        if (appManger == null) new AppManger(context);
    }

    private AppManger(Context context) {
        this.context = context;
    }
}

 AppManger.initAppManger(this)/*在Application中初始化一次就不用管了*/

 AppManger.getAppManger().context/*任何地方都可以调用*/

在Application里面定义一个静态的参数
public static Context application;

在onCreate里面对它进行赋值
application = getApplicationContext();

其他地方直接调用就行
BaseApp.application

图片说明