Xem nội dung của tệp cơ sở dữ liệu trong Android Studio


250

Tôi đã sử dụng Android Studio để phát triển ứng dụng của mình kể từ khi nó được phát hành.

Mọi thứ hoạt động tốt cho đến gần đây, tôi phải gỡ lỗi cùng với việc kiểm tra tệp cơ sở dữ liệu. Vì tôi không biết cách xem cơ sở dữ liệu trực tiếp, khi tôi gỡ lỗi để tạo tệp cơ sở dữ liệu, tôi phải xuất tệp cơ sở dữ liệu từ điện thoại của mình sang PC.

Để làm điều này, tôi phải mở DDMS > File Explorer. Khi tôi mở DDMS, tôi phải kết nối lại USB và tôi mất chủ đề gỡ lỗi. Sau khi kiểm tra tệp cơ sở dữ liệu, tôi phải đóng DDMS và kết nối lại USB để quay lại chế độ gỡ lỗi.

Nó quá phức tạp. Có ai có cách tốt hơn để làm điều này trong Android Studio (tôi biết nó dễ dàng hơn trong Eclipse)?


Câu trả lời:


301

Xem cơ sở dữ liệu từ Android Studio:

Chỉnh sửa: Để xem cơ sở dữ liệu của bạn trên Trình giả lập, hãy làm theo các bước sau (đối với thiết bị thực tế, cuộn xuống phía dưới):

  1. Tải xuống và cài đặt SQLiteBrowser .

  2. Sao chép cơ sở dữ liệu từ thiết bị vào PC của bạn:

    • Phiên bản Android Studio <3.0 :

      • Mở DDMS quaTools > Android > Android Device Monitor

      • Bấm vào thiết bị của bạn ở bên trái.
        Bạn sẽ thấy ứng dụng của bạn: nhập mô tả hình ảnh ở đây

      • Chuyển đến File Explorer (một trong các tab ở bên phải), đi đến/data/data/databases nhập mô tả hình ảnh ở đây

      • Chọn cơ sở dữ liệu bằng cách chỉ cần nhấp vào nó.

      • Chuyển đến góc trên cùng bên phải của cửa sổ Màn hình thiết bị Android. Nhấp vào nút ' kéo tệp từ thiết bị ': nhập mô tả hình ảnh ở đây

      • Một cửa sổ sẽ mở ra hỏi bạn muốn lưu tệp cơ sở dữ liệu ở đâu. Lưu nó bất cứ nơi nào bạn muốn trên PC của bạn.

    • Phiên bản Android Studio> = 3.0 :

      • Mở File Explorer Explorer quaView > Tool Windows > Device File Explorer

      • Truy cập data > data > PACKAGE_NAME > database, trong đó PACKAGE_NAME là tên gói hàng của bạn (đó là com.Movie trong ví dụ trên)

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

  3. Bây giờ, hãy mở SQLiteBrowser mà bạn đã cài đặt. Nhấp vào ' mở cơ sở dữ liệu ', điều hướng đến vị trí bạn đã lưu tệp cơ sở dữ liệu và mở . Bây giờ bạn có thể xem nội dung của cơ sở dữ liệu của bạn.


Để xem cơ sở dữ liệu của bạn trên thiết bị di động của bạn:

Tới nay kho Github và làm theo các hướng dẫn trong readme để có thể xem cơ sở dữ liệu của bạn trên thiết bị của bạn. Những gì bạn nhận được là một cái gì đó như thế này:

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

Đó là nó. Tuy nhiên, không cần phải nói rằng bạn nên hoàn tác tất cả các bước này trước khi xuất bản ứng dụng của mình.


2
Đó là cho tôi câu trả lời chính xác bởi vì gợi ý với công cụ sqlitebrowser, thật tuyệt vời. Cảm ơn
Manu Zi

26
/ data không mở rộng trong trình duyệt tệp của Trình giám sát thiết bị, tôi đoán nó không thể truy cập được vì danh sách các mục của / data hoặc / data / data yêu cầu quyền truy cập superUser. Tôi vẫn có thể truy cập các tệp cơ sở dữ liệu của mình thông qua shell adb với các đặc quyền su. Có bất kỳ ý tưởng làm thế nào để có được quyền truy cập su trong trình quản lý tập tin?
Saravanabalagi Ramachandran

2
@ZekeDran, vâng, phương thức chỉ hiển thị dữ liệu từ trình giả lập chứ không phải thiết bị của bạn. Tôi đã thêm các bước để xem cơ sở dữ liệu trên thiết bị của bạn. Hãy kiểm tra chỉnh sửa
Ojonugwa Jude Ochalifu

11
Nó hoạt động, nhưng trình giả lập phải chạy không quá API 23. Nếu bạn sử dụng API 25, thì không có nội dung nào trong trình thám hiểm tệp
Manos

2
Trình quản lý cơ sở dữ liệu từ liên kết Github của bạn đang làm việc cho tôi! Nó cũng có cơ hội để kiểm tra các truy vấn!
basti12354

