android - 如何使用 sqlite 作为字符串资源而不是 strings.xml 作为语言?

标签 android string android-sqlite android-resources string.xml

我有两个 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/

相关文章:

php - 开发 Android 应用程序时是否允许使用 PHP 和 MySQL?

java - if 语句中的条件始终为 true

c# - 字符串解析,提取数字和字母

regex - 在 Notepad++ 中从逗号或点字符后的文本字符串中获取特定子字符串

java - Android Studio登录系统数据库问题

安卓 : Error Copying database (Sqliite) From Asset Folder

即使媒体音量为 0,Android 也会播放声音

android - 使用 Firebase 跟踪应用内结算

android - 在 RecyclerView 中显示 SQLite 数据

C# : Data collection to keep string?