Android程序中访问资源时需要提供Context,一般来说只有在各种component中(Activity, Provider等等)才能方便的使用api来获取Context对象, 如果在编写工具类时需要使用到Context对象可以通过如下方式获取。
我们可以通过自定义一个Application类来实现。
在src/main/java/包下新建一个继承于Application的类,这里叫MyApplication,目录结构如下:一定要在java目录下,不然会找不到
MyApplication
package com.example.cashbook;
import android.app.Application;
import android.content.Context;
/**
* @author wh445306
* @version 1.0
* @Description MyApplication
* @Date 2023-06-16 1:59
*/
public class MyApplication extends Application {
public static Context context;
@Override
public void onCreate() {
super.onCreate();
context = this;
}
}
然后打开AndroidManifest.xml,添加
<application
android:name=".MyApplication"
然后我们就可以在任意工具类中通过
MyApplication.context
获取并使用: