การเขียนแอปแอนดรอยด์ เชื่อมต่อ ฐานข้อมูล SQLite

รับปากไว้นานแล้วว่า จะรีวิว การทำแอปพลิเคชั่น ที่เกี่ยวกับ การเชื่อมต่อ ฐานข้อมูล SQLite วันนี้เป็นตอนแรก นะครับ จะเป็นอะไรที่พื้นๆ ที่สุด เพื่อให้เข้าใจ การเชื่อมต่อ , การเพิ่มฐานข้อมูล ครับ

จะใช้ฐานข้อมูล SQLite ต้องมีอะไร ?

  • ส่วนเชื่อมต่อกับฐานข้อมูล SQLite
  • ส่วนเพิ่ม , แก้ไข และ ลบ ฐานข้อมูล

ตรงนี้เข้าใจยากเรามาลองทำแอนเชื่อมต่อฐานข้อมูล SQLite กัน โดยเราจะทำแอป ที่ชื่อว่า LearnEasySQLite1 โดยประกอบไปด้วย ไฟล์จาวา 3 ไฟล์

  1. MySQLiteHelper จะ extend มาจาก class SQLiteOpenHelper ทำหน้าที่ สร้างตาราง , สร้างฐานข้อมูล หรือแม้นแต่การ Upgrade ฐานข้อมูล (ส่วนนี้ยังไม่ได้รีวิวนะครับ รอไว้ตอน 2)
  2. easyDbAdapter ส่วนนี้ทำหน้าที่ เพื่ม Data ไปที่ฟิว ต่างๆ ของตาราง
  3. MainActivity ส่วนนี้ทำหน้าที่ Random ค่า 1-3 โดยค่าที่ 1 แทน String "Random1" ไปเรื่อยๆจนถึง Random3 ทำให้เกิด Data เมื่อทำการเปิด Activity (จะได้มีค่า Data ไปพิวในตารางครับ)

 

แอป LearnEasySQLite1

 

 

 

เปิด eclipse ออกมา

แล้ว สร้าง Project Android ที่ชื่อว่า LearnEasySQLiteData1 ซึ่งใช้ Package app.androidthai.LearnSQLiteData1 ในส่วนของ Build Target ตามใจครับ 1.5-4 ก็ได้ (ผมใช้ แอนดรอยด์ 2.33) finish เพื่อ gen ค่า สำหรับ หลายๆท่าน ที่ต้องการโหลด SourceCode ไป Import เข้าไปใน eclipse สามารถไปโหลดได้จาก http://androidthai.in.th/download-code-android.html นะครับ ง่ายดี (แต่ไม่แนะนำ อย่างให้ลอง โค้ดดิงเอง)

 

 

ตอนแรกคุณจะมีแค่ MainActivity นะครับ ให้สร้าง Class เพื่อ 2 คลาส คือ

  • MySQLiteHelper
  • easyDbAdapter

 

MySQLiteHelper

ทำหน้าที่เชื่อมต่อ กับฐานข้อมูล SQLite โดยการ extend คลาส SQLiteOpenHelper เราลองสร้างขึ้นมาตามโค้ดข้างล่าง

 

 

ส่วนของการ extends SQLiteOpenHelper

 

 

ค่าคงที่ต่างๆ ผมกำหนดให้ ฐานข้อมูลผมชื่อ easydata มีเวอร์ชั่นเป็น 1

 

 

มีโครงสร้างของตาราง แบบนี้

 

ถ้าเรานำ ฐานข้อมูล SQLite ของเราไปเปิดใน SQLite Database Browser (ใครยังไม่มีในเครื่องไป ติดตั้งจาก ที่นี่ ) จะได้หน้าตาของ Table แบบนี้

 

 

โดยโค้ดกำหนดหน้าที่ว่า ถ้า ไม่สามารถตรวจพบ ฐานข้อมูล SQLite ที่ชื่อว่า easydata ให้ทำการสร้างใหม่ ตามรูปแบบ DATABASE_CREATE ที่เรากำหนด

 

 

ต่อมาดู easyDbAdapter กันบ้าง

 

 

ค่าคงที่ต่างๆ

 

ส่วนของการพิว ข้อมูลไปที่ Table

 

 

และสุดท้ายมาดูที่ MainActivity

 

 

ส่วนที่ทำหน้าที่ สุ่มค่า Random1 - 3 ไปเก็บในตาราง เวลาเปิด Activity

 

 

ก่อนที่จะทำการทดสอบ โค้ด เราลองมาดูที่อยู่ของ ฐานข้อมูล SQLite ที่ชื่อว่า easydata ที่เราสร้างขึ้น เปิด DDMS ที่ File Exploer ไปดูที่ Data ใน Package app.androidthai.LearnSQLiteData1 จะยังไม่มี ฐานข้อมูล SQLite เกิดขึ้น

 

 

ไม่มี

 

 

แต่เราเมื่อลองทดสอบโค้ดด้วย AVD สักครั้ง หรือ สองครั้ง

 

 

 

และลองเข้าไปดูใน DDMS ใหม่ จะเห็นมีการสร้าง ฐานข้อมูล SQLite ที่ชื่อว่า easydarta เกิดขึ้น

 

 

ผมลอง Get Device File ไปไว้ที่หน้า Desktop แล้วเปิดด้วย SQLite Database Browser

 

 

 

ลองดู Database Structure

 

 

หรือ Browse Data ดู เห็นไหมครับ เราสามารถ สร้าง , เชื่อมต่อ ฐานข้อมูล SQLite ได้แล้ว ครั้งหน้าเรามาลอง เพื่มฐานข้อมูลโดยการ key ผ่าน EditText บ้างครับ

 

 

 

 

คู่มือการอบรมแอนดรอยด์ สำหรับ ผู้เริ่มต้น

Open publication - Free publishing - More android

joomla stats



Powed By EWTC easy4com workshop & training center

53 Bangna-Trad14 Bangna Bangkok 10260

office:02-393-0970 fax:02-399-2542 hotline24/7:081-859-5309