我正在研究一个SQLiteOpenHelper
我将通过静态方法读取数据库的方法(因为无论如何数据库都是共享的)。是否可以将应用程序上下文设置为:
public static final Context context = XXX;
这应该是可能的吧?因为我显然只是从当前应用程序调用,并且资源和数据库都在应用程序内部共享。
需要明确的是:我想访问 Resources 和SQLiteDatabases
(如果我碰巧对上下文方法有误)。
有没有可能实现?
编辑: 是否可以从这样的内部获取上下文(不将其作为参数传递)
public class foo{
foo(){
XXX.getResources();
}
}
Edit2: 尝试@britzl:s 拳头想法
public class SpendoBase extends Application{
private static Context context;
public SpendoBase(){
System.out.println("SPENDOBASE: " + this);
System.out.println("SPENDOBASE: " + this.getBaseContext());
}
public static Context getContext(){
return this.context;
}
}
我如何掌握上下文?在构造函数中或形成getContext();
PsgetBaseContext()
返回 null,然后getApplicationContext
返回 a nullPointerException
。