1. 程式人生 > >Android通過反射打造能夠存儲不論什麽對象的萬能SharedPreferences

Android通過反射打造能夠存儲不論什麽對象的萬能SharedPreferences

對象存儲 activity 源代碼 把他 snippet script target blank 一行代碼

我們通常使用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