4
ファイル(拡張子が不明)が有効なSQLiteデータベースであるかどうかを確認する必要があります。 dbファイルはsdカードに保存されています。私は自分のアプリケーションでデータベースをインポートする必要があります。しかし、ユーザが任意の拡張子を持つデータベースと同じ名前でファイルを作成した場合、ファイルは名前だけを検索するため、コードによって引き続き受け入れられます。 メモリカードに保存されているsqlite dbの有効性を確認する簡単な方法はありますか? 私はこのコードを使用しましたが、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のように実際のクエリを使用して言った..それをありがとう。しかし、なぜ、データベースを開いてヌルかどうかを確認するだけでは機能しません。まだ混乱している.. –