20.11.2016 Views

ANDROID APP

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

234 บทที่ 9 การทำางานร่วมกับข้อมูล<br />

}<br />

Log.v("Insert into database exception caught",<br />

ex.getMessage());<br />

return -1;<br />

}<br />

}<br />

public Cursor getdiaries()<br />

{<br />

Cursor c = db.query(Constants.TABLE_NAME, null, null,<br />

null, null, null, null);<br />

return c;<br />

}<br />

ในชุดคำสั่งที่ 9.10 จะแสดงการสร้างคลาส MyDBhelper เอาไว้ ซึ่งเฟรมเวิร์ค SQLIteOpen-<br />

Helper มีเมธอดที่ใช้จัดการหรืออัพเกรดฐานข้อมูลอยู่ เมื่อเริ่มใช้งานฐานข้อมูล เราจะต้องกำหนดชื่อ<br />

ของฐานข้อมูลที่ต้องการสร้าง โดยจะเก็บไว้ใน /data/data/com.cookbook.datastorage/<br />

databases และกำหนดค่าของเวอร์ชั่นฐานข้อมูลเพื่อที่ระบบจะได้ตรวจสอบได้ว่าจะต้องเรียกใช้คำสั่ง<br />

onCreate() หรือคำสั่ง onUpgrade()<br />

เราสามารถสร้างตารางในฐานข้อมูลได้ด้วยการใช้คำสั่ง SQL ซึ่งจะเขียนไว้ในเมธอด onCreate()<br />

ดังนี้<br />

create table MyTable (key_id integer primary key autoincrement,<br />

title text not null, content text not null,<br />

recorddate long);<br />

ในกรณีที่มีการอัพเกรดฐานข้อมูล เมื่ออัพเกรดเสร็จแล้ว ค่าตัวเลขของเวอร์ชั่นฐานข้อมูลจะ<br />

เปลี่ยนไป<br />

ชุดคำสั่งที่ 9.10 src/com/cookbook/data/MyDBhelper.java<br />

package com.cookbook.data;<br />

import android.content.Context;<br />

import android.database.sqlite.SQLiteDatabase;<br />

import android.database.sqlite.SQLiteException;<br />

import android.database.sqlite.SQLiteOpenHelper;<br />

import android.database.sqlite.SQLiteDatabase.CursorFactory;<br />

import android.util.Log;<br />

public class MyDBhelper extends SQLiteOpenHelper{<br />

private static final String CREATE_TABLE="create table "+<br />

Constants.TABLE_NAME+" ("+<br />

Constants.KEY_ID+" integer primary key autoincrement, "+<br />

Constants.TITLE_NAME+" text not null, "+<br />

Constants.CONTENT_NAME+" text not null, "+<br />

Constants.DATE_NAME+" long);";

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

Saved successfully!

Ooh no, something went wrong!