Gỡ lỗi cơ sở dữ liệu bằng Trình kiểm tra cơ sở dữ liệu | Android Developers

Trình kiểm tra cơ sở dữ liệu được cho phép bạn kiểm tra, truy vấn và sửa đổi cơ sở dữ liệu của ứng dụng trong khi ứng dụng đang chạy. Điều này đặc biệt quan trọng có ích khi gỡ lỗi cơ sở dữ liệu. Trình kiểm tra cơ sở dữ liệu hoạt động giải trí với SQLite thuần túy và với những thư viện được kiến thiết xây dựng dựa trên SQLite, ví dụ điển hình như Room .
Lưu ý:Trình kiểm tra cơ sở dữ liệu chỉ hoạt động giải trí với thư viện SQLite có trong hệ quản lý và điều hành Android ở API cấp 26 trở lên. Bạn sẽ không hề sử dụng tính năng này với những thư viện SQLite khác mà bạn gói kèm theo ứng dụng .

Mở Trình kiểm tra cơ sở dữ liệu

Để mở một cơ sở dữ liệu trong Trình kiểm tra cơ sở dữ liệu, hãy làm như sau :

  1. Chạy ứng dụng trên trình mô phỏng hoặc thiết bị đã kết nối chạy API cấp 26 trở lên.

    Lưu ý:Có một yếu tố đã biết tương quan đến trình mô phỏng Android 11 khiến ứng dụng gặp sự cố khi liên kết với Trình kiểm tra cơ sở dữ liệu. Để khắc phục yếu tố này, hãy làm theo những bước sau

  2. Trên thanh trình đơn, hãy chọn View > Tool Windows > App Inspection (Xem > Cửa sổ công cụ > Kiểm tra ứng dụng).

  3. Chọn thẻ Database Inspector (Trình kiểm tra cơ sở dữ liệu).

  4. Chọn quá trình đang chạy ứng dụng trong trình đơn .
  5. Cơ sở dữ liệu trong ứng dụng hiện đang chạy sẽ xuất hiện trong ngăn Databases (Cơ sở dữ liệu). Mở rộng nút cho cơ sở dữ liệu mà bạn muốn kiểm tra.

Xem và sửa đổi dữ liệu

Ngăn Databases (Cơ sở dữ liệu) cho thấy một danh sách các cơ sở dữ liệu trong ứng dụng và các bảng mà mỗi cơ sở dữ liệu chứa. Nhấp đúp vào tên bảng để hiện dữ liệu trong cửa sổ trình kiểm tra ở bên phải, như minh hoạ trong hình 1. Nhấp vào tiêu đề cột để sắp xếp dữ liệu trong cửa sổ trình kiểm tra theo cột đó.

Ảnh chụp màn hình cửa sổ Trình kiểm tra cơ sở dữ liệu. Hình 1. Cửa sổ Trình kiểm tra cơ sở dữ liệu.

Để sửa đổi dữ liệu trong một bảng, hãy làm theo những bước sau :

  1. Nhấp đúp vào một ô.
  2. Nhập một giá trị mới.
  3. Nhấn Enter.

Nếu ứng dụng của bạn sử dụng Room và giao diện người dùng của bạn quan sát cơ sở dữ liệu (chẳng hạn như với LiveData hoặc Flow) thì mọi thay đổi bạn thực hiện đối với dữ liệu sẽ xuất hiện ngay trong ứng dụng đang chạy. Nếu không, các thay đổi chỉ xuất hiện vào lần tiếp theo khi ứng dụng của bạn đọc dữ liệu được sửa đổi.

Xem các thay đổi đối với cơ sở dữ liệu trực tiếp

Nếu bạn muốn Trình kiểm tra cơ sở dữ liệu tự động cập nhật dữ liệu hiển thị khi bạn tương tác với ứng dụng đang chạy, hãy chọn hộp kiểm Live updates (Cập nhật trực tiếp) ở đầu cửa sổ công cụ kiểm tra. Khi bật tính năng cập nhật trực tiếp, bảng trong cửa sổ trình kiểm tra sẽ chuyển sang chế độ chỉ đọc và bạn không thể sửa đổi các giá trị của bảng đó.

Ngoài ra, để cập nhật dữ liệu theo cách thủ công, hãy nhấp vào nút Làm mới bảng ở đầu cửa sổ trình kiểm tra.

Truy vấn cơ sở dữ liệu của bạn

Trình kiểm tra cơ sở dữ liệu hoàn toàn có thể chạy những truy vấn so với cơ sở dữ liệu của ứng dụng trong khi ứng dụng đang chạy. Công cụ này hoàn toàn có thể sử dụng những truy vấn DAO nếu ứng dụng của bạn dùng Room, nhưng cũng tương hỗ những truy vấn SQL tùy chỉnh .

