3/18/2559

SharedPreferences ตัวแปรที่ใช้ได้หลาย Activity สำหรับเก็บข้อมูลลงใน Android คล้าย Session ของ PHP


สำหรับ Web Programmer ที่เคยใช้ PHP นั้น ย่อมคุ้นชินกับการใช้ตัวแปร ประเภท Session ที่เก็บค่าตัวแปรแล้วสามารถเข้าถึงตัวแปรใน File อื่นได้ สำหรับการเขียนโปรแกรมบน Android นั้นเราสามารถทำแบบนั้นได้เช่นกันโดยใช้ Class ที่ชื่อว่า SharedPreferences

//สร้าง object SharedPreferences สำหรับเก็บข้อมูล
SharedPreferences sp = getSharedPreferences("PREF_NAME", Context.MODE_PRIVATE);
//PREF_NAME เป็นชื่อ Shared Preferences ใช้ชื่ออะไรก็ได้
//Context.MODE_PRIVATE คือบอกว่าจะใช้แค่ในแอปพลิเคชันนี้เท่านั้น


String id =sp.getString("id", "0");
//อ่านค่าจาก object preferences โดยให้ค่า 0 (Default) หากยังไม่ได้กำหนด SharedPreferences

SharedPreferences.Editor editor = sp.edit();
editor.putString("id","1");//กำหนดค่าให้กับ SharedPreferences ที่ชื่อ  id  เป็น 1
editor.commit();//บันทึกค่า SharedPreferences

String id =sp.getString("id", "0");//ในกรณีนี้ id จะมีค่าเป็น 1 เพราะได้มีการกำหนดค่าแล้ว