198

Kết nối với Sqlite3 qua ADB Shell

Tôi chưa tìm thấy cách nào để làm điều đó trong Android Studio, nhưng tôi truy cập db bằng shell từ xa thay vì kéo tệp mỗi lần.

Tìm tất cả thông tin ở đây: http://developer.android.com/tools/help/adb.html#sqlite

1- Chuyển đến thư mục công cụ nền tảng của bạn trong dấu nhắc lệnh

2- Nhập lệnh adb devicesđể lấy danh sách thiết bị của bạn

C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb devices
List of devices attached
emulator-xxxx   device

3- Kết nối vỏ với thiết bị của bạn:

C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb -s emulator-xxxx shell

4- Điều hướng đến thư mục chứa tệp db của bạn:

cd data/data/<your-package-name>/databases/

5- chạy sqlite3 để kết nối với db của bạn:

sqlite3 <your-db-name>.db

6- chạy các lệnh sqlite3 mà bạn thích, ví dụ:

Select * from table1 where ...;

Lưu ý: Tìm thêm các lệnh để chạy bên dưới.

Áo choàng SQLite

Có một vài bước để xem các bảng trong cơ sở dữ liệu SQLite:

  1. Liệt kê các bảng trong cơ sở dữ liệu của bạn:

    .tables
  2. Liệt kê bảng trông như thế nào:

    .schema tablename
  3. In toàn bộ bảng:

    SELECT * FROM tablename;
  4. Liệt kê tất cả các lệnh nhắc SQLite có sẵn:

    .help

17
Tôi được phép từ chối ở bước 4, bạn nghĩ gì?
Adrian Olar

4
Bạn có thể phải root avd của mình và / hoặc bắt đầu adb với quyền root ở bước 3 'root adb -s Emulator-xxxx shell'
Distwo

2
bước 5: không tìm thấy sqlite3. Tại sao?
sabab 18/2/2015

3
Bởi vì bạn cần cài đặt để sử dụng
Paul Paca-Vaca Seleznev

12
Tôi cá nhân đã bị từ chối quyền khi cố gắng truy cập vào thư mục cơ sở dữ liệu , chạy run-as your.package.nameđã lừa.
Yann39

83

Tôi thực sự rất ngạc nhiên khi không ai đưa ra giải pháp này:

Hãy nhìn vào Stetho .

Tôi đã sử dụng Stetho nhiều lần cho các mục đích khác nhau (một trong số đó là kiểm tra cơ sở dữ liệu). Trên trang web thực tế , họ cũng nói về các tính năng để kiểm tra mạng và xem qua hệ thống phân cấp xem.

Nó chỉ yêu cầu một chút thiết lập: bổ sung phụ thuộc 1 lớp (bạn có thể nhận xét về các bản dựng sản xuất), một vài dòng mã để khởi tạo Stetho và trình duyệt Chrome (vì nó sử dụng devtools Chrome cho mọi thứ).

Cập nhật : Bây giờ bạn có thể sử dụng Stetho để xem các tệp Realm (nếu bạn đang sử dụng Realm thay vì SQLite DB): https://github.com/uPhyca/stetho-realm

Cập nhật # 2 : Bây giờ bạn có thể sử dụng Stetho để xem tài liệu Couchbase: https://github.com/RobotPajamas/Stetho-Couchbase

Cập nhật # 3 : Facebook đang tập trung nỗ lực bổ sung tất cả các tính năng của Stetho vào công cụ mới, Flipper. Flipper đã có nhiều tính năng mà Stetho có. Vì vậy, bây giờ có thể là thời điểm tốt để thực hiện chuyển đổi. https://fbflipper.com/docs/stetho.html


9
Cảm ơn nhiều. Để đơn giản hơn, 1. compile 'com.facebook.stetho:stetho:1.3.1' và 2. thêm mã này Stetho.initializeWithDefaults(this);và 3.chrome://inspect/#devices
Frank Myat Thu

2
Rất đơn giản, bạn có thể xem dữ liệu từ cơ sở dữ liệu mà không cần các công cụ của bên thứ 3, bên trong trình duyệt chrome.
Mateus Viccari

Đừng quên Stetho.initializeWithDefaults(this);nên ở trong Applicationlớp.
wonsuc

1
Công cụ tuyệt vời. Ứng dụng của bạn sẽ được liệt kê trên trang #devices nếu bạn thực hiện cài đặt chính xác. Nhấp vào Kiểm tra và sau đó đi tới Tài nguyên> Web SQL> [db_name] và bạn có thể viết các câu lệnh sqlite của mình.
Brad

73

Phương pháp đơn giản nhất khi không sử dụng trình giả lập

$ adb shell
$ run-as your.package.name
$ chmod 777 databases
$ chmod 777 databases/database_name
$ exit
$ cp /data/data/your.package.name/databases/database_name /sdcard
$ run-as your.package.name # Optional
$ chmod 660 databases/database_name # Optional
$ chmod 660 databases # Optional
$ exit # Optional
$ exit
$ adb pull /sdcard/database_name

