创建全局 context

1、简介

有的时候我们使用 在新建的类里面,需要使用上下文。
如果采用 传递 context 的方式 容易出错,逻辑顺序也难控制。
所以我们可以采用创建app context 的方式,让app 启动的时候就可以调用这个context.

2、文件结构

在这里插入图片描述

主要就是 MyApplicationContext AndroidManifest.xml 文件
剩下两个附带测试用的。

3、AndroidManifest.xml 文件添加 声明

在这里插入图片描述

4、MyAppliactionContext 文件

package com.example.tssh.myappcontent;

import android.app.Application;
import android.content.Context;
import android.util.Log;

public class MyApplicationContext extends Application {
    private String TAG = "MyApplicationContext: ";
    private static Context context;

    @Override
    public void onCreate() {
        super.onCreate();
        context = getApplicationContext();
        Log.i(TAG,"create  Application context : " + context);
    }

    public static Context getContext(){
        Log.i("MyApplicationContext","get application context : " + context);
        return  context;
    }
}

5、ManiActivity 文件

package com.example.tssh.myappcontent;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MyContentTest.TestMyContent();
    }
}

6、MyContentText 文件

package com.example.tssh.myappcontent;

public class MyContentTest {

    public  static void   TestMyContent() {
        if (MyApplicationContext.getContext() != null) {
            System.out.println("mycontext in not  null");
        }
    }
}

7、log 展示

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_27061049/article/details/85686468