- เช็คว่าใช้ แอพพลิเคชั่นครั้งแรกหรือไม่?
- เช็คว่าแอพอัพเดทล่าสุดหรือยัง
- เก็บค่า Location ตำแหน่งของยูเซอร์
- เช็คการล็อกอินเข้าสู่ระบบ
- เก็บค่า Settings ของโปรแกรม เช่นเลือกภาษา , ฟร้อน , หรือตั้งค่าอื่นๆ
- เก็บค่าตัวแปรที่เรียกใช้ร่วมกันได้ในทุก Activity
การเรียกใช้งาน SharedPreference
SharedPreferences spf = getSharedPreferences("filename", mode);
filename : ชื่อไฟล์ xml ที่ใช้เก็บข้อมูล
mode : ประกอบด้วย 6 mode ที่สามารถศึกษาได้จาก ลิงค์นี้
โดยปกติเราจะใช้เป็น MODE_PRIVATE
[Note] - การใช้งาน SharedPreference จะสร้าง XML files เก็บในมือถือของคุณที่อยู่ใน /data/data/
เช่น /data/data/com.iak1.basicencryption/shared_prefs
การ Put ข้อมูลเก็บใน SharedPreferences
SharedPreferences spf = getSharedPreferences("user_login", MODE_PRIVATE);
SharedPreferences.Editor spf_edit = spf.edit();
spf_edit.putString("username", "iak1");
spf_edit.putString("password", "mypassword");
spf_edit.commit();
ผลลัพธ์ : จะได้ไฟล์ SharedPreferences ชื่อ user_login
มี key : username เก็บ String : iak1
มี key : password เก็บ String : mypassword
ถ้าต้องการดึงข้อมูลออกมาใช้งาน
SharedPreferences spf = this.getSharedPreferences("user_login", MODE_PRIVATE);
String username = spf.getString("username", null);
String password = spf.getString("password", null);
การดึงข้อมูลประเภทอื่นๆ
pref.getString("key_name", null);
pref.getInt("key_name", null);
pref.getFloat("key_name", null);
pref.getLong("key_name", null);
pref.getBoolean("key_name", null);
การลบ Value ใน KEY ภายใน SharedPreferences
SharedPreferences spf = getSharedPreferences("filename", MODE_PRIVATE);
SharedPreferences.Editor spf_edit = spf.edit();
spf_edit.remove("key");
spf_edit.commit();
*ลบทั้งหมดใช้ spf_edit.clear();
super user บน rooted device จะสามารถเข้าถึงข้อมูลของ SharedPreferences
เพราะฉนั้นควรพิจารณาเมื่อนำไปใช้เก็บข้อมูลสำคัญๆ เช่น Password ของผู้ใช้ เป็นต้น
วิธีทางป้องกัน คือควรทำ pref encryption , ใช้งาน Secure Preference