利用SP存儲在A(yíng)ndROId中的應用
介紹
在A(yíng)ndroid開(kāi)發(fā)中,我們經(jīng)常需要在應用程序中保存一些數據以供后續使用。Sharedpreferences(以下簡(jiǎn)稱(chēng)SP)是一種輕量級的數據存儲方式,它允許我們存儲少量的鍵值對,并且提供了方便易用的API。本文將介紹如何在A(yíng)ndroid中利用SP存儲數據。
什么是SharedPreferences?
SharedPreferences是Android系統中提供的一種輕量級數據存儲方式,它基于XML文件存儲,可以用來(lái)存儲少量的鍵值對,比如一些用戶(hù)設置項、用戶(hù)登錄信息等。
使用SharedPreferences的優(yōu)點(diǎn)
使用SharedPreferences的主要優(yōu)點(diǎn)是:
1. 數據存儲方便,只需要調用putXXX()方法即可。
2. 數據讀取方便,只需要調用getXXX()方法即可。
3. 輕量級,不需要使用SQLite數據庫等復雜的數據庫技術(shù)。
4. 可以跨進(jìn)程使用,比如多個(gè)應用程序之間共享數據。
使用SharedPreferences的步驟
使用SharedPreferences的步驟如下:
1. 創(chuàng )建一個(gè)SharedPreferences對象
2. 使用Editor對象向SharedPreferences中寫(xiě)入數據
3. 使用SharedPreferences對象讀取數據
創(chuàng )建一個(gè)SharedPreferences對象
創(chuàng )建一個(gè)SharedPreferences對象的方式有兩種:
1. 使用Context的getSharedPreferences()方法
2. 使用PreferenceManager的getDefaultSharedPreferences()方法
getSharedPreferences()方法需要傳入兩個(gè)參數,第一個(gè)參數是SharedPreferences的名稱(chēng),第二個(gè)參數是操作模式,常用的操作模式有兩種,MODE_PRIVATE和MODE_MULTI_PROCESS。
getDefaultSharedPreferences()方法只需要傳入一個(gè)Context對象即可,它的SharedPreferences的名稱(chēng)是被固定為PACKAGENAME_preferences.xml,操作模式為MODE_PRIVATE。
使用Editor對象向SharedPreferences中寫(xiě)入數據
使用SharedPreferences.Editor對象可以向SharedPreferences中寫(xiě)入數據。常用的數據類(lèi)型有四種,分別是boolean、int、float和String。
下面是一個(gè)向SharedPreferences中寫(xiě)入數據的例子:
```Java
SharedPreferences sharedPreferences = getSharedPreferences("Test", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("isLogin", true);
editor.putInt("age", 18);
editor.putFloat("price", 9.9f);
editor.putString("name", "Tom");
editor.apply(); // 或者使用commit()方法提交數據
```
這段代碼中,我們使用了getSharedPreferences()方法獲取了一個(gè)名為“Test”的SharedPreferences對象,并且使用editor對象向其中寫(xiě)入了一個(gè)boolean類(lèi)型、一個(gè)int類(lèi)型、一個(gè)float類(lèi)型和一個(gè)String類(lèi)型的數據。
使用SharedPreferences對象讀取數據
使用SharedPreferences對象讀取數據也很簡(jiǎn)單,可以直接調用對應的getXXX()方法,如果數據不存在,則會(huì )返回一個(gè)默認值。例如:
```Java
SharedPreferences sharedPreferences = getSharedPreferences("Test", Context.MODE_PRIVATE);
boolean isLogin = sharedPreferences.getBoolean("isLogin", false);
int age = sharedPreferences.getInt("age", 0);
float price = sharedPreferences.getFloat("price", 0.0f);
String name = sharedPreferences.getString("name", "");
```
這段代碼中,我們使用了getBoolean()、getInt()、getFloat()和getString()方法從SharedPreferences對象中讀取了之前存儲的四個(gè)數據,并且指定了一個(gè)默認值。
總結
SharedPreferences是Android系統中提供的一種輕量級的數據存儲方式,可以用來(lái)存儲少量的鍵值對。使用SharedPreferences的步驟非常簡(jiǎn)單,只需要創(chuàng )建一個(gè)SharedPreferences對象、使用Editor對象向其中寫(xiě)入數據、使用SharedPreferences對象讀取數據即可。在實(shí)際開(kāi)發(fā)中,SharedPreferences常用于存儲用戶(hù)設置項、用戶(hù)登錄信息等。