Hãy cẩn thận:

Tôi đã không thử nghiệm điều này trong một thời gian. Nó có thể không hoạt động trên API> = 25. Nếu lệnh cp không hoạt động cho bạn, hãy thử một trong các cách sau:

# Pick a writeable directory <dir> other than /sdcard
$ cp /data/data/your.package.name/databases/database_name <dir>

# Exit and pull from the terminal on your PC
$ exit
$ adb pull /data/data/your.package.name/databases/database_name

Giải trình:

Khối đầu tiên cấu hình các quyền của cơ sở dữ liệu của bạn để có thể đọc được. Đòn bẩy run-asnày cho phép bạn mạo danh người dùng gói của bạn để thực hiện thay đổi.

$ adb shell
$ run-as your.package.name
$ chmod 777 databases
$ chmod 777 databases/database_name
$ exit # Closes the shell started with run-as

Tiếp theo, chúng tôi sao chép cơ sở dữ liệu vào một thư mục có thể đọc / ghi được trên thế giới. Điều này cho phép adb kéo người dùng truy cập.

$ cp /data/data/your.package.name/databases/database_name /sdcard

Sau đó, thay thế các đặc quyền đọc / ghi hiện có. Điều này rất quan trọng đối với tính bảo mật của ứng dụng của bạn, tuy nhiên các đặc quyền sẽ được thay thế trong lần cài đặt tiếp theo.

$ run-as your.package.name
$ chmod 660 databases/database_name 
$ chmod 660 databases
$ exit # Exit the shell started with run-as

Cuối cùng, sao chép cơ sở dữ liệu vào đĩa cục bộ.

$ exit # Exits shell on the mobile device (from adb shell) 
$ adb pull /sdcard/database_name

4
Tôi gặp vấn đề với lệnh thứ 2: run-as. Tôi không biết 'com.mycompany.myappname'. Và vâng, tôi khẳng định rằng tôi đang sử dụng tên gói chính xác!
Scott Bigss

1
@PhuLai bạn đã thử một thiết bị khác chưa? Thiết bị nào bị lỗi?
deaththreetimes

1
Tôi đã thử với Nexus 6P, API 25. Tôi nghĩ rằng phương pháp này sẽ không hoạt động trên các phiên bản Android mới.
foo

chmod 660 databases/database_namenên là trướcchmod 660 databases
Alaa M.

@PhuLai - Tôi cũng nhận được điều này và sau đó tôi đã thử bỏ qua cplệnh và chỉ thực hiện pulltừ bên ngoài (sau khi thay đổi quyền) và nó đã hoạt động ( adb pull data/data/package.name/databases/db_name.db)
Alaa M.

52

Trong Android Studio 3 trở lên, bạn có thể thấy Phần "Trình khám phá tệp thiết bị" ở phía dưới bên phải của Android Studio.

Mở nó, sau đó bạn có thể thấy cây tệp, bạn có thể tìm cơ sở dữ liệu ứng dụng trong đường dẫn này:

/data/data/{package_name}/databases/

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


2
Khi tôi nhấp đúp chuột vào tệp DB cho ứng dụng của mình, nó sẽ hiển thị tất cả các ký tự không thể đọc được. Bạn đọc SQLite nào để xem nội dung DB?
Surekha

4
Tôi khuyên dùng sqlitebrowser.org miễn phí, nguồn mở và có sẵn cho tất cả các nền tảng.
Ali Zeynali

3
tập tin cơ sở dữ liệu của tôi không chứa bất kỳ bảng nào.
Binil

Tệp này rỗng. Lỗi : run-as: Could not set capabilities: Operation not permitted. Thiết bị Samsung: stackoverflow.com/questions/37413667/ Mạnh
O-9

25

Cuối cùng, tôi tìm thấy một giải pháp đơn giản nhất mà không cần mở DDMS.

Trên thực tế, giải pháp dựa trên những gì @Distwo đã đề cập, nhưng nó không quá phức tạp.

Đầu tiên , hãy nhớ đường dẫn của tệp cơ sở dữ liệu của bạn trong thiết bị, nó sẽ giống nhau. Ví dụ của tôi là:/data/data/com.XXX.module/databases/com.XXX.module.database

Thứ hai , thực thi lệnh này để kéo tệp cơ sở dữ liệu của bạn vào PC của bạn

 adb pull /data/data/com.XXX.module/databases/com.XXX.module.database /Users/somePathOnYourPC/

Những gì bạn cần làm chỉ là sao chép và lưu trữ lệnh này, sau đó bạn có thể sử dụng nó nhiều lần.

Thứ ba , nếu bạn đã bị từ chối cấp phép hoặc đại loại như thế, chỉ cần chạy adb roottrước lệnh trước đó.


9
Chạy adb rootkhông hoạt động trên điện thoại của tôi. Nó in ra adbd cannot run as root in production builds. adb rootTuy nhiên, sau khi chạy , lệnh pull chỉ đóng băng và tôi cần dừng nó bằng tay.
LaDude

