iT邦幫忙

2022 iThome 鐵人賽

DAY 20
0
Mobile Development

Android Studio - 30天菜鳥筆記系列 第 20

Android Studio菜鳥筆記 - Day20 - SharedPreferences

  • 分享至 

  • xImage
  •  

SharedPreferences是以Key-Value的方式來儲存資料,永久性存到Android裝置上

創建SharedPreferences

呼叫getSharedPreferences(String, int)方法得到物件
需要給定兩個參數,第一個參數是檔案名稱(String),第二個參數是存取權限(Int)

SharedPreferences pref = getSharedPreferences("SP", MODE_PRIVATE);

權限介紹

MODE_PRIVATE : 數據只能被本應用程序讀取、寫入,而在其它應用程式上都無法存取(預設)
MODE_APPEND : 該模式會檢查文件是否存在,存在就往文件追加內容,否則就創建新文件
MODE_WORLD_READABLE : 數據能被其他應用程式讀取,但不能寫入
MODE_WORLD_WRITEABLE : 裝置內的應用程式都可以寫入

寫入

使用edit()方法來取得SharedPreferences.Editor物件。
再來利用putString(),putInt()等等呼叫來存放你得資料
這裡也須輸入兩參數,因為是以Key-Value的方式來儲存資料,所以前面參數放Key的名稱,而後面放資料內容。
最後一定要記得commit()讓他執行

pref.edit()
    .putString("Name", "name")
    .putInt("Num", 3)
    .commit();

讀取資料

方法很簡單先利用getSharedPreferences找出SharedPreferences在使用getString,getInt來讀取你所存進去的資料,什麼類型的檔案就用對應get去拿(字串就用String、數值就用Int....)

String NAME = getSharedPreferences("SP", MODE_PRIVATE).getString("Name", null);
Int NUM = getSharedPreferences("SP", MODE_PRIVATE).getInt("Num", null);

SharedPreferences本身的定位是輕量級數據存儲,用於存儲簡單的數據結構,且提供了按模塊分區存儲的功能。所以盡量避免將重要資訊儲存在裡面,以免程式的安全性受到影響,也要避免將大量資料存取於其中 第一它會一直佔用內存 第二可能導致線程阻塞。


上一篇
Android Studio菜鳥筆記 - Day19 - Intent
下一篇
Android Studio菜鳥筆記 - Day21 - ProgressBar
系列文
Android Studio - 30天菜鳥筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言