Android Studio:簡易為 APP 建立存取資料功能的 SharedPreferences API

2019/10/05 3,706 0 軟體應用 , 行動平台 , 程式設計 , Android , JAVA , APP開發

假設您撰寫的 APP 要記錄前一次的使用記錄,並保留該記錄,讓下次 APP 開啟時能讀取前次資料以接續工作,這時 SharedPreferences 就會是您首選的 API,它是一個強大且可靠(一致性)的資料存放方式,因此比起其他方法來說相對消耗效能,使用過多的 SharedPreferences 可能會導致 APP 運作變得緩慢,這是特別要注意的地方。此次一樣使用 Android Studio 這個開發者工具。

▲ 在我自製的 QR Code 掃描器 APP 中,前一次的掃描記錄會使用 SharedPreferences API 存起來,關閉 APP 後記錄仍然存著,下次開啟 APP 時還可以看到上次的掃描結果,當然也能透過選單清除記錄,基本上這就是其用途之一,大家可以想想更多的創意用法唷!

⌨️ SharedPreferences API 之「寫入」

SharedPreferences record = getSharedPreferences("record", MODE_PRIVATE);
record.edit()
.putString("Field", "我要存的文字")
.apply();

第一行 getSharedPreferences 的「record」是寫入「record」檔案中,並採用 MODE_PRIVATE 模式儲存,該模式只限定這個 APP 可以存取該檔案的資料,現在幾乎都只有用這個模式;第三行前面是欄位名稱,後面是該欄位的值;第四行 apply() 提交,還有 commit() 可以使用,後者會將其選項同步寫入持永久性儲存空間內,不過若要快速建議用前者。

⌨️ SharedPreferences API 之「讀取」

String getRecord = getSharedPreferences("record", MODE_PRIVATE)
.getString("Field", "沒讀到資料就會顯示這段文字");

第一行就是先建立一個 String 的變數「getRecord」來接來自 SharedPreferences 的資料,我們會從「record」檔案中讀出「Field」欄位中的字串資料,若無資料則顯示「沒讀到資料就會顯示這段文字」。

 

以上的「寫入」「讀取」為最常用的,如果要學習更多請參考官方文檔,不只能儲存 String,其他的基本型態也都能儲存。

贊助廣告 ‧ Sponsor advertisements

留言區 / Comments

萌芽論壇