@Daniela hãy thử run-as your.package.nameđiều này sẽ "đăng nhập bạn" với tư cách là người dùng thuộc ứng dụng của bạn
m02ph3u5

Sử dụng lệnh trên để sao chép tệp .db vào Máy tính để bàn của bạn, cài đặt plugin trình duyệt SQLiteManager trong Firefox và bắt đầu duyệt. 2 phút làm việc!
JaydeepW

lệnh root đó là dành cho trình giả lập, bạn không thể chạy lệnh này và root 'phone' của bạn.
Darpan

1
mọi thứ đã xong, có cơ sở dữ liệu.db. tệp NHƯNG tệp cơ sở dữ liệu đó không chứa bất kỳ bảng nào
Binil

16

Hãy thử plugin SQLScout của android studio này . bạn có thể xem và chỉnh sửa cơ sở dữ liệu ứng dụng của mình theo thời gian thực.

SQLScout

Chỉnh sửa: Hãy nhớ rằng đó là một plugin trả phí, nhưng có bản dùng thử 24h và phù hợp với thời gian đau đầu.


17
Đó là sản phẩm trả phí, bạn quên đề cập đến.
yshahak

58
không hẳn vậy, nó đã dùng thử 24 giờ, tôi đã lên kế hoạch cho tương lai của mình với tư cách là một nhà phát triển trong hơn 24 giờ.
yshahak

Đáng buồn thay, nó không miễn phí.
K.Sopheak

Thời gian dùng thử chỉ là 36 giờ.
Mahdi Moqadasi

9

Sau khi đi qua tất cả các giải pháp tôi sẽ đề xuất

Sử dụng Stethos
Hãy xem cách đơn giản

Thêm các phụ thuộc sau vào tệp build.gradle

compile 'com.facebook.stetho:stetho:1.5.0'
compile 'com.facebook.stetho:stetho-js-rhino:1.4.2'

Sau đó, đi đến phương thức mainActivity onCreate thêm dòng sau

Stetho.initializeWithDefaults(this);

điều này sẽ đòi hỏi bạn phải

import com.facebook.stetho.Stetho;

ngay bây giờ trong khi chạy ứng dụng từ studio android, Mở Chrome và trong thanh địa chỉ
chrome: // tests /

trong tab tài nguyên> web SQL kiểm tra cơ sở dữ liệu và bảng chơi với nó trong thời gian thực một cách dễ dàng


Phòng chỉ là orm, không có gì thay đổi về mặt sql, nó hoạt động theo cách tương tự
ShankPossible

9

Cách dễ nhất là sử dụng thư viện Cơ sở dữ liệu gỡ lỗi Android (7,3k sao trên GitHub) .

Cơ sở dữ liệu gỡ lỗi Android

Ưu điểm:

  • Thực hiện nhanh
  • Xem tất cả các cơ sở dữ liệu và các tùy chọn chia sẻ
  • Trực tiếp chỉnh sửa, xóa, tạo các giá trị cơ sở dữ liệu
  • Chạy bất kỳ truy vấn SQLite trên cơ sở dữ liệu đã cho
  • Tìm kiếm trong dữ liệu của bạn
  • Tải xuống cơ sở dữ liệu
  • Thêm tệp cơ sở dữ liệu tùy chỉnh
  • Không cần root thiết bị

