0

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.

3 Answers 3

6

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;
Sign up to request clarification or add additional context in comments.

Comments

3

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

Comments

0

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.