gpt4 book ai didi

android - 如何在android中使用多个数据库,如多种语言

转载 作者:行者123 更新时间:2023-11-29 15:51:30 24 4
gpt4 key购买 nike

我有两个数据库来支持我的应用程序的两种语言。

我想在设置中更改语言时更改数据库。

这可能吗?我该怎么做?

最佳答案

当您提供带有数据库名称的字符串资源时,这应该很容易实现:

/res/values/strings.xml 中放这样一行:

<string name="db_name">database</string>

/res/values-de/strings.xml 中放置该行:

<string name="db_name">database_de</string>

并在您的 DBHelper 类中根据语言设置使用当前 Activity 的字符串文件的数据库名称:

public class DBHelper extends SQLiteOpenHelper {

private final static int DB_VERSION = 1;
private static DBHelper sInstance;

/**
* Provides access to DBHelper singleton.
* @param context
* @return
*/
public static DBHelper getInstance(Context context) {
// Use the application context, which will ensure that you
// don't accidentally leak an Activity's context.
// See this article for more information: http://bit.ly/6LRzfx
if (sInstance == null) {
sInstance = new DBHelper(context.getApplicationContext());
}
return sInstance;
}

/**
* Constructor should be private to prevent direct instantiation.
* make call to static factory method "getInstance()" instead.
*/
private DBHelper(Context context) {
// here comes the magic:
String dbName = context.getString(R.string.db_name);
super(context, db_name, null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
// ...
}

// ...
}

关于android - 如何在android中使用多个数据库,如多种语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29814568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com