【问题标题】:What is the best solution for string storage in this case?在这种情况下,字符串存储的最佳解决方案是什么?
【发布时间】:2015-11-16 07:41:37
【问题描述】:

我目前正在按照教程学习 android 开发。我想我学到了足够的东西来创建我的第一个非常简单的应用程序。的确,我有一个想法,但我需要你的帮助。对于这个应用程序,我需要在我的应用程序中包含 500 到 5000 个字符串。 通过按照教程进行一些研究,我发现了三种不同的字符串存储方式,但是对于 5000 个字符串,我不知道应该使用哪一种。

  • 第一种是将strings.xml文件中的字符串放在资源中,但是会很长。

  • 第二种是使用.txt文件并读取它

  • 最后一个是使用数据库,但我不知道是否值得仅使用字符串。

那么你认为我应该使用什么,如果你知道另一种方法,即使它不是最好的解决方案,请告诉我。

【问题讨论】:

    标签: android


    【解决方案1】:

    要保存 500 到 5000 的字符串,您可以使用 Json 文件来保存数据。而且它非常易于使用。以下链接将为您提供帮助 Android Java; How can I parse a local JSON file from assets folder into a ListView

    【讨论】:

      【解决方案2】:

      1.字符串.xml

      优点: 如果希望您的应用程序以不同的语言本地化,那就去吧。您可以轻松地将您的字符串翻译成不同的语言并将其与 id 引用一起使用

      缺点:难以引用/处理 500 个带有 id 的字符串(不推荐

      在strings.xml中

      <string-array name="large_string_data">
          <item>String 1</item>
          <item>String 2</item>
          <item>String 3</item>
          <item>String 4</item>
          <item>String 5</item>
          ...
          <item>String 500</item>
      </string-array>
      

      在java中:

      String[] data=getResources().getStringArray(R.array.large_string_data);
      //use it with id numbers
      String question_two=data[1];
      

      2。文本文件

      优点:如果您希望您的字符串只有一种语言,并且不会被翻译成其他语言,那就太好了。

      缺点:如果处理不当,可能会导致 IOException 和文件处理异常 + 每次打开应用时都必须打开流来读取该文件

      3.数据库(SQL)

      优点: 最适合存储大型字符串数据,您可以为不同的语言创建不同的表并将您的字符串存储在那里,它轻巧、快速且易于访问。比文本文件更不容易出错(推荐)

      【讨论】:

        【解决方案3】:

        存储大量字符串的最佳方式是数据库。数据库的优点是:

        1. 字符串的分离很容易。

        2. 加载字符串时数据库速度更快。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-05-16
          • 1970-01-01
          • 2019-11-25
          • 2019-07-14
          • 1970-01-01
          相关资源
          最近更新 更多