美文网首页Android 成长笔记
Android 获取全局 Context 对象

Android 获取全局 Context 对象

作者: 赵者也 | 来源:发表于2018-01-09 17:24 被阅读7次

    该方法主要是利用 Application 类,每当应用程序启动的时候,系统就会自动将这个类进行初始化。而我们就可以利用这一点,定制一个全局的 Context 对象。

    下面是自定义 Application 类 MyApplication 的代码:

    import android.app.Application;
    import android.content.Context;
    
    /**
     * Created by toby on 18-1-9.
     */
    
    public class MyApplication extends Application {
        private static Context context;
    
        @Override
        public void onCreate() {
            super.onCreate();
            context = getApplicationContext();
        }
    
        public static Context globalContext() {
            return context;
        }
    }
    

    我们需要在 AndroidManifest.xml 中对原有的 Application 标签进行一些修改,主要是修改 Application 标签的 name 属性:

    ...
        <application
            android:name=".MyApplication"
            android:allowBackup="true"
    ...
    

    使用的实例:

    Toast.makeText(MyApplication.globalContext(), "设备正在晃动...",Toast.LENGTH_SHORT).show();
    

    本文参考自 《Android 第一行代码》

    相关文章

      网友评论

      • Q大疯zi:不要随便声明变量context为static的,易发生内存泄露
        Q大疯zi:@赵者也 是的
        赵者也:此时需要注意传递给单例对象的 Context 最好是 Application Context。

      本文标题:Android 获取全局 Context 对象

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