SharedPreferences简介:
SharedPreferences是Android平台上一个轻量级的存储类,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息,比如窗口状态,一些小型自定义数据等。其存储位置在/data/data/<包名>/shared_prefs目录下,可以通过DDMS--FileExplorer下查看(选中文件点击DDMS右上角的导出文件)。
数据的存储:
1.构造函数:
如示例,一般常用的构造函数为2个参数
第一个为sp的名称,第二个一般为权限比如Activity.MODE_PRIVATE, MODE_APPEND, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public class Calc extends Activity {
public static final String PREFS_NAME = "MyPrefsFile" ;
@Override
protected void onCreate(Bundle state){
super.onCreate(state);
. . .
// Restore preferences
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
boolean silent = settings.getBoolean( "silentMode" , false );
setSilent(silent);
}
|
2.数据的存储以及修改:
使用SharedPreferences.Editor类来构造一个编辑器进行存储数据
1
2
3
4
5
6
7
8
|
add.setOnClickListener( new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String str_name = (String) name.getText();
String str_path = (String) text.getText();
SharedPreferences Addresses = getSharedPreferences(PREFS_NAME,Activity.M );
SharedPreferences.Editor editor = Addresses.edit(); //通过SharedPreferences.edit()来对Editor进行初始化
|
1
|
editor.putString(str_name,str_path); //添加数据 <br> editor.commit(); //数据添加后必须提交才会修改xml文件 <br> Toast.makeText(getApplicationContext(), "Successed", Toast.LENGTH_LONG).show(); <br> } <br> });
|
删除数据
1
2
3
4
5
6
7
8
9
10
|
public boolean onItemLongClick(AdapterView<?> parent, View view,
int position, long id) {
SharedPreferences Addresses = getSharedPreferences(PREFS_NAME,
Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = Addresses.edit(); //通过SharedPreferences.edit()来对Editor进行初始化
editor. remove ((String) listview.getSelectedItem()); //删除相应的数据
editor.commit(); //同样需要提交
}
});
|
3.一些常用的方法:
void apply()
Commit your preferences changes back from this Editor to the
SharedPreferences object it is editing. |
SharedPreferences.Editor clear()
Mark in the editor to remove all values from the preferences.
|
boolean commit()
Commit your preferences changes back from this Editor to the
SharedPreferences object it is editing. |
SharedPreferences.Editorput Boolean(String key, boolean value)
Set a boolean value in the preferences editor, to be written back once
commit() or apply() are called. |
SharedPreferences.Editor putInt(String key, int value)
Set an int value in the preferences editor, to be written back once
commit() or apply() are called. |
SharedPreferences.Editor putString(String key, String value)
Set a String value in the preferences editor, to be written back once
commit() or apply() are called. |
SharedPreferences.Editor putStringSet(String key, Set<String> values)
Set a set of String values in the preferences editor, to be written back once
commit() is called. |
SharedPreferences.Editor remove(String key)
Mark in the editor that a preference value should be removed, which will be done in the actual preferences once
commit() is called. |
数据的读取:
SharedPreferences.Editor edit()
Create a new Editor for these preferences, through which you can make modifications to the data in the preferences and atomically commit those changes back to the SharedPreferences object.
|
Map<String, ?> getAll()
Retrieve all values from the preferences.
|
boolean getBoolean(String key, boolean defValue)
Retrieve a boolean value from the preferences.
|
String getString(String key, String defValue)
Retrieve a String value from the preferences.
|
Set<String> getStringSet(String key, Set<String> defValues)
Retrieve a set of String values from the preferences.
|
void registerOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener)
Registers a callback to be invoked when a change happens to a preference.
|
void unregisterOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener)
Unregisters a previous callback.
|
使用getAll()读取所有数据存储在一个HashMap中:
1
2
3
|
listview = (ListView) findViewById(R.id.lv);
SharedPreferences Addresses = getSharedPreferences(PREFS_NAME, 0); listItems = (HashMap<String, Object>) Addresses.getAll(); |
还是挺好用的哈~~
相关推荐
在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储应用程序的配置信息或者简单数据。它提供了一种键值对的方式,使得数据的存储、删除和读取变得非常方便。下面我们将...
以上就是关于`SharedPreferences`在Android中进行数据存储的详解,希望对你理解和使用这个工具有所帮助。如果想了解更多细节,可以参考给定的博客链接:[博客链接](https://hack-zhang.iteye.com/blog/1265370)。
本教程将详细介绍Android中的三种主要数据存储方式:SharedPreferences存储、内部文件存储以及数据库存储。 1. SharedPreferences存储 SharedPreferences是Android提供的一种轻量级的数据存储方式,用于保存应用...
在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储应用程序中的配置信息或者用户的一些简单设置。这个实验旨在让你了解并掌握如何使用SharedPreferences来存储和读取...
- `layout11`可能展示SharedPreferences数据存储和读取的完整流程,例如创建一个设置界面,用户可以在其中更改一些应用设置,然后在另一个界面显示这些设置的当前状态。 4. 使用示例: ```java ...
在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储机制,主要用于存储应用程序的配置信息或者临时数据,如用户偏好设置、登录状态等。它提供了简单键值对的存储方式,非常适合用来缓存像...
SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储少量简单的键值对数据,如配置设置、用户偏好等。在本篇博文中,我们将深入探讨如何使用SharedPreferences进行数据存储,并通过源码分析其...
在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储一些简单的配置信息,如用户偏好设置、应用的状态信息等。它采用键值对的形式来保存数据,支持基本数据类型如布尔型...
Shared Preferences是Android提供的一种轻量级的数据存储机制,常用于保存应用程序中的配置设置或简单的键值对数据。它以XML格式存储,适合保存少量非结构化的数据。在这个"Sharedpreferences存储数据的使用方法_...
SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储简单的小型数据,如偏好设置、用户选项等。在本项目中,开发者已经根据官方文档编写了关于SharedPreferences的代码示例,你可以通过下载来...
前面呢,我们讲了文件的存储,文件的存储方式不适合保存一些比较复杂的文本数据。因此,我们来学习一下...SharedPreferences支持不同类型的数据存储,如果你存储的是整型,那你读取出来的也是整型,你存储的是浮点型,
在Android开发中,SharedPreferences通常用于存储轻量级的数据,如用户偏好设置,这些数据通常...但请注意,这并不是SharedPreferences的最佳实践,对于复杂的、结构化的数据,应该考虑使用更适合的数据存储解决方案。
在本文中,我们将深入探讨如何在Android中读写SharedPreferences数据,以及其内部的工作原理。 首先,让我们了解一下如何读取SharedPreferences中的数据。在Android中,通常我们会在需要使用SharedPreferences的...
SharedPreferences是Android系统提供的一种轻量级的数据存储方式,主要用于存储应用程序的简单配置信息,如布尔值、整型、浮点型、字符串等基本类型及其数组。通常,SharedPreferences数据是私有的,即每个应用只能...
SharedPreferences数据保存在: /data /data/<package> /shared_prefs 文件夹下,以XML格式保存,根元素为:。文件名称为获取SharedPreferences实例时传递的參数值。 <string name=key> value 获取实例 ...
Android项目开发中使用的数据存储方式有:网络存储、sqlite存储、File存储和SharedPreferences存储,四种存储方式对应的Demo别人是NetworkDemo、SqliteDemo、FileDemo和SharedPreferencesDemo,根据应用的场景选择...
在Android应用开发中,ArrayAdapter是一种...而SharedPreferences则提供了便捷的配置数据存储机制,使得应用能够保存用户的偏好设置。通过结合这两者,"Android25闹钟项目"实现了动态管理闹钟并保持数据持久化的功能。
在Android应用开发中,数据管理是一项重要的任务,尤其是在涉及到用户数据持久化时。"打卡日程,小作业,SharedPreferences...在进行小作业时,可以锻炼对SharedPreferences的掌握,同时提升对Android数据存储的理解。
SharedPreferences是Android SDK提供的一种轻量级的数据存储方式,主要用于存储简单的键值对,如布尔值、整型、浮点型、字符串以及字符串集合等。它的操作简便,适合存储用户偏好设置或者临时状态信息,如登录状态、...
数据持久化就是指将那些内存中的瞬时数据保存到持久化设备中(如手机文件、数据库等),当关机,...SharedPreferences 是使用键值对的方式来存储数据的,使用 SharedPreferences来进行数据持久化要比使用文件方便很多。