我对android studio和java一般都很陌生,所以这看起来像是一个愚蠢的问题,但无论如何它仍然存在:
我有一个名为“database”的SQLiteOpenHelper类(我用来做各种数据库的东西),我想从strings.xml中获取一个字符串。
这是我的背景:
public database(Context context) {
super(context,
DB_NAME_CORE + context.getResources().getString(R.string.db_version),
null,
context.getResources().getInteger(R.integer.db_version_int));
String db_version = context.getResources().getString(R.string.db_version);
this.context = context;
}
有了这个,我可以得到我想要的字符串(db_version),但我无法弄清楚如何在“context”或“onCreate”之外使用它。
因此;如何在context / onCreate之外使用字符串“db_version”?
有可能吗?或不?我不知道..
答案 0 :(得分:0)
getString()
方法是part of the Context class。因此,只要您想通过getString()
调用xml资源,就必须传递上下文。
如果你真的不能/不想传递/使用上下文,你应该保存在SharedPreference或Java常量中。
答案 1 :(得分:0)
我认为将数据库版本号存储在strings.xml文件中并不理想。简单地创建一个私有静态final int DATABASE_VERSION = n会好得多;直接在你的助手班。
这样你首先就不会对字符串资源文件产生奇怪的依赖。