문제

When using the following code to copy a SQLite database from an Assets folder , the output is being put in the following folder: "/data/data/AndroidTestDb.AndroidTestDb/files/AndroidTestDup.db"

Here is the code:

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);

And the desired folder +filename is :

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

Thanks in Advance.

도움이 되었습니까?

해결책

There is no direct way, the closest I can think of is:

// someContext may be the current activity
String outFileName = someContext.getFilesDir().getParent().getAbsolutePath() + "/databases/AndroidTestDup.db";

다른 팁

Use Context.GetDatabasePath to obtain the filesystem path for your database file:

// Assuming a Context subclass, e.g. an Activity
string dbPath = GetDatabasePath("AndroidTestDup.db").AbsolutePath;

My idea to find out the sqlite database in monodroid is,

  • -First Install any android File Explorer application in your emulator.

  • -Then using the application just select any location you want to store your database.

  • -Then Use "adb push " command in adb. to copy your source
    database to a mobile location that
    you have selected.

  • -So now you know path of the database.

  • -Just use that path in your program.

Thank you...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top