Chạy truy vấn DAO

Nếu ứng dụng của bạn sử dụng Room, Android Studio sẽ cung ứng những thao tác xu thế được cho phép bạn chạy nhanh những phương pháp truy vấn mà bạn đã xác lập trong những lớp DAO của mình. Những thao tác này có sẵn trong khi ứng dụng của bạn đang chạy và Trình kiểm tra cơ sở dữ liệu đang mở trong IDE .

Để chạy một phương thức truy vấn nào đó trong DAO, hãy nhấp vào nút Chạy câu lệnh SQLite trong Trình kiểm tra cơ sở dữ liệu bên cạnh chú thích @Query của phương thức đó.

Ảnh chụp màn hình các thao tác định hướng cho truy vấn DAO.
Hình 2. Thao tác định hướng cho truy vấn DAO.

Nếu ứng dụng của bạn có nhiều cơ sở dữ liệu, thì Android Studio sẽ nhắc bạn chọn cơ sở dữ liệu để truy vấn trong một list. Nếu trong phương pháp truy vấn của bạn có tham số ràng buộc ( bind parameters ), thì Android Studio sẽ nhu yếu những giá trị cho mỗi tham số trước khi chạy truy vấn đó. Kết quả truy vấn sẽ Open trong hành lang cửa số của trình kiểm tra .

Chạy truy vấn SQL tuỳ chỉnh

Bạn cũng hoàn toàn có thể sử dụng Trình kiểm tra cơ sở dữ liệu để chạy truy vấn SQL tùy chỉnh dựa trên cơ sở dữ liệu của ứng dụng trong khi ứng dụng đang chạy .
Để truy vấn cơ sở dữ liệu, hãy làm theo những bước sau :

  1. Nhấp vào biểu tượng Open New Query tab (Mở thẻ Truy vấn mới) ở đầu ngăn Databases (Cơ sở dữ liệu) để mở một thẻ mới trong cửa sổ trình kiểm tra.

    Ảnh chụp màn hình cho thấy nút thẻ truy vấn mới.
    Hình 3. Mở thẻ New Query (Truy vấn mới).

  2. Nếu ứng dụng của bạn có nhiều cơ sở dữ liệu, hãy chọn cơ sở dữ liệu để truy vấn trong danh sách thả xuống trên thẻ New Query (Truy vấn mới).

  3. Ở đầu thẻ New Query (Truy vấn mới), hãy nhập truy vấn SQL tuỳ chỉnh vào trường văn bản.

  4. Nhấp vào Run (Chạy).

Ngoài ra, bạn hoàn toàn có thể dùng tính năng nhật ký truy vấn để chạy truy vấn mà bạn đã từng dùng :

  1. Nhấp vào nút Hiển thị nhật ký truy vấn Nút hiện nhật ký truy vấn
để xem danh sách các truy vấn mà bạn đã chạy trước đây dựa trên cơ sở dữ liệu đã chọn.

    Ảnh chụp màn hình trình đơn thả xuống cho nhật ký truy vấn.
    Hình 4. Trình đơn nhật ký truy vấn.

  2. Nhấp vào một truy vấn trong list để xem trước truy vấn khá đầy đủ trong trình chỉnh sửa rồi nhấn Enter để sao chép truy vấn đó vào trình chỉnh sửa .
  3. Nhấp vào Run (Chạy) để thực thi câu lệnh.

Kết quả truy vấn hiển thị trong thẻ New Query (Truy vấn mới) ở chế độ chỉ có thể đọc và không thể sửa đổi. Tuy nhiên, bạn có thể sử dụng trường truy vấn SQL tuỳ chỉnh để chạy các câu lệnh có đối tượng sửa đổi như UPDATE, INSERT hoặc DELETE.

Nếu ứng dụng của bạn sử dụng Room và giao diện người dùng của bạn quan sát cơ sở dữ liệu (chẳng hạn như với LiveData hoặc Flow) thì mọi thay đổi bạn thực hiện đối với dữ liệu sẽ xuất hiện ngay trong ứng dụng đang chạy. Nếu không, các thay đổi chỉ xuất hiện vào lần tiếp theo khi ứng dụng của bạn đọc dữ liệu được sửa đổi.

Chế độ ngoại tuyến

