1. 常规操作
1)保存简单变量
final SharedPreferences prefs = activity.getSharedPreferences(CACHE_NAME, 0); SharedPreferences.Editor spEditor = prefs.edit(); spEditor.putString(CACHED_STR_CONSTANT_NAME, cachedStr); spEditor.apply();
2)读取简单变量
String cacheStr = activity.getSharedPreferences(CACHE_NAME, 0) .getString(CACHED_STR_CONSTANT_NAME, null);
3)删除特定变量
final SharedPreferences prefs = activity.getSharedPreferences(CACHE_NAME, 0); SharedPreferences.Editor spEditor = prefs.edit(); spEditor.remove(CACHED_STR_CONSTANT_NAME); spEditor.apply();
4)清空所有变量
final SharedPreferences prefs = activity.getSharedPreferences(CACHE_NAME, 0); SharedPreferences.Editor spEditor = prefs.edit(); spEditor.clear(); spEditor.apply();
2. 复杂类型
可以考虑SQLite,但是如果数据量并不是很大可以考虑先转成json字符串,再存储;读取的时候再将该json串转化为对象。
比如要保留N个商品的信息
1)首先创建GoodsItem类:
public class GoodsItem { String goodsName; Float goodsPrice; //... }
2)然后创建用于json解析的class,包含所有数据的字段:
public class CachedGoodsItems { List<GoodsItem> goodsItems; //... }
3)存储(此处使用Gson将对象转换为json串,cachedGoodsItems为CachedGoodsItems 类型)
Gson gson = new Gson(); String cachedStr = gson.toJson(cachedGoodsItems); final SharedPreferences prefs = activity.getSharedPreferences(CACHE_NAME, 0); SharedPreferences.Editor spEditor = prefs.edit(); spEditor.putString(CACHED_STR_CONSTANT_NAME, cachedStr); spEditor.apply();
4)读取(此处使用Gson解析,cachedGoodsItems为CachedGoodsItems 类型)
String cacheStr = activity.getSharedPreferences(CACHE_NAME, 0) .getString(CACHED_STR_CONSTANT_NAME, null); if (cacheStr != null) { Gson gson = new Gson(); cachedGoodsItems = gson.fromJson(cacheStr, new TypeToken<CachedGoodsItems>() { }.getType()); }
相关推荐
然而,直接使用SharedPreferences存储自定义对象或复杂数据结构是不支持的,因为SharedPreferences只支持基本数据类型的序列化和反序列化。但是,在某些场景下,我们可能需要将自定义对象存入SharedPreferences,...
这篇博客"android SharedPreferences简单使用"可能会涵盖以下几个方面: 1. **SharedPreferences的基本操作**: - `getSharedPreferences()`方法:创建SharedPreferences对象,通常在`Context`上下文环境中调用,...
android应用SharedPreferences_Demoandroid应用SharedPreferences_Demoandroid应用SharedPreferences_Demoandroid应用SharedPreferences_Demoandroid应用SharedPreferences_Demoandroid应用SharedPreferences_Demo...
【Android中的DataStore替代SharedPreferences】 Android开发者们长期以来一直依赖SharedPreferences作为轻量级的数据存储解决方案,它的简单易用性使其在小规模数据存储方面受到了广泛欢迎。然而,随着应用程序...
Android SharedPreferences应用 实现本地注册登陆 功能简单易懂(实例) http://blog.csdn.net/h1028962069/article/details/9129851 文章代码
在Android开发中,SharedPreferences是一个轻量级的数据存储方式,常用于保存应用的配置信息或用户设置,如登录状态、主题颜色、用户偏好等。在这个场景中,我们将详细探讨如何使用SharedPreferences来设置和修改...
本文将详细介绍如何在Android中使用SharedPreferences实现自动登录。 一、SharedPreferences简介 SharedPreferences是Android中的一个接口,用于保存应用的首选项或设置。这些数据通常是非结构化的,以键值对的形式...
在这个小例子中,我们将探讨如何在Android应用中使用SharedPreferences来保存键值对。 首先,我们需要了解SharedPreferences的基本概念。SharedPreferences对象提供了一种接口,让我们可以创建、修改和读取存储在...
SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象本身只能...
在Android开发中,...总之,SharedPreferences是Android开发中不可或缺的一部分,掌握其使用方法对于提升应用的用户体验和功能完善至关重要。通过实践和探索,你可以更熟练地运用这一工具来满足各种数据存储需求。
在Android开发中,SharedPreferences是系统提供的一种轻量级的数据存储方式,主要用于保存应用程序中的简单配置数据,如布尔值、整型、浮点型、字符串等。由于它的操作简便且易于理解,因此在需要持久化小量数据时...
android,SharedPreferences
在本文中,我们将深入探讨如何在Android中使用SharedPreferences以及它的优点和注意事项。 一、SharedPreferences的基本使用 1. 获取SharedPreferences对象 要使用SharedPreferences,首先需要获取其对象。通常在...
在这个"android SharedPreferences"的主题中,我们将深入探讨SharedPreferences的工作原理、使用方法以及其在实现简单登录功能中的应用。 SharedPreferences是Android提供的一种轻量级的数据存储方式,它以键值对的...
在Android开发中,SharedPreferences是一个非常重要的轻量级数据存储机制,用于存储一些简单的配置信息,如用户设置、登录状态等。它提供了一种键值对的形式来保存数据,并且可以跨活动(Activity)共享。本篇文章将...
Android SharedPreferences SP 工具类,存储临时数据用
SharedPreferences是Android系统提供的一种轻量级的数据存储方式,主要用于存储应用程序的简单配置信息,如布尔值、整型、浮点型、字符串等基本类型及其数组。通常,SharedPreferences数据是私有的,即每个应用只能...
SharedPreferences是...在Android开发中,熟练掌握SharedPreferences的使用对于实现应用的个性化设置和状态保存至关重要。合理利用SharedPreferences可以提升用户体验,同时避免频繁的数据库操作,提高应用性能。
这个压缩包“Android应用源码之SharedPreferences.zip”很可能包含了一个示例项目,展示了如何在实际应用中使用SharedPreferences进行数据持久化。 SharedPreferences主要特点是简单易用,它提供了键值对的存储方式...
**Android的SharedPreferences详解** SharedPreferences是Android系统提供的一种轻量...总的来说,SharedPreferences是Android开发中的一个基础工具,理解其工作原理和使用方式,对于优化应用性能和用户体验至关重要。