我有两个 API。一种是向我发送语言列表,第二种是获取键/值字符串列表。我想将此键/值用作 android 应用程序中的字符串资源,而不是 string.xml 文件。
对于这种情况,我决定将所有键/值响应存储在 SQLite 中,当用户更改语言时,使用 SQLite 作为字符串资源。
这可能吗?还有其他想法吗?好例子?
最佳答案
在我之前的项目中,我们还使用 SQLite 数据库以 4 种语言存储标签字符串。
为此我们应用了两种方法:
1.编写简单查询,只获取一个LABEL(Language code, Key)。这是为按钮消息、标题和其他内容设置标签的非常简单和最快的方法。
2.当我们有一个包含逻辑字段组的长页面时,我们使用键组和语言创建查询。因此它返回带有键的标签列表,我们也使用相同的文本作为键,为 View 使用相同的 Id易于识别的书写标签。
3.此外,如果其中一个标签文本发生更改,则维护起来很容易,因此在下一次网络调用中,我们仅使用(键,语言代码)更新数据库中的特定标签,并将其反射(reflect)在屏幕上。
4.一个好处是,如果我们使用带有 Room、LiveData、View 模型和数据绑定(bind)的 SQLite 数据库,那么维护所有这些东西就非常容易。
5.这种方法只需要一次代码,易于从服务器端扩展、修改和维护。
关于android - 如何使用 sqlite 作为字符串资源而不是 strings.xml 作为语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53477402/