ANDROID APP
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
ตัวจัดการข้อมูลสำารองบนระบบปฏิบัติการแอนดรอยด์<br />
295<br />
BackupManager จะทำงานร่วมกับแอพผ่านทาง Backup Agent ในการสร้าง Backup Agent<br />
นั้น ผู้พัฒนาสามารถใช้งานคลาส BackupAgent ภายในคลาสอื่นๆ ได้ ซึ่งมีเมธอดจำนวน 2 ตัวที่จะต้อง<br />
โอเวอร์ไรด์ คือ onBackup() จะเริ่มทำงานเมื่อเมธอด dataChanged() ทำงาน และ onRestore()<br />
จะเริ่มทำงานเมื่อเมธอด requestRestore() ทำงาน<br />
public class MyBackupAgent extends BackupAgent {<br />
@Override<br />
public void onCreate() {<br />
...<br />
}<br />
}<br />
@Override<br />
public void onBackup(ParcelFileDescriptor oldState,<br />
BackupDataOutput data,<br />
ParcelFileDescriptor newState){<br />
...<br />
}<br />
@Override<br />
public void onRestore(BackupDataInput data, int appVersionCode,<br />
ParcelFileDescriptor newState){<br />
...<br />
}<br />
ในเมธอด onBackup() จะมีค่าพารามิเตอร์จำนวน 3 ตัวที่จะส่งค่าไปยัง Backup Manager คือ<br />
m oldState – ส่งค่าสถานะการสำรองข้อมูลครั้งล่าสุด<br />
m data – ข้อมูลที่ต้องการสำรอง<br />
m newState – อัพเดตสถานะปัจจุบันของการสำรอง ในที่นี้ค่าสถานะนี้จะกลายเป็นค่า<br />
oldState ในการสำรองข้อมูลครั้งต่อไป<br />
เวลาใช้งานคำสั่ง onBackup() เราต้องตรวจสอบค่าของ oldState ก่อนที่จะส่งไปยัง<br />
BackupManager ถ้าค่าตรงกันก็ไม่ต้องสำรองข้อมูล แต่ถ้าไม่ตรงกัน พารามิเตอร์ data ก็จะถูกส่งไป<br />
ยัง Backup Manager และอัพเดตค่าของ newStat<br />
ในเมธอด onRestore() จะมีค่าพารามิเตอร์จำนวน 3 ตัวที่จะส่งค่าไปยัง BackupManager คือ<br />
m data – ข้อมูลที่สำรองครั้งล่าสุด<br />
m appVersionCode – เลขเวอร์ชั่นของแอพในระหว่างที่สำรองข้อมูล ซึ่งค่านี้จะกำหนดอยู่<br />
ในไฟล์ Manifest โดยใช้ชื่อแอททริบิวต์ว่า android:versionCode<br />
m newState() – เขียนสถานะปัจจุบันเพื่อใช้เป็นจุดกู้คืน (Restore Point)