Cách sử dụng:

  1. Thêm debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'vào build.gradle (module);
  2. Chạy chương trình;
  3. Tìm liên kết gỡ lỗi trong nhật ký (trong LogCat) (nghĩa là D/DebugDB: Open http://192.168.232.2:8080 in your browserliên kết sẽ khác) và mở nó trong trình duyệt;
  4. Tận hưởng công cụ sửa lỗi mạnh mẽ!

Quan trọng:

  • Thật không may , không làm việc với trình giả lập
  • Nếu bạn đang sử dụng nó qua USB, hãy chạy adb forward tcp:8080 tcp:8080
  • Điện thoại và máy tính xách tay Android của bạn phải được kết nối với cùng một Mạng (Wifi hoặc LAN)

Để biết thêm thông tin, hãy truy cập trang thư viện trên GitHub.


1
Đây là quá trình tốt nhất và ít đau đớn! Cảm ơn Daniel
Sudip

4

Để biết cơ sở dữ liệu sqlite được lưu trữ do bạn tạo trong studio android, bạn cần làm theo các bước đơn giản:

1.Run your application
2.Go to Tools--->Android---->Device Monitor
3.Find your application name in left panel
4.Then click on File Explorer tab
5.Select data folder
6.Select data folder again and find your app or module name
7.Click on your  database name
8.On right-top window you have an option to pull file from device.
9.Click it and save it on your PC
10.Use FireFox Sqlite manager to attach it to your project.

Để biết thêm thông tin liên kết này sẽ hữu ích. http://www.c-sharpcorner.com/UploadFile/e14021/ledge-where-database-is-stored-in-android-studio/

Để xem dữ liệu của bạn hiện trong tệp db, bạn cần tải xuống trình duyệt sqlite hoặc thêm plugin tương tự trong bất kỳ trình duyệt nào để bạn cần mở tệp trong trình duyệt và xem dữ liệu của mình.

Tải xuống trình duyệt từ http://sqlitebrowser.org/

Dưới đây là ảnh chụp màn hình hiển thị trình duyệt chứa cơ sở dữ liệu đăng ký

Cảm ơn,


4

Cách đơn giản và dễ dàng để xem nội dung cơ sở dữ liệu trong studio Android .

#For Android Studio 4.1 Canary 6 trở lên

Bạn có thể sử dụng Trình kiểm tra cơ sở dữ liệu tính năng rất đơn giản của Android Studio . Nơi 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 của bạn và kiểm tra những thay đổi đó trên thiết bị trong thời gian thực mà không cần rời khỏi Android Studio .

Để bắt đầu, hãy triển khai ứng dụng của bạn lên một thiết bị chạy API cấp 26 trở lên và chọn Xem> Công cụ Windows> Trình kiểm tra cơ sở dữ liệu từ thanh menu.

#For Android Studio 4.0 trở xuống

Đầu tiên , cài đặt plugin Database Navigator trong Android Studio

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

Thứ hai , Khởi động lại Android Studio

Thứ ba , lưu cơ sở dữ liệu vào vị trí mặc định như: (C: \ Users \ Tên người dùng \ Documents \ AndroidStudio \ DeviceExplorer \ giả lập hoặc thiết bị \ data \ data \ tên gói \ cơ sở dữ liệu)

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

Thứ tư , Kết nối tệp dbname_db đã lưu trong Bộ điều hướng cơ sở dữ liệu

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

Đưa ra cùng một đường dẫn tệp DB được sử dụng trong bước Thứ ba

tức là (C: \ Users \ Tên người dùng \ Documents \ AndroidStudio \ DeviceExplorer \ giả lập hoặc thiết bị \ data \ data \ tên gói \ cơ sở dữ liệu \ gói naem \ dbname_db)

Cuối cùng , chỉ cần kiểm tra kết nối DB và mở bàn điều khiển và làm bất cứ điều gì bạn muốn làm.

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

Nếu bạn muốn làm mới DB, chỉ cần lặp lại bước Thứ hai và chỉ lưu nó hoặc làm mới.

CHÚC MỪNG ĐẾN !!!!!


3
Giải pháp này cần rất nhiều nỗ lực cho công việc hàng ngày của bạn. Và trên mỗi thay đổi trong cơ sở dữ liệu, bạn cần tải lại tệp sql - có vẻ hơi phức tạp. Tôi thích sử dụng một số plugin đó cho khả năng xem cơ sở dữ liệu trên máy chủ địa phương
Максим Петлюк

1
Vâng, bạn đã đúng, cho đến khi không có cập nhật dữ liệu thời gian thực trong Database Navigator, tôi hy vọng nó sẽ cập nhật các plugin của nó sớm.
Nabin

Chính xác, nó sẽ là một tính năng tuyệt vời
Максим Петлюк

Có, cho đến bây giờ đây là cách tốt nhất cho tôi nếu chúng ta cần truy vấn dữ liệu, thêm, chỉnh sửa và xóa
Nabin

Tôi có cần luôn luôn thực hiện lưu để làm mới cơ sở dữ liệu? Có một cách dễ dàng hơn như trong mysql tất cả những gì tôi cần là nhấn nút refresh.
ン ド リ イ ン ア

3

Cách đơn giản nhất là Đính kèm thiết bị của bạn và chạy Android Studio Then From Tool Bar:

  1. Xem -> Cửa sổ công cụ -> Trình khám phá tệp thiết bị
  2. Đi vào dữ liệu / dữ liệu và tìm gói của bạn
  3. tìm tệp DB bạn muốn khám phá và tải xuống
  4. Tôi khuyên bạn nên sử dụng công cụ trực tuyến này: https://sqliteonline.com/ để khám phá tệp db

Một cách khác là sử dụng thư viện Stetho:

  1. Thêm phụ thuộc Stello vào build.gradle của bạn:

    biên dịch 'com.facebook.stetho: stetho: 1.5.0'

  2. Đặt dòng Theo dõi trên onCreate () của lớp Ứng dụng hoặc Hoạt động chính của bạn:

    Stetho.initializeWithDefaults (cái này);

  3. Kết nối thiết bị của bạn, chạy ứng dụng và Nhập trang web sau trên Chrome:

    chrome: // tests / # thiết bị

Và đó là nó. bây giờ bạn có thể khám phá các bảng của bạn.

Lưu ý: nên loại bỏ sự phụ thuộc trước khi chuyển sang sản xuất.


2

Nếu bạn muốn duyệt cơ sở dữ liệu của mình TỪ ININ ANDROID STUDIO, đây là những gì tôi đang sử dụng:

Chuyển đến Tệp / Cài đặt / Plugin và tìm kiếm điều này:

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

... Sau khi khởi động lại Android Studio, bạn có thể chọn tệp cơ sở dữ liệu đã tải xuống của mình như sau: nhập mô tả hình ảnh ở đây

... Nhấp vào biểu tượng "Mở Bảng điều khiển SQL" và bạn kết thúc với chế độ xem cơ sở dữ liệu tuyệt vời này trong Android Studio: ! [nhập mô tả hình ảnh ở đây


2
Vì vậy, tôi phải sao chép db từ trình giả lập mọi lúc?
Maksim Kniazev

2

Trình kiểm tra cơ sở dữ liệu mới được giới thiệu trong Android 4.1 Canary 5 Xem trước nơi bạn có thể Kiểm tra, truy vấn, sửa đổi và gỡ lỗi cơ sở dữ liệu SQLite trong ứng dụng đang chạy của mình trực tiếp từ IDE - https://developer.android.com/studio/preview/features?linkId = 86173020 # thanh tra cơ sở dữ liệu

Cũng hỗ trợ cơ sở dữ liệu truy vấn trực tiếp - https://developer.android.com/studio/preview/features?linkId=86173020#query

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


1

Đây là một câu hỏi RẤT cũ và câu trả lời của tôi tương tự như một số câu trả lời ở trên nhưng thực hiện NHIỀU nhanh hơn. Kịch bản dưới đây là dành cho Mac nhưng tôi chắc chắn ai đó có thể sửa đổi nó cho Windows.

1) Mở Trình chỉnh sửa tập lệnh trên máy Mac của bạn (bạn chỉ có thể tìm kiếm Trình chỉnh sửa tập lệnh trong Spotlight)
2) Sao chép và dán văn bản bên dưới và sửa đổi nó bằng đường dẫn SDK, tên gói, v.v. (xem bên dưới)
3) Lưu tập lệnh! !

