android - 如何使用 sqlite 作为字符串资源而不是 strings.xml 作为语言?
问题描述
我有两个 API。一个是向我发送语言列表,第二个是获取键/值字符串列表。我想将此键/值用作 android 应用程序中的字符串资源,而不是 string.xml 文件。
对于这种情况,我决定将所有键/值响应存储在 SQLite 中,当用户更改语言时,使用 SQLite 作为字符串资源。
可能吗?还有其他想法吗?好的例子?
解决方案
在我以前的项目中,我们还使用 SQLite 数据库以 4 种语言存储标签字符串。
为此,我们采用了两种方法:
1.编写简单查询只得到一个标签(语言代码,键)。这是为按钮消息、标题和其他内容设置标签的非常简单快捷的方法。
2.当我们有一个具有逻辑字段组的长页面时,我们使用一组键和语言创建查询。所以它返回带有键的标签列表,我们也使用相同的文本作为键和 Id 作为视图,以便于识别写标签。
3.此外,假设其中一个标签文本已更改,维护起来也很容易,因此在下一次网络调用中,我们仅使用(键、语言代码)更新数据库中的特定标签,并将其反映在屏幕上。
4. 一件好事是,如果我们使用带有 Room、LiveData、视图模型和数据绑定的 SQLite 数据库,那么维护所有这些东西非常容易。
5.这种方法需要一次代码,并且易于从服务器端扩展、修改和维护。
推荐阅读
- android - 无法将 .aab/apk 文件上传到 Play 商店
- google-sheets - Google Sheets - 如何根据另一个单元格中的匹配值连接范围?
- ios - 从应用内的 Firebase In-App-Messaging 打开 url
- javascript - Jquery:仅查找一个最近的匹配元素
- android - 从服务发送的通知中打开我的 kivy 应用程序
- arrays - 遍历数组(奇怪的维度)
- swagger - Ocelot 招摇重定向问题
- c++ - 不能在 WinAPI 中 _fputts TCHAR 字符串由多个 _tcscat_s 组成
- java - 使用 TextureView 保存图像?
- python - 尝试创建高程图但出现错误