SQLite Administrator を使用して作成された拡張子 .s3db のデータベース ファイルがあります。Android アプリケーションを使用してデータベースに接続したいと考えています。データベースを assets フォルダーに配置しました。データベースを開くために記述する必要があるコードは何ですか?
質問する
2181 次
2 に答える
0
以下は、 assetsフォルダーに保存されているデータベースにアクセスするための段階的な手順を示す完全なチュートリアルです。
既存の sqlite-database-in-android を使用
ところで、手動で作成したデータベース(SDカードにある)を使用したい場合は、次のようにアクセスしてください:
File dbfile = new File("/sdcard/Your_db_File" );
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);
于 2012-05-25T08:39:56.943 に答える
0
前に検索したように、結果として、ソフトウェアをインストールした後、フォルダーにあるデータベースをassets
フォルダーにコピー/data/data/your_package/
して、簡単に使用する必要があります。このために、以下のコードを使用して、実行時にデータベースをコピーします。
if (!new File("/data/data/" + this.getPackageName()
+ "/database.sqlite").exists()) {
try {
FileOutputStream out = new FileOutputStream("data/data/"
+ this.getPackageName() + "/database.sqlite");
InputStream in = getAssets().open("databases/dic.db");
byte[] buffer = new byte[1024];
int readBytes = 0;
while ((readBytes = in.read(buffer)) != -1)
out.write(buffer, 0, readBytes);
in.close();
out.close();
} catch (IOException e) {
}
}
このコードを MainActivity のonCreate
関数に配置する必要があります。プロジェクト全体で独自のデータベースを簡単に使用できます。データベースにアクセスするには、次のコードを使用できます。
SQLiteDatabase sqliteDB = SQLiteDatabase.openOrCreateDatabase(
"/data/data/" + this.getPackageName() + "/database.sqlite",
null);
Cursor cursor = sqliteDB.rawQuery("SELECT * FROM table", null); // example of query
楽しめ :)
于 2012-05-25T09:12:10.190 に答える