我们平常保存一些数据,都会用到SharedPreferences,他是保存在手机里面的,具体路径是data/data/你的包名/shared_prefs/保存的文件名.xml,SharedPreferences的使用也很简单,我自己就写了一个SharedPreferences的工具类,然后就保存在这里,等自己以后需要保存数据直接从这里copy代码,哈哈
工具类如下
package com.example.shortcut;
import android.content.Context;
import android.content.SharedPreferences;
/**
* SharedPreferences的一个工具类,调用setParam就能保存String, Integer, Boolean, Float, Long类型的参数
* 同样调用getParam就能获取到保存在手机里面的数据
* @author xiaanming
*
*/
public class SharedPreferencesUtils {
/**
* 保存在手机里面的文件名
*/
private static final String FILE_NAME = "share_date";
/**
* 保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法
* @param context
* @param key
* @param object
*/
public static void setParam(Context context , String key, Object object){
String type = object.getClass().getSimpleName();
SharedPreferences sp = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
if("String".equals(type)){
editor.putString(key, (String)object);
}
else if("Integer".equals(type)){
editor.putInt(key, (Integer)object);
}
else if("Boolean".equals(type)){
editor.putBoolean(key, (Boolean)object);
}
else if("Float".equals(type)){
editor.putFloat(key, (Float)object);
}
else if("Long".equals(type)){
editor.putLong(key, (Long)object);
}
editor.commit();
}
/**
* 得到保存数据的方法,我们根据默认值得到保存的数据的具体类型,然后调用相对于的方法获取值
* @param context
* @param key
* @param defaultObject
* @return
*/
public static Object getParam(Context context , String key, Object defaultObject){
String type = defaultObject.getClass().getSimpleName();
SharedPreferences sp = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);
if("String".equals(type)){
return sp.getString(key, (String)defaultObject);
}
else if("Integer".equals(type)){
return sp.getInt(key, (Integer)defaultObject);
}
else if("Boolean".equals(type)){
return sp.getBoolean(key, (Boolean)defaultObject);
}
else if("Float".equals(type)){
return sp.getFloat(key, (Float)defaultObject);
}
else if("Long".equals(type)){
return sp.getLong(key, (Long)defaultObject);
}
return null;
}
}
使用也很简单,保存数据
SharedPreferencesUtils.setParam(this, "String", "xiaanming");
SharedPreferencesUtils.setParam(this, "int", 10);
SharedPreferencesUtils.setParam(this, "boolean", true);
SharedPreferencesUtils.setParam(this, "long", 100L);
SharedPreferencesUtils.setParam(this, "float", 1.1f);
获取数据
SharedPreferencesUtils.getParam(TimerActivity.this, "String", ""); SharedPreferencesUtils.getParam(TimerActivity.this, "int", 0);
SharedPreferencesUtils.getParam(TimerActivity.this, "boolean", false);
SharedPreferencesUtils.getParam(TimerActivity.this, "long", 0L);
SharedPreferencesUtils.getParam(TimerActivity.this, "float", 0.0f);
是不是挺方便的呢,希望对看过文章的你有一点点的帮助!
分享到:
相关推荐
SharedPreferences工具类(2种)
SharedPreferences工具类
android,SharedPreferences
一个SharedPreferences工具类 在工程根目录build.gradle添加jitpack: allprojects { repositories { maven { url "https://jitpack.io" } } } 在使用AnyPref的模块中添加: dependencies { compile '...
Android SharedPreferences SP 工具类,存储临时数据用
在Android开发中,有时候有些数据需要保存,在下次打开能够使用,那么如何保存呢?本资源通过一个例子使用SharedPreferences保存数据。
Android系统SharedPreferences进行的封装
Jetpack DataStore 是一种改进的新数据存储解决方案,允许使用协议缓冲区存储键值对或类型化对 象。 DataStore 以异步、一致的事务方式存储数据,克服了 SharedPreferences(以下统称为SP)的 一些缺点。 DataStore ...
通过SharedPreferences实现的轻量存储工具类,可以存储以及获取多种类型的数据(String、Boolean、Int、Float、Long),也可以清除所有数据、以及获取所有的键值对。
Android使用SharedPreferences保存账号密码
SharedPreferences 封装,保存基本数据类型,保存对象
对简单的数据类型进行存储,也增加了对象的存储,特别是平时比较复杂的类,我们都可以存储到本地后使用
Android数据存储之SharedPreferences,自己根据文档编写的代码,有需要的就下载吧。
SharedPreferences文件在不同应用之间数据共享
Android 3种数据保存(SharedPreferences存储 内部文件存储 数据库存储),如项目包有问题请联系我谢谢
Android数据存储——SharedPreferences实现登入记住密码功能。
嵌入式Android项目设计与开发 第六章 数据存储 ——SharedPreferences 2 SharedPreferences 键值对概念: 某一个数据都由一个键和一个值构成,键代表数据的名称,它是全局唯一的。具体的数据内容存放在值中。 键值对...
通过注解生成SharedPreferences包装类,解决跨进程数据访问不同步的问题