20.11.2016 Views

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 และส่งค่ากลับไปยังเมธอด

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!