android - เริ่มต้นสร้าง Sqlite บน Android ใน 2 STEP

Create Database SQLite on Android App in 2 step


1.Preparate Sqlite.java class

สร้างคลาส sqlite ที่สืบทอดจากคลาส SQLiteOpenHelper


exam code




แต่ ! การประกาศ TEXT(30) รวมทั้ง VARCHAR(10) ฯลฯ
แบบนี้จะไม่มีผลใน SQLite
เพราะ 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

ไม่มีความคิดเห็น:

แสดงความคิดเห็น