0

次のコードを使用してAssetsフォルダーからSQLiteデータベースをコピーすると、出力は次のフォルダーに配置されます: "/data/data/AndroidTestDb.AndroidTestDb/files/AndroidTestDup.db"

コードは次のとおりです。

Stream myInput = Assets.Open(@"AndroidTest.db");

string outFileName=System.IO.Path.Combine(System.Environment.GetFolderPath 
(System.Environment.SpecialFolder.Personal), "AndroidTestDup.db");

Stream myOutput = new FileStream(outFileName, FileMode.OpenOrCreate);

そして、目的のフォルダ+ファイル名は次のとおりです。

"/data/data/AndroidTestDb.AndroidTestDb/databases/AndroidTestDup.db"

前もって感謝します。

4

3 に答える 3

6

Context.GetDatabasePathを使用して、データベースファイルのファイルシステムパスを取得します。

// Assuming a Context subclass, e.g. an Activity
string dbPath = GetDatabasePath("AndroidTestDup.db").AbsolutePath;
于 2011-06-21T02:39:20.140 に答える
3

直接的な方法はありません。私が考えることができる最も近い方法は次のとおりです。

// someContext may be the current activity
String outFileName = someContext.getFilesDir().getParent().getAbsolutePath() + "/databases/AndroidTestDup.db";
于 2011-06-12T03:54:11.023 に答える
0

monodroidでsqliteデータベースを見つける私のアイデアは、

  • -まず、Androidファイルエクスプローラーアプリケーションをエミュレーターにインストールします。

  • -次に、アプリケーションを使用して、データベースを保存する場所を選択するだけです。

  • -次に、adbで「adbpush」コマンドを使用します。ソース
    データベースを選択したモバイルロケーションにコピーします

  • -これで、データベースのパスがわかりました。

  • -プログラムでそのパスを使用するだけです。

ありがとうございました...

于 2011-06-18T10:50:16.173 に答える