Đó là nó! Chỉ cần nhấn nút play trên cùng để có được tệp cơ sở dữ liệu cập nhật, sẽ có trên máy tính để bàn của bạn.

thay thế những điều sau đây trong kịch bản dưới đây:

path_to_my_sdk == >> đặt đường dẫn đầy đủ vào sdk
my_package_name == >> tên gói của ứng dụng của bạn
myDbName.db == >> tên tệp của cơ sở dữ liệu của bạn

set getLocalDb to "path_to_my_sdk/platform-tools/adb shell run-as my_package_name chmod 777 databases && path_to_my_sdk/platform-tools/adb shell run-as my_package_name chmod 777 databases/myDbName.db && path_to_my_sdk/platform-tools/adb shell run-as my_package_name cp databases/myDbName.db /sdcard/myDbName.db && path_to_my_sdk/platform-tools/adb pull /sdcard/myDbName.db /Users/User/Desktop/myDbName.db"
do shell script getLocalDb

Hy vọng điều này sẽ giúp được ai đó.


Nó làm việc cho tôi. Ngoại trừ bạn phải thay đổi 'Người dùng' thành Tên người dùng MacBook của bạn trong thư mục đầu ra /Users/User/Desktop/myDbName.db
Kenny Dabiri

1

Tôi biết câu hỏi khá cũ nhưng tôi tin rằng vấn đề này vẫn còn.

Xem cơ sở dữ liệu từ trình duyệt của bạn

Tôi đã tạo một công cụ phát triển mà bạn có thể tích hợp như một lib vào dự án ứng dụng Android của bạn. Công cụ mở một ổ cắm máy chủ trong ứng dụng của bạn để giao tiếp qua trình duyệt web. Bạn có thể duyệt qua toàn bộ cơ sở dữ liệu của mình và tải xuống tệp cơ sở dữ liệu trực tiếp thông qua trình duyệt.

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

Tích hợp có thể được thực hiện thông qua jitpack.io:

dự án xây dựng. Nâng cấp:

//...
allprojects {
    repositories {
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}
//...

ứng dụng build.gradle:

//...
dependencies {
    //...
    debugCompile 'com.github.sanidgmbh:debugghost:v1.1'
    //...
}
//...

Cài đặt lớp ứng dụng

Để chỉ biên dịch DebugGhostLib theo một số kiểu xây dựng hoặc hương vị sản phẩm nhất định, chúng tôi cần một lớp Ứng dụng trừu tượng sẽ được dẫn xuất trong các hương vị đặc biệt. Đặt lớp sau vào mainthư mục của bạn (bên dưới java> your.app.package):

public class AbstractDebugGhostExampleApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        // Do your general application stuff
    }
}

Bây giờ, đối với loại bản dựng phát hành (hoặc hương vị sản phẩm), bạn thêm lớp Ứng dụng sau vào releasethư mục (hoặc hương vị sản phẩm) (cũng trong java> your.app.package):

public class MyApp extends AbstractDebugGhostExampleApplication {
    @Override
    public void onCreate() {
        super.onCreate();
    }
}

Đây là lớp ứng dụng sẽ không tham chiếu DebugGhostLib.

