访问静态数据

时间:2014-05-30 10:16:06

标签: android xml sqlite csv flat-file

访问Android应用的静态数据的最佳方式是什么

有关数据的信息

  • 将是只读的,用户无法更改
  • 数据将包含一个ID和一些单词/短语
  • 它不会很大:最多约1000个单词/短语
  • 将按顺序访问数据
  • 我会在开发应用时获得数据
  • 将经常阅读数据

从我到目前为止在网上看到的内容来看,我有几个选择:

  1. 应用启动时将所有静态数据加载到SQLite数据库中。这是这样做的安全方式,因为只有root用户才能删除/更改数据。此外,Android已经具有SQLite并且查询很容易。可以使用cursor.moveToNext()方法
  2. 按顺序读取
  3. 从应用程序的资源中读取flat / xml / csv文件中的数据。我不知道从文件读取的速度与使用SQLite相比如何?另外,如果我必须引用文件中的特定行(这将是一个单词/短语),那么它之间有什么区别并且只是硬编码呢?
  4. 什么是最佳选择?有更好的解决方案吗?

2 个答案:

答案 0 :(得分:1)

您可以将静态数据放在values / strings.xml文件中。 如果您没有大量数据且用户无法更改数据,这是最好的方法。

答案 1 :(得分:1)

static final data ? :

在android中执行此操作的常用方法是在应用程序中的strings.xml下创建一个名为/res的文件,并将字符串放在那里。每个字符串都有一个名字。例如:

<string name="app_name">Single Finder</string>

然后,您可以从XML布局或Java源代码访问字符串。例如:

XML

 <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world" />

<强>爪哇

String myStr = getApplicationContext().getRessources().getString(R.string.hello_world);

另一种方式,即创建static final字符串的Java常用方法。见Declaring a Variable as a Constant