Xem nội dung của cơ sở dữ liệu được tạo bằng Thư viện Kiên trì Phòng


98

Có cách nào dễ dàng hơn để xem nội dung cơ sở dữ liệu được tạo bằng Thư viện Kiên trì Phòng trong Android Studio không?


6
easier wayso với cách nào?
Vladyslav Matviienko

1
so với các cách tiếp cận cũ như sử dụng DDMS hoặc thông qua adb shell. DDMS đóng băng máy tính của tôi và việc sử dụng adb đòi hỏi rất nhiều công việc. Tôi nghĩ rằng phải có cách dễ dàng hơn vì nó được phát hành bởi Google gần đây
SpiralDev

12
Không trong studio android, nhưng điều này github.com/facebook/stetho là cây cầu gỡ lỗi Android tốt nhất được phát triển bởi facebook, từ đó bạn có thể thấy cơ sở dữ liệu của bạn ứng dụng, thậm chí sharedpreferences vv
Moinkhan

Câu trả lời:


47

Phương pháp 1

Bạn có thể sử dụng Android-Debug-Database và bạn có thể CRUD dữ liệu của mình từ một trình duyệt, sau đó bạn có thể xem dữ liệu Preferences của mình từ một trình duyệt.

Phương pháp 2

Nếu bạn không muốn sử dụng từ Trình duyệt và bạn phải kiểm tra các tệp khác, cần kiểm tra các thay đổi dữ liệu của mình, hãy sử dụng Trình giả lập Genymotion. Vì vậy, bạn phải root trình mô phỏng của mình . /stackoverflow.com/a/44039429/2772552 . Hãy cho tôi biết nếu bạn không ổn.


Có thể xem tệp cơ sở dữ liệu nhưng không thể xem các bảng đã tạo trong cơ sở dữ liệu. Tôi đã thử cả hai phương pháp
Ravikiran

9
Cuối cùng tôi đã tìm ra giải pháp sau một ngày làm việc. Xuất các tệp "userdatabase", "userdatabase-shm" và "userdatabase-wal" từ trình mô phỏng và mở tệp "userdatabase" trong trình xem sqlite
Ravikiran

nếu db là trong dir nội bộ, bạn không được phép để xem ở đó, tự sao chép tập tin .db để dir lưu trữ bên ngoài và nó sẽ làm việc cho u
Htoo Aung Hlaing

Tôi đã gặp sự cố với phương pháp 1 trong đó nó gây ra sự cố đọc / ghi với các tác vụ không đồng bộ khác. Đã khiến ứng dụng bị đóng băng.
Jeffrey

90

Trong các phiên bản Android Studio cũ hơn:

Emulator -> Android Studio -> Device File Explorer -> /data/data/{$packageId}/databases/ -> Save As -> https://sqlitebrowser.org/

Trong các phiên bản Android Studio mới hơn (3.5+):

View -> Tool Windows -> Device File Explorer -> /data/data/{$packageId}/databases/ -> Save As -> https://sqlitebrowser.org/

1
hoạt động không được phép
Jonathan

2
@jonney Phương pháp này sẽ chỉ hoạt động trên thiết bị gốc hoặc trình giả lập.
Hitesh Bisht

1
Điều này cũng sẽ hoạt động trên điện thoại không root có cài đặt ứng dụng có thể gỡ lỗi, ngoại trừ các thiết bị Samsung
Gaket

1
Đây phải là câu trả lời được chấp nhận - cách dễ nhất để có được DB mà không cần phải tải xuống phần mềm hoặc root thiết bị.
beyondtheteal

1
@ JakubJabłoński khởi chạy ứng dụng của bạn trên trình giả lập, thay vì mở Device File Explorer trong Android Studio
kreker

66

trong studio android 3.1. *

trong thanh cửa sổ công cụ, nhấp vào " Device File explorer" nói chung bạn có thể tìm thấy điều này ở góc dưới cùng bên phải của màn hình

mở thư mục trong data/data/your-application-package/databases

với kiến ​​trúc mới 3 tệp được tạo trong thư mục cơ sở dữ liệu

your-database-name
your-database-name-shm
your-database-name-wal

bạn phải xuất cả 3 trong cùng một thư mục

sau đó mở một tệp đầu tiên (chỉ với tên cơ sở dữ liệu của bạn) trong bất kỳ trình duyệt sqlite nào.

và bây giờ bạn có thể xem tất cả dữ liệu của mình .......

your-database-name-shm
your-database-name-wal

