文章目录

  • 1、简介
  • 2、文件结构
  • 3、AndroidManifest.xml 文件添加 声明
  • 4、MyAppliactionContext 文件
  • 5、ManiActivity 文件
  • 6、MyContentText 文件
  • 7、log 展示


1、简介

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

2、文件结构

创建全局 context   Application_xml

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

3、AndroidManifest.xml 文件添加 声明

创建全局 context   Application_android_02

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 展示

创建全局 context   Application_android_03