Reputation: 275
So im new to working with databases in android, and I cant seem to figure out how to view a created database.
I created the database adapter class and in my main activity class.
I run it in the emulator with no issues, but how do I view the contents? The book im reading says "examine the file system of the Android device/emulator using DDMS. The database is created under the database folder" and has an image of the database under a database folder in Eclipse. I dont know what the first part really means (using DDMS?) and have no idea where the /data/data folder is that people mention.
Even running SQLite3 in CMD and typing ".tables" doesn't yield any database.
Upvotes: 14
Views: 23316
Reputation: 280
In android studio run your app in emulator and click on "Device File Explorer"
Explore data/data/{appname}/database. Then right click and save your database file. That's it.
Upvotes: 3
Reputation: 887
Retrieve databse from app from cmd
->adb -e shell
--->su root
--->cd data/data/app.name.com/databases
--->cp databasename.db /sdcard/DCIM/
--->exit
--->exit
->adb pull sdcard/DCIM/databasename.db
Upvotes: 11
Reputation: 1606
In Eclipse Go to Window > Open Persepective > Other > DDMS. Navigate to the DB like the image from the answer below, select the database then click on the floppydisk icon to pull the file from the device on the top right.
In the emulator, the location in DDMS should be /data/data/com.yourNamespace/databases in the File Explorer tab.
This is a pic of the DDMS perspective. In the File Explorer tab on the right, you would drill down to the databases folder. These are virtual folders, so you won't find them on your system. To examine the db, you would select the icon for Pull file from the device (sorry, it got cropped out in this screenshot) and open that file in SQLite.
Upvotes: 23
Reputation: 3071
The database is created on the emulator. Should be in /data/data/[package]/databases/ You can use DDMS to navigate the emulator's filesystem and pull the database file from it to examine locally.
Or you can use sqlite3 on a shell (adb shell) to examine it.
Upvotes: 1
Reputation: 12682
If you did not root your phone, only your app can access your database and it is not possible to view it through DDMS. You will need to implement a function that copies the database to the storage card (make sure you have the external storage permission). From there, you can view your database with an app like aSQLiteManager.
Alternatively, you can just use the Log
method along with cursors to print out whatever information you need, but the first method will provide you with a more graphical way of perusing your database.
Upvotes: 2