android学习笔记——全局获取Context的技巧

来源:互联网 发布:淘宝模特工资一般多少 编辑:程序博客网 时间:2024/05/17 09:12
当应用程序的架构逐渐开始复杂起来的时候,很多的逻辑代码都将脱离Activity类,但此时你又恰恰需要使用Context,这时候该怎么办呢?

首先我们能想到的解决办法就是在调用逻辑的方法时传入了Context这个参数,由此来得到Context进行操作。
但是,这种方式显然就是在将责任推卸到了调用的一方,并不可取。

那么,除了上述的传入参数的方式外,我们还有什么方式来解决Context问题?
下面我来介绍另一种方式。
Android提供了一个Application类,每当应用程序启动的时候,系统就会自动将这个类进行初始化。而我们可以定制一个自己的Application类,以便于管理程序内一些全局的状态信息,比如全局Context。

定制一个自己Application并不复杂,首先我们需要创建一个MyApplication类来继承自Application

public class MyApplication extends Application {
    private static Context context;
    @Override
    public void onCreate() {
        context = getApplicationContext();
    }
    public static Context getContext(){
        return context;
    }
}

接下来我们需要告知系统,当程序启动的时候应该初始化MyApplication类,而不是默认的Application类。
在AndroidManifest.xml文件中<application>标签下指定一下就可以了。

<application
     .....
     .....
   android:name=".MyApplication">

就这样我们就可以在要使用到Context的地方使用MyApplication.getContext()的方法来获取到Context对象了。
0 0
原创粉丝点击