【发布时间】:2013-04-23 00:32:44
【问题描述】:
我正在处理SQLiteOpenHelper,我将通过静态方法从中读取数据库(因为无论如何数据库都是共享的)。是否可以将应用程序上下文设置为:
public static final Context context = XXX;
应该可以吧?因为我显然只从当前应用程序调用,并且资源和数据库都在应用程序内部共享。
明确一点:我想访问 Resources 和 SQLiteDatabases(如果我碰巧对上下文方法有误)。
有可能实现吗?
编辑: 是否可以从内部获取上下文(不将其作为参数传递)
public class foo{
foo(){
XXX.getResources();
}
}
编辑2: 尝试@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();
getBaseContext() 返回 null,getApplicationContext 则返回 nullPointerException。
【问题讨论】:
-
你想在没有上下文的情况下访问资源吗?
-
如果可能,或者(如果存在)获取一个由整个应用程序共享的“超级上下文”(我可以在不将其作为参数传递的情况下获取它)。
标签: android resources android-context