首页 > 解决方案 > 如何使用 sqlite 作为字符串资源而不是 strings.xml 作为语言?

问题描述

我有两个 API。一个是向我发送语言列表,第二个是获取键/值字符串列表。我想将此键/值用作 android 应用程序中的字符串资源,而不是 string.xml 文件。

对于这种情况,我决定将所有键/值响应存储在 SQLite 中,当用户更改语言时,使用 SQLite 作为字符串资源。

可能吗?还有其他想法吗?好的例子?

标签: androidstringandroid-sqliteandroid-resourcesstring.xml

解决方案


在我以前的项目中,我们还使用 SQLite 数据库以 4 种语言存储标签字符串。

为此,我们采用了两种方法:

1.编写简单查询只得到一个标签(语言代码,键)。这是为按钮消息、标题和其他内容设置标签的非常简单快捷的方法。

2.当我们有一个具有逻辑字段组的长页面时,我们使用一组键和语言创建查询。所以它返回带有键的标签列表,我们也使用相同的文本作为键和 Id 作为视图,以便于识别写标签。

3.此外,假设其中一个标签文本已更改,维护起来也很容易,因此在下一次网络调用中,我们仅使用(键、语言代码)更新数据库中的特定标签,并将其反映在屏幕上。

4. 一件好事是,如果我们使用带有 Room、LiveData、视图模型和数据绑定的 SQLite 数据库,那么维护所有这些东西非常容易。

5.这种方法需要一次代码,并且易于从服务器端扩展、修改和维护。


推荐阅读