Android中SharedPreferences的使用
来源:互联网 发布:网络课程退款问题 编辑:程序博客网 时间:2024/05/08 21:34
一、SharedPreferences简介
Android提供了多种存储方式,其中就包括了非常常用的SharedPreferences。SharedPreferences是一种轻量级的存储机制,无论是存数据和取数据都十分快速,而其的局限性也就是在“轻量”两个字当中。SharedPreferences中存储的数据格式简单,数据量少,而且SharedPreferences得数据存储于本地,所以共享性很低。
二、SharedPreferences的存储路径
1、SharedPreferences作为一种本地存储方式,不具备共享性。但是,多个程序之间可以互相读取SharedPreferences的数据。
2、SharedPreferences的存储路径为:data/data/packageName/shared_prefs目录下,以.xml的形式存储。
三、SharedPreferences的相关初始化的存储方式
SharedPreferences存储数据时,是以键值对的形式存取的。
1、初始化SharedPreferences
private SharedPreferences sharedPreferences;sharedPreferences = getSharedPreferences("sharedPreferencesName", Context.MODE_PRIVATE);
2、初始化编辑器
SharedPreferences.Editor editor = sharedPreferences.edit();
3、保存(提交)数据
editor.putBoolean("booleanName", false);//Boolean类型的数据,booleanName为键名,false为键值。(下文同理)editor.putFloat("floatName", 0.1f); //float类型editor.putInt("intName", 1); //int类型editor.putLong("longName", 1); //long类型editor.putString("stringName", "test") //String类型editor.commit(); //提交(保存)数据
4、获取数据
sharedPreferences.getBoolean("booleanName", false);sharedPreferences.getFloat("floatName", 0);sharedPreferences.getInt("intName", 0);sharedPreferences.getLong("longName", 0);sharedPreferences.getString("stringName", "");
5、删除数据
(1)删除单条数据
editor.remove("booleanName");editor.remove("floatName");editor.remove("intName");editor.remove("longName");editor.remove("stringName");
(2)清除所有数据
editor.clear().commit();
6、删除SharedPreferences
File file = new File("/data/data/" + getPackageName() + "/shared_prefs", "sharedPreferencesName");if (file.exists()) { file.delete();}
四、SharedPreferences的工具类编写
package com.jyy.CSDN;import android.content.Context;import android.content.SharedPreferences;import java.io.File;import java.util.Map;/** * Author: JiangYY * Date: 2016/5/12 20:02 * Describle: TODO SharePreference的工具类:对SharePreference的操作进行统一管理,下文中,声明了几个常用操作,其他的同理可得。 */public class SharePreferenceHelper { private Context context; private final String sharePreferencePath = "/data/data/" + context.getPackageName() + "/shared_prefs"; private String testsharePreferenceName = "testsharePreference"; //测试用的SharePreference private String testKey = "testKey"; //测试字段 public SharePreferenceHelper(Context context) { this.context = context; } /** * 新建SharePreference * * @param fileName 所添加的SharePreference的文件名 * @param map 所添加的数据集合 * @return */ private boolean saveSharePreference(String fileName, Map<String, Object> map) { SharedPreferences sharedPreferences = context.getSharedPreferences(fileName, Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); for (Map.Entry<String, Object> entry : map.entrySet()) { String key = entry.getKey(); Object object = entry.getValue(); if (object instanceof String) { editor.putString(key, (String) object); } if (object instanceof Integer) { editor.putInt(key, (Integer) object); } if (object instanceof Float) { editor.putFloat(key, (Float) object); } if (object instanceof Long) { editor.putLong(key, (Long) object); } if (object instanceof Boolean) { editor.putBoolean(key, (Boolean) object); } } editor.commit(); return true; } /** * 清除SharedPreferences中所有数据 * * @param fileName 被清除数据的SharedPreferences文件名 */ private void clearSharedPreferences(String fileName) { SharedPreferences preferences = context.getSharedPreferences(fileName, Context.MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.clear().commit(); } /** * 删除SharePreference文件 * * @param fileName 被删除SharePreference的文件名 */ private void deleteSharedPreferences(String fileName) { File file = new File(sharePreferencePath, fileName); if (file.exists()) { file.delete(); } } /** * 测试SharePreference中,假设字段确定 * * @param data 待存储的数据 * @return */ private boolean saveTestData(String data) { SharedPreferences sharedPreferences = context.getSharedPreferences(testsharePreferenceName, Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString(testKey, data); editor.commit(); } /** * 删除测试SharedPreferences中指定字段数据 * * @param keyName 字段名 */ private void deleteTestData(String keyName) { SharedPreferences sharedPreferences = context.getSharedPreferences(testsharePreferenceName, Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.remove(keyName); }}
0 0
- android 中 SharedPreferences 的使用!
- Android中SharedPreferences的使用
- android中SharedPreferences的使用
- Android中SharedPreferences的使用
- Android中SharedPreferences的使用
- android中SharedPreferences的使用
- Android中SharedPreferences的使用
- Android中SharedPreferences的使用
- android中SharedPreferences使用
- Android中SharedPreferences的使用详解
- Android中关于SharedPreferences的使用简介
- Android中SharedPreferences与Editor的使用
- android 中共享变量SharedPreferences的使用
- Android中SharedPreferences 工具类的使用
- Android中SharedPreferences与Editor的使用
- android SharedPreferences 的使用
- Android SharedPreferences的使用
- Android SharedPreferences的使用
- ios最简单的录音程序
- 源码安装xtrabackup
- 【其他】大整数类Bignum
- Leetcode数学类题目
- foreach循环
- Android中SharedPreferences的使用
- JavaWeb操作Msql数据库显示数据流程(源代码+详细步骤)
- Static关键字
- 八大排序之选择排序
- Python多线程中的join函数的使用与含义
- DataNitro: 用Python高效处理Excel数据
- java中的网络通信
- storyboard 修改 无反应
- 插入排序