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

全局获取 Context 的技巧

作者: TTTqiu | 来源:发表于2016-05-12 21:07 被阅读607次
    • 当应用程序的架构逐渐开始复杂起来的时候,很多的逻辑代码都将脱离 Activity 类,但此时又恰恰需要使用 Context。
    • Android 提供了一个** Application 类每当应用程序启动的时候,系统就会自动将这个类进行初始化**。
    • 我们可以定制一个自己的 Application 类,以便于管理程序内一些全局的状态信息,比如说全局 Context。
    1. 创建一个自己的 MyApplication 类继承自 Application。
    public class MyApplication extends Application {
        private static Context context;
    
        @Override
        public void onCreate() {
            context = getApplicationContext();
        }
    
        public static Context getContext() {
            return context;
        }
    }
    
    • 重写父类的** onCreate() **方法,并通过调用 getApplicationContext() 方法得到了一个应用程序级别的 Context
    • 又提供了一个静态的 **getContext() **方法,在这里将刚才获取到的 Context 进行返回。
    2. 需要告知系统,当程序启动的时候应该初始化 MyApplication 类,而不是默认的 Application 类。
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.networktest"
        android:versionCode="1"
        android:versionName="1.0" >
        ......
        <application
            android:name="com.example.networktest.MyApplication"
        ......>
        ......
        </application>
    </manifest>
    
    • 注意这里在指定 MyApplication 的时候一定要加上完整的包名,不然系统将无法找到这个类。
    3. 想在项目的任何地方使用 Context,只需要调用 MyApplication.getContext() 就行了。

    相关文章

      网友评论

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

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