基於android的app開發:android文件存儲方式

我們平常在QQ或微信上登錄賬號時會發現,如果之前登錄過賬號,則在用戶名的輸入框中會存在之前輸入過的賬號信息,這些用戶名信息是如何自動顯示在界面輸入框中的呢?

其實自動在QQ或微信的登錄界面顯示的用戶名信息是存儲在QQ或微信的本地數據。

當第一次登錄賬號時,程序會讀取登錄時的用戶名信息,並將該信息存儲到本地,存儲數據時常用的兩種方式是SharedPreferences文件存儲與SQLite數據庫存儲。

一般少量的數據會存儲在SharedPreferences文件中,大量的數據還是需要存儲在SQLite數據庫中的,所以用戶名信息會存儲在SharedPreferences文件中。

SharedPreferences是Android平台上一個輕量級的存儲類,當程序中有一些少量數據需要持久化存儲時,可以使用SharedPreferences類進行存儲。

接下來我們就一起開啟通往Android數據存儲之SharedPreferences的學習旅程吧!

1、將數據存入SharedPreferences文件中

使用SharedPreferences類存儲數據時,首先需要調用getSharedPreferences(String name,int mode)方法獲取實例對象。

由於該對象本身只能獲取數據,不能對數據進行存儲和修改,所以需要調用SharedPreferences類的edit()方法獲取到可編輯的Editor對象,最後通過該對象的putXxx()方法存儲數據,示例代碼如下面這樣:

//獲取sp對象,參數data表示文件名,MODE_PRIVATE表示文件操作模式
SharedPreferences sp = getSharedPreferences("data",MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit(); // 獲取編輯器
editor.putString("name", "傳智播客");           // 存入String類型數據
editor.putInt("age", 8);                                 // 存入int類型數據
editor.commit();                                           // 提交修改

由上述代碼可知,Editor對象是以key/value的形式保存數據的,並且根據數據類型的不同,會調用不同的方法。需要注意的是,操作完數據後,一定要調用commit()方法進行數據提交,否則所有操作不生效。

注意:SharedPreferences中的Editor編輯器是通過key/value(鍵值對)的形式將數據保存在data/data/<packagename>/shared_prefs文件夾下XML文件中,其中value值只能是float、int、long、boolean、String、Set<String>類型數據。

2、讀取與刪除SharedPreferences文件中的數據

前面講解了如何將數據存入到SharedPreferences文件中,當我們需要使用或刪除SharedPreferences文件中的數據時,我們該如何讀取或刪除SharedPreferences文件中的數據呢?下面詳細地介紹如何讀取和刪除SharedPreferences文件中的數據。

(1)讀取 SharedPreferences文件中的數據

讀取SharedPreferences文件中的數據非常簡單,只需要獲取到SharedPreferences對象,然後通過該對象的getXXX()方法獲取到相應key的值即可,示例代碼如下面這樣:

SharedPreferences sp = getSharedPreferences("data",MODE_PRIVATE);		
String data	 = sp.getString("name","");    // 獲取用戶名

需要注意的是,getXXX()方法的第二個參數為缺省值,如果sp中不存在該key,將返回缺省值,例如getString(“name”, “”),若name不存在則key就返回空字符串。

(2)刪除SharedPreferences文件中的數據

如果需要刪除SharedPreferences中的數據,則只需要調用Editor對象的remove(String key)方法或者clear()方法即可,示例代碼如下面這樣:

editor.remove("name");     // 刪除一條數據
editor.clear();             // 刪除所有數據

注意:

SharedPreferences使用很簡單,但一定要注意以下兩點:

●獲取數據的key值與存入數據的key值的數據類型要一致,否則查找不到數據。

●保存SharedPreferences的key值時,可以用靜態變量保存,以免存儲、刪除時寫錯了。如:private static final String key = “itcast”;

通過本篇文章,希望大家能夠掌握如何存儲程序中的少量數據,如何將數據存儲到SharedPreferences文件中,並且可以對存儲在SharedPreferences文件中的數據進行讀取和刪除操作。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/223321.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 14:17
下一篇 2024-12-09 14:17

相關推薦

發表回復

登錄後才能評論