Question

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.

Was it helpful?

Solution

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

OTHER TIPS

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...

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top