http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/Android - 私のSqlite3データベースをEclipseに入れるための適切な場所? Androidのシステムパスについて
この男の話:
//アプリケーションのデータベースのAndroidのデフォルトのシステムパス。
プライベート静的String DB_PATH = "/ data/data/YOUR_PACKAGE/databases /";
ここでは、DB_PATH = "/data/data/com.android.example/databases/"がsqliteデータベースに関する他の多くのリンクにあります。
問題は、eclipse(mac osx 10.7)でデータディレクトリを作成していないことです.Myroidola xoom(Android 4.0.3 - Ice cream sandwichを使用しています)では、デフォルトのシステムパスを特定できません。私は/データ/データ/を参照して何も参照していない... Astroファイルマネージャを使用しています。
私はMacを使用しているので、モトローラのxoomに私のEclipseワークスペースから私のAPKファイルを転送するためにアンドロイドファイルシステムアプリを使用しなければなりませんでした。私は私の質問の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);
}
}
私は本当にすぐにコメントします。私はあなたが私の質問をすることができるように、apkからデータベースを取り出し、私のxoomの内容をコピーする必要があることを理解しています。質問は、私はそれを保存するために自分の場所を作ることができるか、それはシステム上の特定のパスになければならないのですか? – cspam