hai tệp bổ sung này là cần thiết để mở tệp db nếu bạn chỉ mở tệp cơ sở dữ liệu, hơn là bạn sẽ không tìm thấy bất kỳ bảng nào trong tệp đó


Làm cách nào để tìm đường dẫn "/ data / data / ..." trên hệ thống tệp của tôi?
Awais Hussain

Tác giả của câu trả lời này thực sự cho thấy nơi sống của `` Device File Explorer`, giúp tiết kiệm thời gian cho người mới; do đó +1
Ilonpilaaja 29/09/18

@AwaisHussain: sử dụngcontext.getDatabasePath("your-db-name.db")
gMale

Nhấn shift hai lần để tìm kiếm mọi nơi và nhập Device File Explorer nếu nó bị xóa khỏi góc dưới cùng bên phải trong studio android của bạn.
COYG

Cảm ơn bạn đã trả lời tôi
Amirhf 23/12/19

39

Tải xuống và cài đặt trình duyệt DB cho SQLite

Trong các phiên bản Android Studio> = 3.0:

Mở Device File Explorer qua:

Xem > Công cụ Windows > Trình khám phá tệp thiết bị

Trong "Device File Explorer" Đi tới:

data > data > PACKAGE_NAME > cơ sở dữ liệu

trong đó PACKAGE_NAME là tên gói của bạn (nó là com.edgedevstudio.sample trong ví dụ bên dưới)

Trình khám phá tệp thiết bị

Nhấp chuột phải vào cơ sở dữ liệu và chọn Save As. Lưu nó ở bất cứ đâu bạn muốn trên PC của mình.

Mở, Trình duyệt DB cho SQLite và nhấp vào 'mở Cơ sở dữ liệu' và mở cơ sở dữ liệu. nhập mô tả hình ảnh ở đây

Trong trường hợp của ví dụ trên, bạn nên định vị " todolist " KHÔNG phải "todolist-shm" cũng không phải "todolist-wal"

Nếu bạn không xuất 3 tệp cơ sở dữ liệu (db_name, db_name-shm & db_name-wal, trong đó db_name = tên của cơ sở dữ liệu), bạn sẽ không thể đọc cơ sở dữ liệu.


Đây là những gì tôi đang tìm kiếm .. Chính xác những gì được yêu cầu! Cảm ơn @EdgeDev
Kannan_SJD

19

Cá nhân tôi sử dụng Cơ sở dữ liệu gỡ lỗi Android

Cơ sở dữ liệu gỡ lỗi Android là một thư viện mạnh mẽ để gỡ lỗi cơ sở dữ liệu và các tùy chọn được chia sẻ trong các ứng dụng Android.

Bắt đầu nhanh

Thêm cái này vào build.gradle của ứng dụng

debugImplementation 'com.amitshekhar.android:debug-db:1.0.4'

Chỉ cần khởi động ứng dụng, bạn sẽ thấy trong logcat một mục nhập như sau:

D/DebugDB: Open http://192.168.1.104:8080 in your browser

nhập mô tả hình ảnh ở đây


nhập mô tả hình ảnh ở đây


Để biết thêm thông tin, hãy xem github repo


1
Đây là cách tốt nhất vì không cần root thiết bị
Sunil

1
Chà! Công cụ tuyệt vời !! Cảm ơn anh bạn !!
Barakuda

10

Ngày 15 tháng 4 năm 2020 - Để dễ dàng, hãy làm theo các bước sau:

  1. Tải xuống chương trình SQLiteBrowser: Tải xuống SQLite cho mọi hệ điều hành
  2. Nhấp vào "Device Exploler" ở góc Dưới cùng bên phải trên Android Studio.
  3. Bạn sẽ thấy rất nhiều tệp. Đừng lo! Theo đường dẫn: data / data / {your app package name}
  4. Nhấp chuột phải vào "cơ sở dữ liệu" và Lưu dưới dạng trong máy tính của bạn.
  5. Mở SQLiteBrowser và nhấp vào "Mở cơ sở dữ liệu" sau đó chọn tệp có cùng tên với tên cơ sở dữ liệu của bạn.
  6. Bạn có thể xem các tệp và chọn tệp có cùng tên với tên bảng cơ sở dữ liệu của bạn.
  7. Bước cuối cùng, bạn có thể thấy tùy chọn "Duyệt dữ liệu" gần tùy chọn Cấu trúc cơ sở dữ liệu ". Khi bạn chọn nó, bạn có thể thấy dữ liệu cơ sở dữ liệu của mình.

Bạn có thể xem các bước và chỉ cần làm theo các số trên hình ảnh bên dưới

Bạn có thể xem các bước trên hình ảnh.

@canerkaseler


7

Sử dụng Stetho .

Thêm nó vào dự án Android của bạn dưới dạng dependency.

Gọi Stetho.initializeWithDefaults(this)trong của bạn Applicationvà xem cơ sở dữ liệu của bạn bằng công cụ kiểm tra chrome. Nhập sau trong thanh URL chrome của bạn: chrome://inspect.

Mau! Bạn có thể thấy của bạn Room database.


3

Tôi đã thực hiện việc này bằng các bước sau:

1) Tải xuống trình duyệt db từ liên kết sau.

https://sqlitebrowser.org/

2) Đi tới Device File Explorer từ IDE và sao chép ba tệp được tạo như nhập mô tả hình ảnh tại đây và chọn cả ba tệp: your-db, your-db-shm, your-db-wal

nhấn ctrl + shift + s và dán nó vào một số thư mục. Làm xong.

3) cuối cùng mở your-db bằng Ứng dụng DbBrowser.


cảm ơn, phải chọn cả ba tệp: * -db, * -db-shm, * -db-wal
xyz

2

Với bản phát hành mới nhất của Android Studio 4.1 Canary , Android Studio cung cấp công cụ mới có tên là Trình kiểm tra cơ sở dữ liệu .

Bạn có thể sử dụng công cụ Trình kiểm tra cơ sở dữ liệu này để xem tệp cơ sở dữ liệu và nội dung của nó, bạn cũng có thể chỉnh sửa nội dung cơ sở dữ liệu.

nhập mô tả hình ảnh ở đây

Nếu bạn đang sử dụng Room Persistencethì nó cũng cung cấp cơ sở để chạy @Querytrong Android Studio. Bạn có thể thấy nút chạy ở phía bên trái của @Querychú thích.

nhập mô tả hình ảnh ở đây

Nếu bạn đang sử dụng LiveDatathì nó sẽ phản ánh trực tiếp những thay đổi nội dung cơ sở dữ liệu,

nhập mô tả hình ảnh ở đây


1
You can see your database table on the DB Browser for SQLite & room DB.

 In android studio 
1. Click on View -> Tool Windows -> Device File Explorer -> data
2. Select your project package name -> database -> select all file and save on desktop

Install **DB browser for SQLITE** 
1. sudo apt-get install sqlitebrowser //write on your terminal for install DB browser
2. install DB browser for sqlite
3. click on Open database and select file where you had saved your data
4. click on Brower Data and see your tables

This is all where i have see my android room database

1

Với Android Studio 4.1 Canary 6 trở lên, bạn có thể kiểm tra, truy vấn và sửa đổi cơ sở dữ liệu của ứng dụng bằng Trình kiểm tra cơ sở dữ liệu mới. Ví dụ: bạn có thể gỡ lỗi ứng dụng đang chạy của mình bằng cách sửa đổi các giá trị trong cơ sở dữ liệu và thử nghiệm những thay đổi đó trên thiết bị.

https://developer.android.com/studio/preview/features#database-ins rà


Đây sẽ là câu trả lời chính thức.
Amit Sharma

0

Gần đây tôi đã thử Sethto By Facebook .

Stetho là một cầu nối gỡ lỗi phức tạp cho các ứng dụng Android. Khi được bật, các nhà phát triển có quyền truy cập vào tính năng Công cụ dành cho nhà phát triển Chrome nguyên bản của trình duyệt Chrome trên máy tính để bàn

Bạn chỉ cần bao gồm sự phụ thuộc của nó và cuộc gọi trong MainApp. Đó là nó. Bạn có quyền truy cập vào tất cả các công cụ trong chrome window bằng cách sử dụng chrome://inspect/bao gồm cơ sở dữ liệu sqlite của bạn.

Sau đây là ảnh chụp màn hình được kiểm tra bởi Cơ sở dữ liệu phòng trên Trình giả lập. Tôi chỉ thử trong giả lập cho đến nay.

nhập mô tả hình ảnh ở đây


0

sau khi nhận được DB (3 tệp) của bạn từ Device File Explorar như các nhận xét đã nói ở trên

Tôi thực sự khuyên bạn nên sử dụng chương trình dễ dàng như sử dụng "Trình duyệt DB cho SQLite" https://sqlitebrowser.org/

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.