View contents of database file in Android Studio
Master System Design with Codemia
Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.
In this article, we will explore how to view the contents of a database file in Android Studio. This process is essential for debugging and verifying data storage in Android applications. This guide will cover the necessary tools and commands, as well as provide examples and explanations.
Introduction
Android applications often use SQLite as the database engine. This lightweight database is embedded within the Android OS and allows for efficient data storage and retrieval. Developers working with SQLite need a way to view and manipulate this data directly. Android Studio offers several tools to facilitate this, including Database Inspector and the Android Device Monitor. Let’s explore these options.
Viewing Database with Database Inspector
The Database Inspector is a tool integrated into Android Studio, which provides a graphical interface to explore your app's databases.
Requirements
- Android Studio 4.1 or later
- A device or emulator running Android API level 26 or higher
Steps
- Launch your Application: Run your app in either an emulator or a connected device.
- Open Database Inspector: Navigate to `View -> Tool Windows -> Database Inspector`. Alternatively, you can use the shortcut `Alt + Shift + D` on Windows/Linux or `Option + Command + D` on macOS.
- Select the Application Process: In the Database Inspector, choose the process of your app from which you want to inspect the database.
- Browse Database Content: Once connected, the Database Inspector will list all databases available in your app. You can expand tables to see their columns and browse rows.
- Run Queries: There is a query editor at the bottom where you can run custom SQL queries to view or manipulate the data.
- Live Updates: Any changes you make through the app are immediately visible in the inspector, aiding dynamic troubleshooting.
Example
Suppose we have a `users` table in our app, and we want to check its contents to debug an authentication error. You can simply select the `users` table and view its rows to verify stored data.
Viewing Database with Android Device Monitor
For older versions of Android Studio, or when using APIs below level 26, the Android Device Monitor provides an alternative method.
Using Android Device Monitor
- Launch Android Device Monitor: Go to `Tools -> Android -> Android Device Monitor` in Android Studio.
- Open File Explorer: Once the Device Monitor is open, navigate to the File Explorer tab.
- Navigate to Database Location: Typically, databases are stored in `/data/data/``<package_name>``/databases/`.
- Pull Database File: Select the desired .db file and pull it to your local machine.
- Open Database with SQLite Browser: Use a third-party SQLite browser tool to open the database file and inspect its contents.
Alternatives and External Tools
Besides Android Studio's built-in tools, external SQLite viewers such as DB Browser for SQLite and SQLiteSpy can be used. These tools often provide more powerful features for database management and visualization.
Summary Table
Below is a table summarizing key points when viewing database contents in Android Studio:
| Method | Tools Required | API Level Requirement | Features | Limitations |
| Database Inspector | Integrated in Android Studio | 26+ | Live updates, Query execution | Requires newer Android and Studio versions |
| Android Device Monitor | Android Device Monitor | All | File Explorer | Tedious process and lack of live data visualization |
| External SQLite Viewer | DB Browser for SQLite, etc. | All | Advanced database management, Offline access | Requires additional software for data inspection |
Conclusion
Inspecting the contents of a SQLite database is a crucial part of Android app development. Whether you opt for the modern Database Inspector or the traditional Android Device Monitor, understanding how to access and analyze your database can significantly enhance the debugging process. Keep in mind the specific requirements and constraints associated with each method to choose the best tool for your needs.

