4
我需要檢查一個文件(帶有未知擴展名)是否是一個有效的SQLite數據庫。 db文件存儲在SD卡上。我需要在我的應用程序中導入數據庫。但是,如果用戶使用任何擴展名與數據庫的名稱相同的名稱創建文件,則代碼仍然會接受該文件,因爲它僅搜索名稱。 有沒有一種快速的方法來檢查存儲卡上存儲的sqlite數據庫的有效性。 我使用了這段代碼,但它仍然接受與db相同名稱的任意文件。Android:檢查一個文件是否是一個有效的SQLite數據庫
String path = Environment.getExternalStorageDirectory().getPath() + "/FOLDER/DB_FILE";
SQLiteDatabase database;
database = SQLiteDatabase.openDatabase(path, null, SQLiteDatabase.OPEN_READONLY);
if (database == null) {
Toast.makeText(getApplicationContext(), "Error: Incorrect/Corrupted File", Toast.LENGTH_SHORT).show();
return;
} else {Proceed with code here}
嘗試在數據庫上執行實際查詢,而不僅僅是打開它。 – CommonsWare
不明確。請冷靜下來,收集你的想法。嘗試打開文件。最終趕上例外,以防它不是一個有效的文件。正如@CommonsWare建議的,嘗試對它進行操作,即使是簡單的查詢。 –
@Rotwang使用實際的查詢工作就像CommonsWare說..謝謝你。但是,仍然爲什麼,只是打開數據庫,並檢查它是否爲空,不起作用?仍然困惑.. –