0

私はEclipseでAndroidアプリケーションを作成し、データベースを作成しました(テスト用)。最終アプリケーションでそのデータベースを使用して、アプリから情報を取得して保存する必要があります。しかし、最も重要なことは、そのデータベースを他のユーザーと共有できる必要があることです。共有するファイルが見つかりません。私はSQLの知識があまりありませんが、.db形式で保存されていると思ったので、検索しようとしましたが、ファイルが見つかりませんでした. エントリは表示されますが、ファイルは表示されません。

携帯電話でもアプリを実行しましたが、データベース ファイルが見つかりませんでした。代わりに、whatsapp などの他のアプリのデータベース ファイルが見つかりました。

それで、私のデータベースはどこですか?

4

2 に答える 2

2

エミュレーターまたは実際のデバイスを使用しているかどうかにかかわらず、DDMS (ウィンドウ -> パースペクティブを開く -> DDMS ) を使用して DB をナビゲートできます。

DDMS にはファイル エクスプローラーがあります(表示されない場合は、ウィンドウ - > ビューを表示 -> ファイル エクスプローラー)。

これで、次のようにデータベースに移動できます/data/data/<app-package-name>/databases/<database-name>

ここで、ファイルを保存するには、ファイル エクスプローラーの右上隅にある [保存] ボタンをクリックします。

アップデート:

実際、テーブルの行を挿入する前は、データベースが見えません。事前定義されたデータを含む静的テーブルが必要な場合は、テーブルの作成時に挿入できます。例:- メソッド参照- onCreate()>

public class DbHelper extends SQLiteOpenHelper {

SQLiteDatabase db;

public DbHelper(Context context) {
    super(context, "pics.db", null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("create table picture(_id INTEGER PRIMARY KEY,pics varchar(20))");
    db.execSQL("insert into picture values(1001,'one.jpg')");
    db.execSQL("insert into picture values(1002,'two.jpg')");

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // TODO Auto-generated method stub

}
public long insert(ContentValues cv) {
    db = getWritableDatabase();
    long l=db.insert("picture", null, cv);
    db.close();
    return l;

}
public Cursor getAllValues() {
    db=getReadableDatabase();
    Cursor cr=db.query("picture", null, null, null, null, null, "_id");
        db.close();
        return cr;
    }

}
于 2013-10-07T14:57:14.660 に答える
2

作成したデータベースは、デバイスの内部ストレージにあります。

/data/data/<app-package-name>/databases/<database-name>

ファイル エクスプローラーでそのファイルを表示するには、root になる必要があります。

于 2013-10-07T14:48:37.877 に答える