我必须保存我的应用程序的设置,但我不知道我应该使用文件还是表格。我不需要与其他应用程序共享它们,这些设置只是 3-4 个布尔值,用于记住应用程序以某种方式或另一种方式执行操作。只为 3-4 个值创建一个表是个好主意吗?还是我应该使用小文件?
2 回答
如果它是在应用程序中存储 3-4 值的问题,那么我建议使用SharedPreference。
您可以存储和检索 Sharedpreferences,如下所示:
可以使用 getSharedPreferences() 方法获取应用程序共享首选项。以下代码可用于获取应用程序共享首选项。
SharedPreferences pref = getApplicationContext().getSharedPreferences(
"any_prefname", MODE_PRIVATE);
共享偏好的可用模式:
MODE_WORLD_READABLE
MODE_WORLD_WRITEABLE
MODE_PRIVATE
要编辑sharedpreference 值,我们需要编辑器来编辑和保存共享首选项中的更改。
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();
您将在此处获得详细信息 - http://developer.android.com/guide/topics/data/data-storage.html 使用sharedPref保存应用程序设置,而不是文件和 sqLite。