关闭

SharedPreferences保持对象数据

标签: androidjava数据
346人阅读 评论(0) 收藏 举报
分类:
public class SharedPrefUtils {

    //SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下:

    private SharedPrefUtils() { }


    private static SharedPrefUtils sharedPrefUtils;
    public static SharedPrefUtils getInstance() {
        if (sharedPrefUtils == null) {
            synchronized (SharedPrefUtils.class) {
                if (sharedPrefUtils == null) {
                    sharedPrefUtils = new SharedPrefUtils();
                }
            }
        }
        return sharedPrefUtils;
    }

    private static Gson gson;
    public static Gson getInstanceGson() {
        if (gson == null) {
            synchronized (SharedPrefUtils.class) {
                if (gson == null) {
                    gson = new Gson();
                }
            }
        }
        return gson;
    }


    private static final String comm_name="comm_name";

    private static SharedPreferences init(String name){
        getInstance();
        return MyApp.getApp().getSharedPreferences(name, Context.MODE_PRIVATE);
    }


    //
    public static void putKV(String key, String vaule){
        SharedPreferences sp = init(comm_name);
        Editor editor = sp.edit();
        editor.putString(key, vaule);
        editor.commit();
    }

    public static String getKV(String key){
        SharedPreferences sp = init(comm_name);
        return sp.getString(key, "");
    }


    //
    public static void putObject(String key, Object vaule){
        SharedPreferences sp = init(comm_name);
        Editor editor = sp.edit();
        String objJson=getInstanceGson().toJson(vaule);
        editor.putString(key, objJson);
        editor.commit();
    }

    public static Object getObject(String key, Class<?> vaule){
        SharedPreferences sp = init(comm_name);
        Object t = getInstanceGson().fromJson(sp.getString(key, ""), vaule);
        return t;
    }
    public static Object getObject(Class<?> vaule){
        SharedPreferences sp = init(comm_name);
        Object t = getInstanceGson().fromJson(sp.getString(vaule.getName(), ""), vaule);
        return t;
    }



    //


}
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Android中SharedPreferences和序列化结合保存对象数据

http://blog.csdn.net/ykttt1/article/details/8782875 前言:        最近在做用户注册的时候,遇到了需要填写很多表单数据,不可能在一页把...
  • zhhtao89
  • zhhtao89
  • 2015-06-15 21:23
  • 4441

SharedPreferences和序列化结合保存对象数据

前言:        最近在做用户注册的时候,遇到了需要填写很多表单数据,不可能在一页把所有的数据都展示完全,因此采用了分页的方式,由于在用户填写数据数据之后我们需要对用户填写的数据进行暂时的记...
  • hard_working1
  • hard_working1
  • 2016-03-29 08:50
  • 813

Android进阶——Sharedpreferences保存对象和图片等复杂类型的数据

Sharedpreferences保存序列化的对象和图片等复杂类型的数据
  • CrazyMo_
  • CrazyMo_
  • 2017-01-16 18:15
  • 1771

Android中SharedPreferences和序列化结合保存对象数据

前言:        最近在做用户注册的时候,遇到了需要填写很多表单数据,不可能在一页把所有的数据都展示完全,因此采用了分页的方式,由于在用户填写数据数据之后我们需要对用户填写的数据进行暂时的记录的...
  • zhangli_
  • zhangli_
  • 2016-06-16 09:59
  • 1645

SharedPreferences存储用户自定义类

使用JSON和SharedPreferences存储用户自定义类SharedPreferences可以用来永久地存储数据,即使应用被销毁。事实上数据存储在Android的内部存储器上。有两种分方法用来...
  • qwer4755552
  • qwer4755552
  • 2016-11-18 14:44
  • 648

Android通过反射打造可以存储任何对象的万能SharedPreferences

我们通常使用SharedPreferences存储一些需要保存在本地,但又不至于存储在数据库里的一些数据,一般我们用它来存储一些用户名,密码等数据是非常方便的,那么如果我们想要存储的信息有10几条,我...
  • nugongahou110
  • nugongahou110
  • 2015-07-16 16:08
  • 7757

使用SharedPreferences保存图片与对象

这是一般SharedPreferences的使用方法 private SharedPreferences mSharedPreferences; private SharedPreferences....
  • Wiiix
  • Wiiix
  • 2016-06-06 17:04
  • 2716

SharedPreferences保存List和对象序列化数据

在Android下做持久化的数据存储,大部分是用到了sqlite数据库或者sharepreference。为了少写sql语句,大部分都是用ORM形式的开源数据库框架,例如greendao和cupboa...
  • jxf_access
  • jxf_access
  • 2017-03-10 16:51
  • 2544

Android SharedPreferences存储数据的使用方法

SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)。SharedPreferences常用...
  • qq_25835645
  • qq_25835645
  • 2015-07-18 15:53
  • 781

Android SharedPreferences存储基本数据类型、List集合、Map集合、对象都在这了

import android.content.Context; import android.content.SharedPreferences; import android.content.Sha...
  • a96339023
  • a96339023
  • 2017-05-12 16:38
  • 3420
    个人资料
    • 访问:13177次
    • 积分:264
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:0篇
    • 译文:2篇
    • 评论:1条
    文章分类
    文章存档