在这种情况下,字符串存储的最佳解决方案是什么?

时间:2015-08-22 12:08:54

标签: android

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

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

  • 第二个是使用.txt文件并阅读

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

那么您认为我应该使用什么?如果您知道另一种方法,即使它不是最佳解决方案,您能不能让我知道。

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

  1. 弦的分离很容易。

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

答案 2 :(得分:1)

<强> 1。的strings.xml

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

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

在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)

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