Android和GT; file vs SQLite

时间:2013-09-18 09:27:05

标签: android database file sqlite android-sqlite

我必须保存应用程序的设置,但我不知道是否应该使用文件或表格。我不需要与其他应用程序共享它们,这些设置只是3-4个布尔值,用于记住应用程序以某种方式或另一种方式执行操作。为3-4值创建一个表是个好主意吗?或者我应该使用文件而不是小?

2 个答案:

答案 0 :(得分:3)

如果是将3-4值存储在应用程序中的问题,那么我建议使用SharedPreference

您可以存储和检索Sharedpreferences,如下所示:

可以使用getSharedPreferences()方法获取应用程序共享首选项。以下代码可用于获取应用程序共享首选项。

   SharedPreferences pref = getApplicationContext().getSharedPreferences(
                       "any_prefname", MODE_PRIVATE);

共享偏好的可用模式:

MODE_WORLD_READABLE
MODE_WORLD_WRITEABLE 
MODE_PRIVATE

要编辑共享偏好值,我们需要编辑器编辑并保存共享偏好设置中的更改。

  Editor editor = pref.edit();

并使用保存数据commit()

  Editor.commit();

您可以使用编辑器将数据保存到共享首选项中。支持所有原始数据类型,如布尔值,浮点数,整数,长整数和字符串。调用editor.commit()以保存对共享首选项的更改。

          editor.putBoolean("key_name", true); // Storing boolean - true/false
          editor.putString("key_name", "string value"); // Storing string
          editor.putInt("key_name", "int value"); // Storing integer
          editor.putFloat("key_name", "float value"); // Storing float
          editor.putLong("key_name", "long value"); // Storing long
          editor.commit(); // commit changes

从共享偏好设置中获取数据:

可以通过调用getString()(For string)方法从已保存的首选项中恢复数据。对于boolean getBoolean()请记住,此方法应在共享首选项上调用,而不是在编辑器上调用。

    // returns stored preference value
    // If value is not present return second param value - In this case null

          pref.getString("key_name", null); // getting String
          pref.getInt("key_name", null); // getting Integer
          pref.getFloat("key_name", null); // getting Float
          pref.getLong("key_name", null); // getting Long
          pref.getBoolean("key_name", null); // getting boolean

从共享首选项中删除数据并删除共享首选项:

要从共享首选项中删除数据,我们可以使用remove(“key_name”)。如果我们要删除所有数据,请调用clear()

editor.remove("student_name");//will delete student_name
editor.commit(); 

以下将清除共享偏好中的所有数据

editor.clear();
editor.commit();

答案 1 :(得分:1)

您将在此处获得详细信息 - http://developer.android.com/guide/topics/data/data-storage.html 使用sharedPref保存应用设置,而不是文件和sqLite。