0

SQLite Administrator を使用して作成された拡張子 .s3db のデータベース ファイルがあります。Android アプリケーションを使用してデータベースに接続したいと考えています。データベースを assets フォルダーに配置しました。データベースを開くために記述する必要があるコードは何ですか?

4

2 に答える 2

0

以下は、 assetsフォルダーに保存されているデータベースにアクセスするための段階的な手順を示す完全なチュートリアルです。


既存の sqlite-database-in-android を使用


独自の sqlite データベースの使用


ところで、手動で作成したデータベース(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 に答える