【问题标题】:Android: storing translations to local cacheAndroid:将翻译存储到本地缓存
【发布时间】:2014-05-20 11:01:17
【问题描述】:

我正在制作一个支持多语言的安卓应用程序。但是,我不必在我的资源中定义不同的字符串文件夹(即 strings-en),而是必须通过来自服务器的 HTTP GET 请求来获取翻译。我只在应用程序的初始运行时提出这个请求,当然在以后需要更新时(但自然我们不希望更新会经常发生,就翻译而言)。

服务器以包含 JSON 对象的字符串进行响应。然后我继续解析该字符串并获取必要的翻译(即“no_data”:“No data.”)。

所以我的问题如下:我处理这些翻译的最有效方法是什么?在构建视图时,我必须为 UI 的不同部分获取翻译。在那一刻解析该 JSON(通常在 onCreate() 中,因为我有很多片段)甚至是一种有效的方法吗?如果我将每个翻译条目存储为 SharedPreferences 的条目(即 putString("no_data", "No data.") 会怎样?这会占用太多存储空间吗?另外我正在使用 2.3.3,所以使用Set 不是一个选项,因为它是 API 级别 11。

任何建议将不胜感激!

【问题讨论】:

    标签: android json performance sharedpreferences translation


    【解决方案1】:

    我最终解析 JSON 并将翻译以键和值的形式存储到 SharedPreferences,其中键因语言标签而异(即 trans_en_log_out 或 trans_da _登出)。它速度很快,并且不会在应用程序中占用太多空间。

    【讨论】:

      猜你喜欢
      • 2019-04-29
      • 2012-11-11
      • 2013-05-13
      • 1970-01-01
      • 1970-01-01
      • 2021-05-27
      • 1970-01-01
      • 2013-11-30
      • 1970-01-01
      相关资源
      最近更新 更多