Issue
I am using the latest version of Android Studio. When I run my app on the emulator, I am able to view my database by going through:
tools -> Android Device Monitor -> clicking on the emulator in the left panel -> file explorer -> data -> data -> com.project-name
But this option isn't available when running my app on a device.
I have checked related questions:
- Android - viewing SQLite databases on device? The most voted answer here suggests copying the database to SDcard, and it's even for eclipse.
- Access sqlite database on android device
and these questions are from 2011 and 2010. Are there any plugins I can use or other external tools?
Solution
Connect to Sqlite3 via ADB Shell
I haven't found any way to do that in Android Studio, but I access the db with a remote shell instead of pulling the file each time.
Find all info here: http://developer.android.com/tools/help/adb.html#sqlite
1- Go to your platform-tools folder in a command prompt
2- Enter the command adb devices to get the list of your devices
C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb devices
List of devices attached
emulator-xxxx device
3- Connect a shell to your device:
C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb -s emulator-xxxx shell
4- Navigate to the folder containing your db file:
cd data/data/<your-package-name>/databases/
5- run sqlite3 to connect to your db:
sqlite3 <your-db-name>.db
6- run sqlite3 commands that you like eg:
Select * from table1 where ...;
Note: Find more commands to run below.
SQLite cheatsheet
There are a few steps to see the tables in an SQLite database:
List the tables in your database:
.tablesList how the table looks:
.schema tablenamePrint the entire table:
SELECT * FROM tablename;List all of the available SQLite prompt commands:
.help
Source : This SO answer..
Answered By - Shubham A.
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.