`
coolerbaosi
  • 浏览: 766976 次
文章分类
社区版块
存档分类
最新评论

分享一个SharedPreferences的工具类,方便保存数据

 
阅读更多

我们平常保存一些数据,都会用到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(type, (Float)object);
		}
		else if("Long".equals(type)){
			editor.putLong(type, (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(type, (Float)defaultObject);
		}
		else if("Long".equals(type)){
			return sp.getLong(type, (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种)

    在Android开发中,通常会编写一个工具类来方便地操作SharedPreferences,下面我们将详细讲解两种常见的SharedPreferences工具类实现方法。 ### 方法一:静态内部类 1. 首先,创建一个名为`SharedPreferencesUtil`...

    SharedPreferences工具类

    总之,SharedPreferences作为Android开发中的一个基础组件,虽然功能相对简单,但在保存和恢复轻量级数据方面发挥了重要作用。理解和熟练使用SharedPreferences工具类,能够帮助开发者更好地管理应用的配置和状态。

    安卓开发之SharedPreferences的工具类分享(包括保存复杂对象)

    对简单的数据类型进行存储,也增加了对象的存储,特别是平时比较复杂的类,我们都可以存储到本地后使用

    轻量存储工具类(SharedPreferences)

    通过SharedPreferences实现的轻量存储工具类,可以存储以及获取多种类型的数据(String、Boolean、Int、Float、Long),也可以清除所有数据、以及获取所有的键值对。

    使用SharedPreferences进行数据存储

    `SharedPreferences`的实现原理基于XML文件,每个`SharedPreferences`实例对应一个XML文件,通常位于应用的私有数据目录下(`data/data/<package_name>/shared_prefs`)。当`Editor`提交更改时,系统会生成一个备份...

    SharedPreferences 保存多个用户名和密码

    在Android开发中,SharedPreferences是应用数据存储的一种简单方式,它主要用于保存轻量级的数据,如用户的偏好设置、登录状态等。在这个场景下,我们需要利用SharedPreferences来实现保存多个用户名和密码的功能,...

    sharedpreferences 保存对象.zip

    在Android开发中,SharedPreferences是用于存储轻量级数据的一个重要工具。它主要用于保存应用程序的配置信息或者用户的一些简单设置,比如开关状态、用户名等。由于它的简单易用和持久化特性,开发者常用来进行数据...

    Stanley,使用sharedpreferences在android上方便地存储简单的数据格式.zip

    4. **最佳实践**: Stanley项目可能演示了如何创建一个封装`SharedPreferences`的工具类,提供更简洁的API,以便开发者更方便地进行存取操作,减少代码冗余。 5. **文件结构**: 项目中的Stanley-master可能包含了...

    使用 SharedPreferences 存取复杂类型的数据

    要存取复杂类型数据,首先需要一个第三方库,如`androidx.core.util:core-utils`(如果你使用的是AndroidX),包含`Base64`工具类。在Android Studio中,可以在build.gradle文件中添加依赖: ```gradle dependencies...

    Android-通过注解生成SharedPreferences包装类解决跨进程数据访问不同步的问题

    注解处理器在编译期间,通过解析标记了`@SharedPreferences`的类,动态生成一个继承自`SharedPreferences`接口的类,这个类内部使用`SharedPreferences.Editor`来执行同步的写操作,确保在多进程中不会出现数据冲突...

    Android使用SharedPreferences进行数据存储,缓存ID等数据

    总结,SharedPreferences是Android开发中的一个重要工具,它为开发者提供了方便快捷的方式来存储和读取小量的数据,如缓存ID等。合理使用SharedPreferences,能有效地提高应用的用户体验和性能。

    Android数据操作工具类

    6. **批量操作**:工具类可能会支持批量的保存和读取操作,比如提供一个`putAll(Map, ?> map)`方法来一次性保存多个键值对。 7. **异步处理**:为了提高用户体验,工具类可能包含异步读写功能,避免阻塞UI线程。 ...

    Android数据存储--SharedPreferences存储

    - `getSharedPreferences(String name, int mode)`: 通过传入一个自定义的名字和访问模式(例如私有模式)来创建SharedPreferences对象,通常用于全局的配置设置。 - `getPreferences(int mode)`: 这个方法是针对...

    Android-Android系统SharedPreferences进行的封装

    因此,开发者会创建一个工具类(如SpTool),来封装SharedPreferences的常用操作,以达到以下目的: 1. **统一管理**:封装后的工具类可以集中处理SharedPreferences的实例化,避免在整个项目中多次创建和销毁,...

    总结复习android SharedPreferences XML存储方式

    首先,SharedPreferences通过XML文件在设备的内部存储中保存数据。当应用首次写入SharedPreferences时,系统会创建一个名为`<package_name>.shared_prefs/<filename>.xml`的文件。这里的`<package_name>`是应用的包...

    Android ShaerdPreferences保存bean以及任意类型

    在Android开发中,SharedPreferences是一个非常重要的组件,用于存储应用程序中的轻量级数据,如用户设置、状态信息等。它提供了一种键值对的存储方式,数据类型包括基本的String、int、boolean、float和long。然而...

    android SharedPreferences简单使用

    在Android开发中,SharedPreferences是用于存储轻量级数据的一个实用工具类,主要用来保存应用程序的配置设置或用户偏好。它提供了简单的键值对存储方式,适用于保存非敏感性的个人数据,如用户设置、应用状态等。这...

    Android快速开发系列 10个常用工具类 程序源码

    在Android应用开发中,工具类(Utils)是程序员经常使用的辅助模块,它们包含了一系列静态方法,用于处理各种常见的任务,从而提高代码的复用性和可维护性。本资源"Android快速开发系列 10个常用工具类 程序源码...

Global site tag (gtag.js) - Google Analytics