Saya memiliki aplikasi android yang perlu memeriksa apakah sudah ada catatan di database, dan jika tidak, memproses beberapa hal dan akhirnya memasukkannya, dan cukup membaca data dari database jika datanya memang ada. Saya menggunakan subclass SQLiteOpenHelper untuk membuat dan mendapatkan instance SQLiteDatabase yang dapat ditulis ulang, yang menurut saya secara otomatis akan menangani pembuatan tabel jika belum ada (karena kode untuk melakukannya ada di onCreate (... ) metode).
Namun, ketika tabel BELUM ada, dan metode pertama yang dijalankan pada objek SQLiteDatabase yang saya miliki adalah panggilan ke kueri (...), logcat saya menunjukkan kesalahan "I / Database (26434): sqlite return: error code = 1, msg = no such table: appdata ", dan tentu saja, tabel appdata tidak sedang dibuat.
Ada ide mengapa?
Saya mencari salah satu metode untuk menguji apakah tabel itu ada (karena jika tidak, data pasti tidak ada di dalamnya, dan saya tidak perlu membacanya sampai saya menulisnya, yang tampaknya membuat tabel benar), atau cara untuk memastikan bahwa itu dibuat, dan kosong, pada saat panggilan pertama ke kueri (...)
EDIT
Ini diposting setelah dua jawaban di bawah ini:
Saya pikir saya mungkin telah menemukan masalahnya. Saya untuk beberapa alasan memutuskan bahwa SQLiteOpenHelper yang berbeda seharusnya dibuat untuk setiap tabel, meskipun keduanya mengakses file database yang sama. Saya pikir refactoring kode itu untuk hanya menggunakan satu OpenHelper, dan membuat kedua tabel di dalamnya onCreate dapat bekerja lebih baik ...