android SharedPreferences的一般用法(存取清删)

之前做应用时碰到这样一个问题:在“A” Activity 要与 “B” Activity的Fragment进行通信传值,但是忽然发现无法拿到B中Fragment的Handler,又不能发送广播,短暂的思考之后想到了SharedPreferences这个轻型的数据存储方式。

  SharedPreferences的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息,用Sqlite数据库来存放并不划算,因为数据库连接跟操作等耗时大大影响了程序的效率。其存储位置在/data/data/<包名>/shared_prefs目录下。

  另外SharedPreferences只能保存简单类型的数据,例如,String、int等。一般会将复杂类型的数据转换成Base64编码,然后将转换后的数据以字符串的形式保存在 XML文件中,再用SharedPreferences保存。

  使用SharedPreferences保存key-value对的步骤如下:

  (1)使用Activity类的getSharedPreferences方法获得SharedPreferences对象,其中存储key-value的文件的名称由getSharedPreferences方法的第一个参数指定,第二个参数指定访问应用程序私有文件的权限。

  (2)使用SharedPreferences接口的edit获得SharedPreferences.Editor对象。

  (3)通过SharedPreferences.Editor接口的putXxx方法保存key-value对。其中Xxx表示不同的数据类型。例如:字符串类型的value需要用putString方法。

  (4)通过SharedPreferences.Editor接口的commit方法保存key-value对。commit方法相当于数据库事务中的提交(commit)操作。

 

                              存放数据信息,步骤如下:

  a、打开Preferences,名称为setting,如果存在则打开它,否则创建新的Preferences

SharedPreferences userSettings = getSharedPreferences("setting", 0);

  b、让setting处于编辑状态

SharedPreferences.Editor editor = userSettings.edit();

  c、存放数据

editor.putString("name","ATAAW");
editor.putString("URL","ATAAW.COM");

  d、完成提交

editor.commit();

                              读取数据信息,步骤如下:

  a、获取Preferences

SharedPreferences userSettings= getSharedPreferences("setting", 0);

  b、取出数据

String name = userSettings.getString("name","默认值");
String url = userSettings.getString("URL","default");

  以上就是Android中SharedPreferences的具体使用方法。

  注意:只顾着说存取的方法了,补充一点哈,那就是删除和清空操作,如下:

  a、清除指定数据

SharedPreferences.Editor editor = userSettings.edit();
editor.remove("KEY");
editor.commit();

  b、清空数据

SharedPreferences.Editor editor = userSettings.edit();
editor.clear();
editor.commit();

  注意:如果在 Fragment 中使用SharedPreferences 时,需要放在onAttach(Activity activity)里面进行SharedPreferences 的初始化,否则会报空指针 即 getActivity()会可能返回null !

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: sharedpreferences用来存储和获取应用程序的数据,它可以存储基本的数据类型,如字符串、整数和布尔值。要使用sharedpreferences,首先要使用getSharedPreferences()方法获取一个SharedPreferences对象,然后使用edit()方法来获取一个SharedPreferences.Editor对象,最后使用putString()、putInt()、putBoolean()等方法把数据存储到sharedpreferences中,使用getString()、getInt()、getBoolean()等方法从sharedpreferences中获取数据。 ### 回答2: SharedPreferencesAndroid提供的一种轻量级的数据存储方式,用于存储/读取简单的键值对数据。它以XML文件的形式保存在应用的私有目录中。 通过SharedPreferences可以实现持久化存储和简单的数据共享。下面简单介绍SharedPreferences存取用法。 存储数据: 1. 获取SharedPreferences实例: SharedPreferences sharedPreferences = getSharedPreferences("文件名", Context.MODE_PRIVATE); 2. 获取SharedPreferences.Editor对象: SharedPreferences.Editor editor = sharedPreferences.edit(); 3. 使用Editor对象存储数据: editor.putString("键", "值"); // 存储字符串数据 editor.putInt("键", 值); // 存储整型数据 editor.putBoolean("键", 值); // 存储布尔型数据 4. 调用Editor的commit()方法提交数据: editor.commit(); 读取数据: 1. 获取SharedPreferences实例: SharedPreferences sharedPreferences = getSharedPreferences("文件名", Context.MODE_PRIVATE); 2. 使用SharedPreferences对象读取数据: String value1 = sharedPreferences.getString("键", "默认值"); // 读取字符串数据,若不存在该键则返回默认值 int value2 = sharedPreferences.getInt("键", 默认值); // 读取整型数据,若不存在该键则返回默认值 boolean value3 = sharedPreferences.getBoolean("键", 默认值); // 读取布尔型数据,若不存在该键则返回默认值 注意事项: 1. SharedPreferences存储的数据是以键值对的形式存储的。 2. SharedPreferences只能存储简单的数据类型,如字符串、整型、布尔型等。 3. SharedPreferences数据存储在应用的私有目录中,只能被应用本身访问。 4. SharedPreferences存储的数据会一直保留,直到应用卸载或通过代码删除。 ### 回答3: SharedPreferences 是用于Android平台的轻量级的键值对存储解决方案。它可以用来存储少量的配置数据或用户偏好设置。SharedPreferences存储的数据是以键值对的形式存在的,其中键和值都是字符串类型。 首先,我们需要获取SharedPreferences对象来进行存储或读取数据。可以通过Context类的getSharedPreferences()方法或者PreferenceManager类的getDefaultSharedPreferences()方法来获取SharedPreferences对象。getSharedPreferences()方法可以指定文件名称,而getDefaultSharedPreferences()方法会使用默认的配置文件。 接下来,我们可以使用SharedPreferences对象的edit()方法获取一个SharedPreferences.Editor对象,然后通过该对象进行数据的存储或修改。主要有以下几种常用的方法: 1. putString(String key, String value):存储字符串类型的值。 2. putInt(String key, int value):存储整型值。 3. putBoolean(String key, boolean value):存储布尔型值。 4. putFloat(String key, float value):存储浮点型值。 5. putLong(String key, long value):存储长整型值。 存储数据,需要指定一个唯一的键值来标识该数据。可以使用commit()方法或者apply()方法来提交数据的修改。commit()方法会立即将数据写入磁盘,而apply()方法是异步保存数据,不会阻塞主线程,但不保证数据立即写入磁盘。 要读取数据,可以使用SharedPreferences对象的getString()、getInt()、getBoolean()、getFloat()、getLong()等方法,传入对应的键值即可。如果找不到对应的值,可以指定一个默认值作为返回值。 总之,SharedPreferences提供了一种简单方便的方式来存储和读取少量的配置数据或用户偏好设置。它不适用于存储大量数据,对于需要加密或者性能要求较高的情况,建议使用其他存储方式,如数据库等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值