Trong Android Studio phiên bản 4.2 trở lên, bạn hoàn toàn có thể liên tục kiểm tra cơ sở dữ liệu của ứng dụng sau khi quy trình ngắt liên kết. Thao tác này giúp việc gỡ lỗi ứng dụng của bạn diễn ra thuận tiện hơn sau khi gặp sự cố .
Khi hiện tượng kỳ lạ ngắt liên kết xảy ra, Trình kiểm tra cơ sở dữ liệu sẽ tải cơ sở dữ liệu của bạn xuống và cung ứng cho bạn ở chính sách ngoại tuyến. Khi không có mạng, bạn vẫn hoàn toàn có thể mở bảng và chạy những truy vấn .
Khi bạn liên kết lại với quá trình ứng dụng trực tiếp, Trình kiểm tra cơ sở dữ liệu sẽ thoát khỏi chính sách ngoại tuyến và chỉ hiển thị cho bạn dữ liệu có trên thiết bị. Nói cách khác, dữ liệu bạn thấy ở chính sách ngoại tuyến sẽ không sống sót khi liên kết lại với quy trình tiến độ ứng dụng. Do hạn chế này, Trình kiểm tra cơ sở dữ liệu không được cho phép bạn chỉnh sửa dữ liệu hoặc chạy câu lệnh SQL sửa đổi khi ở chính sách ngoại tuyến .

Khi bạn xem một cơ sở dữ liệu ở chế độ ngoại tuyến, tên quy trình sẽ có thêm chữ [DETACHED] để cho biết trình kiểm tra không còn được đính kèm vào quy trình này. Ngoài ra, biểu tượng cơ sở dữ liệu Cơ sở dữ liệu ngoại tuyến cho biết trạng thái ngoại tuyến, như trong hình 5.

Trình kiểm tra cơ sở dữ liệu ở chế độ ngoại tuyến
Hình 5. Trình kiểm tra cơ sở dữ liệu ở chế độ ngoại tuyến.

Giữ cho kết nối cơ sở dữ liệu luôn mở

Trình kiểm tra cơ sở dữ liệu chỉ có thể sửa đổi một cơ sở dữ liệu khi ứng dụng của bạn duy trì kết nối trực tiếp với cơ sở dữ liệu đó. Điều đó có nghĩa là nếu ứng dụng của bạn thường xuyên kết nối và ngắt kết nối khỏi các cơ sở dữ liệu, thì việc gỡ lỗi các cơ sở dữ liệu đó rất khó khăn. Ngăn Databases (Cơ sở dữ liệu) sử dụng các biểu tượng để xác định cơ sở dữ liệu đang mở và cơ sở dữ liệu đã đóng .

Ngoài ra, để ngăn không cho kết nối cơ sở dữ liệu bị ngắt, hãy chuyển chế độ Keep database connections open (Giữ cho kết nối cơ sở dữ liệu luôn mở) từ tắt sang bật tại phần trên cùng của ngăn Databases (Cơ sở dữ liệu)

Xuất dữ liệu trên Trình kiểm tra cơ sở dữ liệu

Bạn hoàn toàn có thể xuất cơ sở dữ liệu, bảng và tác dụng truy vấn trong Trình kiểm tra cơ sở dữ liệu để lưu, san sẻ hoặc tạo lại cục bộ. Khi mở dự án Bất Động Sản ứng dụng trong Android Studio và kiểm tra ứng dụng cho dự án Bất Động Sản đó trong Trình kiểm tra cơ sở dữ liệu, bạn hoàn toàn có thể mở màn xuất dữ liệu theo một trong những cách sau :

  • Chọn một cơ sở dữ liệu hoặc bảng trong ngăn Databases (Cơ sở dữ liệu) rồi nhấp vào Export to file (Xuất sang tệp) ở gần đầu bảng.
  • Nhấp chuột phải vào một cơ sở dữ liệu hoặc bảng trong ngăn Databases (Cơ sở dữ liệu), rồi chọn Export to file (Xuất sang tệp) trên trình đơn theo bối cảnh.
  • Khi kiểm tra một bảng hoặc kết quả truy vấn trong một thẻ, hãy nhấp vào Export to file (Xuất sang tệp) ở phía trên bảng hoặc kết quả truy vấn đó.

Sau khi chọn một hành động xuất, hãy sử dụng hộp thoại Export Database (Xuất cơ sở dữ liệu) để giúp bạn thực hiện các bước cuối cùng, như trong hình 6.

Tuỳ thuộc vào việc bạn đang cố gắng xuất cơ sở dữ liệu, bảng hay kết quả truy vấn, bạn có thể chọn xuất dữ liệu ở một hoặc nhiều định dạng sau: DB, SQL hoặc CSV.

Hộp thoại Xuất cơ sở dữ liệu

Hình 6. Hộp thoại Xuất cơ sở dữ liệu.

Tài nguyên khác

Để khám phá thêm về Trình kiểm tra cơ sở dữ liệu, hãy xem những tài nguyên khác sau đây :

Bài đăng trên blog

Video

Gỡ lỗi cơ sở dữ liệu bằng Trình kiểm tra cơ sở dữ liệu | Android Developers

Bài viết liên quan
Hotline 24/7: O984.666.352
Alternate Text Gọi ngay