0

http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

この男は、Android システム パスについて次のように語っています。

//アプリケーション データベースの Android のデフォルト システム パス。
private static String DB_PATH = "/data/data/YOUR_PACKAGE/databases/";

そしてここ:sqliteデータベースに関する他の多くのリンクのDB_PATH = "/data/data/com.android.example/databases/"。

問題は、eclipse (mac osx 10.7) がデータ ディレクトリを作成せず、motorola xoom (Android 4.0.3 - アイス クリーム サンドイッチ) でデフォルトのシステム パスを特定できないことです。Astro ファイル マネージャーを使用して /data/data/... を参照しているものは見当たりません。

私はMacを使用しているので、Androidファイルシステムアプリを使用して、apkファイルをEclipseワークスペースからmotorola xoomに転送する必要がありました。私の質問の1つは、これを置くのに適切な場所はどこですか、それとも重要ですか?

上記のリンクで説明されているように、Sqlite データベース ブラウザーを既にダウンロードして、データベースをいっぱいにしました。私は主キーを持っていません。.db ファイルをプロジェクトのアセット フォルダーにコピーしました。これもリンクの状態です。

また、私のデータベースはすでにテーブルで作成されているので、本当に私がする必要があるのは(私が推測する)誰もがいつも言及しているそのデータディレクトリにテーブルをコピーすることだけです。

これまでの私のコード:

public class DatabaseHelper extends SQLiteOpenHelper {

private Context myDbContext;
private static String dbName = "restaurant";

public DatabaseHelper(Context context){
    super(context, dbName, null, 1);
    this.myDbContext = context;

}

@Override
public void onCreate(SQLiteDatabase db) {

      //need to take input from local database and copy it 
      //but where do i copy the information to? what path should i use?

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    Log.w(DatabaseHelper.class.getName(), "upgrading database/changing database which will remove all old data!");
    db.execSQL("drop table if exists menu");
    db.execSQL("drop table if exists items");
    db.execSQL("drop table if exists server");
    onCreate(db);
}

}

4

1 に答える 1

0

問題は、Eclipse(Mac OSX 10.7上)がデータディレクトリを作成しなかったことです

/dataEclipse は、デバイス上にディレクトリーを作成しません。工場からあります。

私のモトローラ xoom (Android 4.0.3 - アイスクリーム サンドイッチ) では、デフォルトのシステム パスを特定できません。

Android には「デフォルトのシステム パス」という概念はありません。

私はMacを使用しているので、Androidファイルシステムアプリを使用して、apkファイルをEclipseワークスペースからmotorola xoomに転送する必要がありました。

ほとんどの Android 開発者は、単に Eclipse からアプリを実行します。

また、私のデータベースはすでにテーブルで作成されているので、本当に私がする必要があるのは(私が推測する)誰もがいつも言及しているそのデータディレクトリにテーブルをコピーすることだけです。

を使用するSQLiteAssetHelperと、データベースを Eclipse にパッケージ化する手順が示され、実行時に適切な場所に展開されます。

于 2012-03-11T13:09:13.227 に答える