Trong Android tôi sử dụng phương pháp sau đây để xem cơ sở dữ liệu sqlite có tồn tại không và nếu tôi có thể mở nó và sử dụng nó.Trong Android, hãy kiểm tra xem cơ sở dữ liệu sqlite có tồn tại không theo thời gian
Nếu không thực hiện được thử nghiệm này, tôi sao chép tệp cơ sở dữ liệu từ nội dung (điều này chỉ xảy ra một lần khi người dùng khởi động ứng dụng lần đầu tiên).
/*
* Check if the database already exist to avoid re-copying the file each time you open the application.
* @return true if it exists, false if it doesn't
*/
private boolean checkDataBase() {
SQLiteDatabase checkDB = null;
try {
String myPath = DB_PATH + DB_NAME;
checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
} catch(SQLiteException e) {
//database does't exist yet.
}
if(checkDB != null){
checkDB.close();
}
return checkDB != null ? true : false;
}
Vấn đề là tôi nhận được báo cáo từ người dùng nói rằng dữ liệu của họ đã bị xóa và khi điều tra tôi có thể thấy cơ sở dữ liệu được thay thế bằng cơ sở dữ liệu. Vì vậy, đối với một số lý do ngay cả khi người dùng đã có một tập tin cơ sở dữ liệu đôi khi SQLiteDatabase.openDatabase() ném một lỗi. Tôi đã không thể tự mình tạo lại vấn đề nhưng dường như điều đó xảy ra đối với một số người dùng.
Bất kỳ ai có ý tưởng về sự cố có thể có ở đây? Có cách nào tốt hơn để làm bài kiểm tra này không?
Vui lòng trợ giúp với http://stackoverflow.com/questions/20728808/android-reading-stored-sqlite-database – gandharv09