Jason L
Jason L

Reputation: 1822

Accessible SQLiteDatabase on Android Phone

I'm currently writing a phonebook-type application for the Android OS. I'm currently using a SQLiteDatabase to hold my contact information. I know that the database is held in

data/data/package-name/databases

However, I'd need root access to be able to find that directory on an Android phone. Is there a way to put the database somewhere I can find it without having to root the phone?

Upvotes: 0

Views: 172

Answers (1)

avepr
avepr

Reputation: 1896

Just copy your DB to SD card programatically. This code is an example how to access your DB =)

               try {
                    input = new FileInputStream("/data/data/my_package_name/databases/" + DATABASE_NAME);

                    File dir = new File("/sdcard/database_dump");
                    dir.mkdir();

                    OutputStream output = new FileOutputStream("/sdcard/debugdump/myDb.db");

                    byte[] buffer = new byte[1024];
                    int length;
                    while ((length = input.read(buffer))>0) {
                        output.write(buffer, 0, length);
                    }

                    output.flush();
                    output.close();
                    input.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }

After your DB is copied to the sd card you can take it and work with it on your PC using whatever SQLite editor you like. For example: http://www.softpedia.com/get/Internet/Servers/Database-Utils/SqlPro.shtml

Upvotes: 1

Related Questions