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

Posted gccbuaa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的信息
技术分享








以上是关于Android通过反射打造能够存储不论什么对象的万能SharedPreferences的主要内容,如果未能解决你的问题,请参考以下文章

Android属性动画

android动画具体解释二 属性动画原理

c#的属性和反射,大约是啥回事

Java学习:反射机制简介

Java反射机制总结

java反射机制