Android笔记:SharedPreference封装常用的工具类(用于记住密码、自动登录、引导页、账号密码等)

来源:互联网 发布:运营商认证数据不正确 编辑:程序博客网 时间:2024/05/20 20:58

说到SharePreference ,就显简单说一下Android的五大存储方式吧。
Android 当中数据存储的方式
1.SharedPreference 共享参数
2.File 存储 内部存储,外部存储(SDCard 存储)
3.SQLite 数据库存储
4.ContentProivder 内容提供者
5.网络存储

SharedPreference: 共享参数的特征:
1. 存放轻量级数据的存储方式。
2. 本质上存储为 xml 文件形式,然后通过读取键值对的形式对数据进行操作。
3. 通常是用于存储一些简单的配置信息。

通过共享参数来存数据步骤:
1. 获得 SharedPreference 的对象,getSharedPreference(String ,int); ;
2. 获取 Editor 的对象,通过 SharedPreference.edit() 方法。
3. 调用 Editor 对象的 putXxx(key,value) 的方法,来存放数据。
4. 调用 editor.commit() 方法,提交添加或者修改的内容。

共享参数取出数据的步骤:
1. 获得 SharedPreference 的对象,getSharedPreference(String ,int); ;
2. 调用 SharedPreference 对象中的 getXxx() 的方法,传入相应的 key 值,就能够
获取到数据了。
使用共享参数存放数据的位置:

data/data/< 你的包名>/shared_prefs/….
editor.clear() : 清空所有的数据内容
editor.remove(key): 移除指定键值的数据
sharedpreferences.contains(key): 判断数据中是否包含此键值。
getSharedPreference(Stringname ,intmode); ;
name: 生成的 xml 文件的名称
mode: 生成的文件的权限
MODE_PRIVATE: 私有的 ,的 生成的 xml 写 文件只能被本程序读写 ( 基本上都有这种
模式)
MODE_WORLD_READABLE :生成的 xml 文件只能被其他程序读
MODE_WORLD_WRITEABLE :生成的 xml 文件只能被其他程序写
MODE_MULTI_PROCESS:数据发生更改时,提醒其他进程

经过以上大致的回忆了解,我们做一个封装工具类,供以后日常使用:
工具类呢比较简单,直接贴代码了,不懂的评论留言讨论

package com.dfwy.cxy.edb.utils;/** * Created by lenovo on 2016/12/7. */import android.content.Context;import android.content.SharedPreferences;import android.util.Log;/** * SharePreference封装 * * */public class PrefUtils {    public static final String PREF_NAME = "config";    public static boolean getBoolean(Context ctx, String key,                                     boolean defaultValue) {        SharedPreferences sp = ctx.getSharedPreferences(PREF_NAME,                Context.MODE_PRIVATE);        return sp.getBoolean(key, defaultValue);    }    public static void setBoolean(Context ctx, String key, boolean value) {        SharedPreferences sp = ctx.getSharedPreferences(PREF_NAME,                Context.MODE_PRIVATE);        sp.edit().putBoolean(key, value).commit();        Log.i("tag","******************************"+sp.getBoolean("is_user_guide_showed",true));    }    public static void setDate(Context ctx,String key,String value){        SharedPreferences sp = ctx.getSharedPreferences(PREF_NAM,                Context.MODE_PRIVATE);        sp.edit().putString(key,value).commit();    }    public static String getData(Context ctx,String key,String defaultValue){        SharedPreferences sp = ctx.getSharedPreferences(PREF_NAME,                Context.MODE_PRIVATE);        return  sp.getString(key,defaultValue);    }}

至于工具类的使用的haul就直接setData\getData了。

0 0
原创粉丝点击