ANDROID APP
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
232 บทที่ 9 การทำางานร่วมกับข้อมูล<br />
จากการกำหนดค่าดังกล่าวนี้ เราสามารถแสดง EULA ได้ด้วยการเรียกใช้คำสั่งในเมธอด<br />
onCreate() ดังนี้<br />
Eula.show(this);<br />
ฐานข้อมูล SQLite<br />
ในกรณีที่ต้องทำงานร่วมกับข้อมูลที่มีขนาดใหญ่ การใช้งาน SQLite เพื่อเก็บข้อมูลดู<br />
จะเหมาะสมมากกว่าการใช้ Shared Preferences หรือไฟล์ข้อความ โดยในระบบปฏิบัติการ<br />
แอนดรอยด์นั้นมีการติดตั้งระบบฐานข้อมูล SQLite มาด้วยแล้ว SQLite มีลักษณะเป็นฐานข้อมูลเชิง<br />
สัมพันธ์ ซึ่งเราสามารถใช้คำสั่ง SQL ในการสืบค้นข้อมูลได้ แอพที่ใช้งาน SQLite นั้นจะมีอินสแตนซ์<br />
ของฐานข้อมูลเป็นของตัวเอง สามารถเข้าถึงได้จากตัวแอพเท่านั้น ไฟล์ฐานข้อมูลจะเก็บไว้ใน<br />
ไดเร็กทอรี /data/data//databases ขั้นตอนในการใช้งาน SQLite มีดังนี้<br />
1. สร้างฐานข้อมูล<br />
2. เปิดฐานข้อมูล<br />
3. สร้างตาราง<br />
4. สร้างอินเตอร์เฟซเพื่อใช้ในการเพิ่มข้อมูล<br />
5. สร้างอินเตอร์เฟซเพื่อใช้ในการค้นหาข้อมูล<br />
6. ปิดฐานข้อมูล<br />
ในหัวข้อถัดไปเราจะกล่าวถึงขั้นตอนของการเขียนชุดคำสั่งเพื่อทำงานดังกล่าว<br />
กรรมวิธี: การสร้างแพ็คเกจฐานข้อมูล<br />
ในโปรเจ็กต์แอนดรอยด์ที่มีความซับซ้อนนั้น เราควรสร้างแพ็คเกจฐานข้อมูลเอาไว้เพื่อให้ใช้งาน<br />
ได้ง่ายและเกิดความเป็นระเบียบ เช่น การนำคลาส database มาใส่ไว้ในแพ็คเกจ com.cookbook.<br />
data จะช่วยให้ง่ายต่อการเรียกใช้ในภายหลัง ซึ่งแพ็คเกจฐานข้อมูลจะประกอบไปด้วยคลาสจำนวน<br />
3 คลาส ดังนี้<br />
m MyDB() – ใช้เริ่มการทำงานของ MyDBhelper<br />
m open() – ใช้เริ่มการทำงานของอินสแตนซ์ SQLiteDatabase ด้วยการเรียกใช้<br />
MyDBHelper ซึ่งคำสั่งนี้จะใช้เปิดการเชื่อมต่อกับฐานข้อมูลแบบเขียนได้ แต่ในกรณีที่<br />
ระบบพบปัญหาในการทำงาน คำสั่งที่จะใช้ในการเปิดการเชื่อมต่อกับฐานข้อมูลจะเปลี่ยน<br />
เป็นแบบอ่านได้เพียงอย่างเดียว<br />
m close() – ปิดการเชื่อมต่อกับฐานข้อมูล<br />
m insertdiary() – ใช้เก็บข้อมูลในรูปแบบรายการลงในอินสแตนซ์ ContentValues<br />
และส่งค่าดังกล่าวไปยังอินสแตนซ์ SQLitedatabase เพื่อเพิ่มข้อมูล<br />
m getdiaries() – ใช้ในการอ่านข้อมูลจากฐานข้อมูล และเก็บข้อมูลดังกล่าวไว้ในคลาส<br />
Cursor และส่งค่ากลับไปยังเมธอด