美文网首页
全局获取Context的技巧

全局获取Context的技巧

作者: 高巨龙 | 来源:发表于2018-04-18 13:00 被阅读7次

    回想这么久以来我们所学的内容,你会发现有很多地方都需要用到Context,弹出Toast的时候需要、启动活动的时候需要、发送广播的时候需要、操作数据库的时候需要、使用通知的时候需要等等等等。

    Android提供了一个Application类,每当应用程序启动的时候,系统就会自动将这个类进行初始化。而我们可以定制一个自己的Application类,以便于管理程序内一些全局的状态信息,比如说全局Context。
    定制一个自己Application其实并不复杂,首先我们需要创建一个MyApplication类继承自Application,代码如下所示:
    public class MyApplict extends Application {
    public static Context context;
    @Override
    public void onCreate() {
        super.onCreate();
        context=getApplicationContext();
    }
    public static Context getContext(){
    
        return context;
    }
    
    可以看到,MyApplication中的代码非常简单。这里我们重写了父类的onCreate()方法,并通过调用getApplicationContext()方法得到了一个应用程序级别的Context,然后又提供了一个静态的getContext()方法,在这里将刚才获取到的Context进行返回。
    接下来我们需要告知系统,当程序启动的时候应该初始化MyApplication类,而不是默认的Application类。这一步也很简单,在AndroidManifest.xml文件的<application>标签下进行指定就可以了,代码如下所示:
    <application
        android:name=".MyApplict"
        android:allowBackup="true"
    .......
        </activity>
    </application>
    

    参考资料:《第一行代码》

    相关文章

      网友评论

          本文标题:全局获取Context的技巧

          本文链接:https://www.haomeiwen.com/subject/ruevkftx.html