考虑一个获取用户详细信息的应用程序 - 姓名,性别,婚姻状况等。 并说,我需要该应用程序支持英语,西班牙语和普通话。
显示"男性" /"女性"在用户填写表单的所有不同语言中,通过不同语言的不同strings.xml文件来实现。
我将用英语将详细信息保存到SQLite数据库中。因此,如果用户使用西班牙语运行应用程序并选择" Masculino",它仍将被保存为"男性"到数据库。
现在,当用户想要查看他用西班牙语输入的详细信息时,如何阅读SQLite中的英文数据并将其翻译成西班牙语或普通话或任何其他语言?
答案 0 :(得分:5)
我不会在db中存储这样的英文字符串。我将它存储为整数值,其中0表示男性,1表示女性。然后在显示时我会检查值,然后在资源中使用相应字符串的id,并从xml字符串文件中获取字符串。
答案 1 :(得分:1)
您还可以存储"男性"的字符串名称。而不是"男性"。例如,如果在strings.xml文件中声明
<string name="gender_male">Male</string>
然后将"gender_male"
存储为数据库中的值,而不是"Male"
。从数据库中检索时,请调用
String value = get from database;
int valueResId = getResources().getIdentifier(value, "string", your package name);
String gender = getString(valueResId);