Android应用程序中使用sqlite和xml资源的多种语言

时间:2013-12-18 09:20:50

标签: android android-sqlite android-resources

我想使用sqlite数据库和xml资源在我的应用程序中支持多种语言。 例如,用户可以插入事务对象。每笔交易都有一个类别。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <array name="categories">
        <item>@string/category1</item>
        <item>@string/category2</item>
        <item>@string/category3</item>
        <item>@string/category4</item>
        <item>@string/category5</item>
    </array>
</resources>   

在sqlite中使用上述值的正确方法是什么?是应该创建一个表还是我可以直接从xml中使用它们?

如果我希望用户能够添加自己的类别,那么多语言应该如何运作?

1 个答案:

答案 0 :(得分:1)

请阅读以下两篇关于支持不同语言和本地化的Google指南: http://developer.android.com/training/basics/supporting-devices/languages.html http://developer.android.com/guide/topics/resources/localization.html

正常的方法是为每种语言创建strings.xml: 要在SQLite数据库中存储类别,您应该枚举类别并仅存储数字,这样您就可以独立于拼写。添加用户定义的Catergory也应该以这种方式工作。

MyProject/
  res/
    values/
       strings.xml
    values-es/
       strings.xml

/values/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string name="title">My Application</string>
  <string name="hello_world">Hello World!</string>
</resources>

/values-es/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string name="title">Mi Aplicación</string>
  <string name="hello_world">Hola Mundo!</string>
</resources>