Cũng nói với bạn AndroidManifest.xmlrằng bạn đang sử dụng lớp ứng dụng của riêng bạn. Điều này sẽ được thực hiện trong mainthư mục của bạn :

<manifest package="demo.app.android.sanid.com.debugghostexample" xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- permissions go here -->
    <application android:name=".MyApp"> <!-- register your own application class -->
        <!-- your activities go here -->
    </application>
</manifest>

Bây giờ, đối với loại bản dựng gỡ lỗi (hoặc hương vị sản phẩm), bạn thêm lớp Ứng dụng sau vào debugthư mục (hoặc hương vị sản phẩm) (cũng trong java> your.app.package):

public class MyApp extends AbstractDebugGhostExampleApplication {
    private DebugGhostBridge mDebugGhostBridge;

    @Override
    public void onCreate() {
        super.onCreate();

        mDebugGhostBridge = new DebugGhostBridge(this, MyDatabaseHelper.DATABASE_NAME, MyDatabaseHelper.DATABASE_VERSION);
        mDebugGhostBridge.startDebugGhost();
    }
}

Bạn có thể lấy công cụ ở đây .


đây là một công cụ tốt đặc biệt sau khi Stetho ngừng hoạt động trong chrome mới hơn,
Homayoun Behzadian


1

Mở Thiết bị đầu cuối Khám phá tệp thiết bị ở cuối Studio Android.

Mở Thư mục có tên Dữ liệu , sau đó bên trong Dữ liệu lại mở Dữ liệu Thư mục .

Mở dữ liệu thư mục

Cuộn xuống danh sách các thư mục và tìm thư mục với your.package.name. Mở thư mục your.package.name > Cơ sở dữ liệu . Bạn nhận được your.databaseName . Nhấp chuột phải vào your.databaseName và Lưu vào C: / your / Computer / Directory.

Truy cập C: / your / Computer / Directory mở your.databaseName với DB SQLite

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


1

Dành cho Android Studio 3.X

  1. Xem -> Công cụ Windows -> Trình khám phá tệp thiết bị
  2. Trong dữ liệu File Explorer-> data-> com. (Gói ứng dụng) -> cơ sở dữ liệu
  3. Nhấp chuột phải vào Cơ sở dữ liệu và Lưu trên máy cục bộ của bạn. Để mở, tệp bạn có thể sử dụng SQLite Studio bằng cách chỉ cần kéo tệp Cơ sở dữ liệu trên đó.

Đây là liên kết đến SQLite Studio: https://sqlitestudio.pl/index.rvt?act=doad


1

Với việc phát hành bản xem trước Android Studio 4.1 Canary và Dev , bạn có thể sử dụng một công cụ mới có tên là

Thanh tra cơ sở dữ liệu

Thanh tra DB

Cài đặt AS 4.1+, chạy ứng dụng, mở trình kiểm tra cơ sở dữ liệu, bây giờ bạn có thể xem các tệp cơ sở dữ liệu của mình ở phía bên trái của bảng kiểm tra cơ sở dữ liệu sau đó chọn bảng để xem nội dung.

Truy vấn trực tiếp

Bạn có thể chạy các truy vấn của mình bằng tùy chọn Run SQL hoặc nếu bạn đang sử dụng Room thì mở trình kiểm tra cơ sở dữ liệu và chạy ứng dụng sau đó, bạn có thể chạy các truy vấn DAO trong giao diện của mình bằng cách nhấp vào nút chạy bên trái @Querychú thích.

truy vấn trực tiếp


1

Sử dụng android sqlite như cơ sở dữ liệu phía máy chủ

Theo các bước được liệt kê dưới đây:

  1. Tìm cửa sổ công cụ cơ sở dữ liệu và nhấp vào nó như hình ảnh bên dưới

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

  1. Nhấp vào biểu tượng dấu cộng và chọn Android SQLite như hình ảnh bên dưới

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

  1. Kết nối thiết bị Android của bạn với máy tính của bạn

  2. Chọn gói bạn quan tâm và chọn cơ sở dữ liệu như hình ảnh bên dưới nhập mô tả hình ảnh ở đây

  3. Trước tất cả các bước trên, bạn phải đảm bảo rằng bạn có quyền truy cập tệp: /data/data//database/databasefile.db

Sau tất cả các bước này, bạn sẽ thấy nội dung cơ sở dữ liệu như dưới đây:

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

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

Điều quan trọng cuối cùng là

Bạn phải nhấp vào biểu tượng cập nhật mỗi khi dữ liệu cơ sở dữ liệu được cập nhật.

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

Hy vọng đây là công việc cho bạn! Cảm ơn bạn !


0

Đây có thể không phải là câu trả lời bạn đang tìm kiếm, nhưng tôi không có cách nào tốt hơn để tải DB từ điện thoại. Những gì tôi sẽ đề xuất là đảm bảo bạn đang sử dụng DDMS mini này. Nó sẽ siêu ẩn mặc dù nếu bạn không nhấp vào hộp quay phim rất nhỏ ở góc dưới bên trái của chương trình. (đã cố di chuột qua nó nếu không bạn có thể bỏ lỡ nó.)

