我不`吨知道这是不是最好的办法,但我在同我的一个项目使用的解决方案。
起初,我创建了一个表来存储数据:
CREATE TABLE my_other_table
(id INTEGER PRIMARY KEY AUTOINCREMENT,
potato TEXT);
然后创建一个表来存储翻译:
CREATE TABLE translations
(id INTEGER,
language TEXT NOT NULL,
value TEXT NOT NULL,
FOREIGN KEY(id) REFERENCES my_other_table(id));
在我的数据库辅助类我需要检索的方法正确的值:
public List<MyObject> getValues() {
List<MyObject> myObjects = new ArrayList<MyObject>();
openDatabase();
Cursor cursor = database.query(DBHelper.TABLE_FOR_MY_OBJECT,arrayWithAllMyColumns, null,null, null, null, null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
Challange challange = cursorToChallange(cursor);
Cursor descriptionCursor = database.query(DBHelper.TABLE_TRANSLATIONS, new String[]{DBHelper.COLUMN_VALUE}, DBHelper.COLUMN_LANGUAGE+" = ?",new String[]{Locale.getDefault().toString()}, null, null, null);
myObject.setDescription(descriptionCursor.getString(0));
myObjects.add(myObject);
cursor.moveToNext();
}
cursor.close();
closeDatabase();
return myObjects;
}
上面的代码只是有一个想法,如果你需要更多的h elp只是问...
你可以分享一些代码,也可以向我解释一件事情,问题是:您需要o将所选项目保存为英文,然后在加载需要使用其他语言显示项目的值时? – GhostDerfel
是的,就是这样。 – user3342507