Android通过反射打造能够存储不论什么对象的万能SharedPreferences

我们通常使用SharedPreferences存储一些须要保存在本地。但又不至于存储在数据库里的一些数据。一般我们用它来存储一些username,password等数据是很方便的,那么假设我们想要存储的信息有10几条。我们就得写10几行反复的代码把他们存进去。取出来的时候还得写10几行代码将他们一条一条取出来,那么有没有什么办法能够仅仅须要一行代码就能够将他们存进去,一行代码就将他们取出来?答案是有的,这篇文章我们就介绍怎样通过反射来实现。

1.将我们想要保存的数据封装成一个实体类 Person.java 当中属性我们都用Public来修饰


2.通过反射。将Person类中的属性取出来
我们先来測试一下属性有没有被取出来,我们在MainActivity.java中加入例如以下代码进行測试
我们来看一下Log打印的信息
我们能够看到,Person中的属性我们都已经拿到了

3.将对象存储到SharedPreferences中

4.将对象从SharedPreferences中取出来

5.我们来測试一下,改动MainAcitvity.java中的代码
我们看一下Log中打印的savedPerson的信息


原文地址:https://www.cnblogs.com/gccbuaa/p/7325915.html