Ngoài ra, trình đơn thả xuống cho biết không có bộ lọc (trên cùng bên phải). Nó thực sự có rất nhiều cách khác nhau để bạn có thể theo dõi quá trình / ứng dụng khác nhau bằng PPID, tên và nhiều thứ khác. Tôi đã luôn sử dụng điều này để theo dõi điện thoại, nhưng hãy nhớ rằng tôi không làm công việc nhà phát triển cần phải tích cực 120%, cơ sở dữ liệu không làm việc gì khác thường.

Hy vọng nó giúp

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


0

Tôi đã kết hợp tự động hóa dòng lệnh unix của quy trình này và đặt mã ở đây:

https://github.com/elliptic1/Android-Sqlite3-Monitor

Đó là tập lệnh shell lấy tên gói và tên cơ sở dữ liệu làm tham số, tải xuống tệp cơ sở dữ liệu từ thiết bị Android được đính kèm và chạy tập lệnh tùy chỉnh đối với tệp đã tải xuống. Sau đó, với một công cụ unix như 'watch', bạn có thể mở cửa sổ đầu cuối với chế độ xem cập nhật định kỳ của đầu ra tập lệnh cơ sở dữ liệu của bạn.


0

Tôi đang sử dụng windows 7, thiết bị của tôi là API thiết bị Android được mô phỏng 23. Tôi cho rằng nó giống với mọi thiết bị thực miễn là nó được root và API không quá 23

Chuyển đến Công cụ -> Android -> Màn hình thiết bị Android. Chuyển đến File Explorer. Trong trường hợp của tôi, nó nằm trong dữ liệu / dữ liệu // app_webview / cơ sở dữ liệu / file_0 / 1

Tôi phải thêm thủ công .db vào cuối tệp có tên "1"


0

Đó là sự kết hợp từ các câu trả lời khác với một dấu cộng

  1. Cài đặt trình duyệt DB cho SQLite
  2. Nhận vị trí chính xác từ Device File Explorer cho MyBase.db một cái gì đó như "/data/data/com.whthing.myapp/database/MyBase.db"
  3. Đặt cửa sổ dự án từ Android sang Project - để bạn có thể xem các tệp (build.gradle, gradle.properies, ... vv)
  4. Trong cửa sổ Project nhấp chuột phải và chọn Open in Terminal
  5. Trong thiết bị đầu cuối, bạn hiện đang là giám đốc gốc của ứng dụng từ hardisk, vì vậy hãy thực hiện: adb pull /data/data/com.whthing.myapp/database/MyBase.db
  6. Bây giờ trên cửa sổ Dự án của Android Studio, bạn có tệp "MyBase.db"
  7. Nhấp đúp vào tệp db của bạn từ Project và bây giờ bạn có thể duyệt / chỉnh sửa cơ sở dữ liệu của mình trong Trình duyệt DB
  8. Khi bạn đã sẵn sàng, chỉ cần viết Thay đổi trong Trình duyệt DB để cơ sở dữ liệu được lưu trên ổ cứng
  9. Trong thiết bị đầu cuối với lệnh: adb đẩy MyBase.db /data/data/com.whthing.myapp/database/MyBase.db bạn chỉ cần gửi từ Hardisk để thiết bị cơ sở dữ liệu được chỉnh sửa.

0

Thực hiện theo các bước trên để mở thư mục cơ sở dữ liệu của ứng dụng trong Trình khám phá thiết bị Android và trong đó bạn có thể thấy sáu tệp, Ba tệp đầu tiên được đặt tên là Android và ba tệp cuối cùng được đặt tên là tên cơ sở dữ liệu của bạn. Bạn chỉ phải làm việc với ba tệp cuối cùng, lưu ba tệp này tại vị trí ưa thích của bạn. Bạn có thể lưu các tệp này bằng cách nhấp chuột phải vào tệp và nhấp vào nút lưu dưới dạng (như tôi có cơ sở dữ liệu của mình có tên là room_database và vì vậy ba tệp được đặt tên là room_database, room_database-shm và room_database-wal. Đổi tên tệp tương ứng như sau : -

1) room_database to room_database.db 2) room_database-shm to room_database.db-shm 3) room_database-wal to room_database.db-wal

Bây giờ hãy mở tệp đầu tiên trong bất kỳ trình duyệt SQLite nào và cả ba tệp sẽ được điền vào trình duyệt.


0

Cuối cùng, Android Studio hỗ trợ chức năng này với tab thanh tra cơ sở dữ liệu. Bạn có thể áp dụng các hoạt động xem / cập nhật / truy vấn dễ dàng. Hiện tại nó không ở trong kênh ổn định nhưng bạn có thể dùng thử với Android Studio 4.1 Canary 5 trở lên.

Bạn có thể thấy trình kiểm tra cơ sở dữ liệu trông như thế nào ở đây

Và bạn có thể tải phiên bản phù hợp tại đây

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.