Create Database SQLite on Android App in 2 step
สร้างคลาส sqlite ที่สืบทอดจากคลาส SQLiteOpenHelper
exam code
แต่ ! การประกาศ TEXT(30) รวมทั้ง VARCHAR(10) ฯลฯ
แบบนี้จะไม่มีผลใน SQLite
เพราะ SQLite จะมองเป็น 5 Types หลักๆ
Integer , Text , Blob , Real , Numeric
เพราะ SQLite จะมองเป็น 5 Types หลักๆ
Integer , Text , Blob , Real , Numeric
SQLite Data types
img src : https://www.sqlite.org/datatype3.html |
การเรียกใช้ sqlite.java class ใน MainActivity
เริ่มต้นเราอาจจะ Insert ข้อมูลเข้าไปก่อน 1 ครั้งดังนี้
sqlite sqlite = new sqlite(MainActivity.this);
SQLiteDatabase db = sqlite.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("username", "testuser");
values.put("password", "testpass");
db.insert("users", null, values);
db.close();
ตอนนี้จะได้ไฟล์ Database พร้อม Tables , Columns ภายในเรียบร้อยแล้ว
โดยไฟล์ของฐานข้อมูลจะถูกเก็บไว้ที่ data/data/package_name/databases/file.xml
Android Studio สามารถใช้ Android Device Monitor Pull ไฟล์ออกมา
เพื่อเปิดดูได้ที่ Firefox Addon ( sqlite manager ) บน PC
-journal file คือ
ในตอนแรกที่ insert ข้อมูลเข้าไป
จะมีการสร้าง rollback journal file หรือ temporary file
เราอาจจะต้องใช้มันเมื่อมีการใช้งาน transaction
นอกจาก DELETE แล้ว PRAGMA Statements : journal_mode
ยังมีโหมด | TRUNCATE | PERSIST | MEMORY | WAL | OFF
ดูเพิ่มเติมได้ที่ - https://www.sqlite.org/pragma.html#pragma_journal_mode
เช่น หากต้องการลบ journal file ให้เพิ่มโค้ดด้านล่างนี้ใน onOpen
@Override
public void onOpen(SQLiteDatabase db) {
Cursor cc = db.rawQuery("PRAGMA journal_mode=DELETE",null);
Log.i(TAG,"--- cursor count " + cc.getCount()); //The journal file will get delete if you use cursor
super.onOpen(db);
}
บทเรียนต่อไป
การ select , insert , update , delete ฐานข้อมูล SQLite บน Android
http://iak1.blogspot.com/2015/07/sql-injection-android-app-prepare.html
ไม่มีความคิดเห็น:
แสดงความคิดเห็น