在上下文之外使用上下文中的字符串

时间:2014-09-20 18:26:09

标签: java android

我对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”?

有可能吗?或不?我不知道..

2 个答案:

答案 0 :(得分:0)

getString()方法是part of the Context class。因此,只要您想通过getString()调用xml资源,就必须传递上下文。

如果你真的不能/不想传递/使用上下文,你应该保存在SharedPreference或Java常量中。

答案 1 :(得分:0)

我认为将数据库版本号存储在strings.xml文件中并不理想。简单地创建一个私有静态final int DATABASE_VERSION = n会好得多;直接在你的助手班。

这样你首先就不会对字符串资源文件产生奇怪的依赖。