Trình kiểm tra cơ sở dữ liệu 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 hữu ích khi gỡ lỗi cơ sở dữ liệu. Trình kiểm tra cơ sở dữ liệu hoạt động với SQLite thuần tuý và với các thư viện được xây dựng dựa trên SQLite, chẳng hạn như Room. Show 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:
Xem và sửa đổi dữ liệuNgă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 đó. 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 các bước sau:
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 Xem các thay đổi đối với cơ sở dữ liệu trực tiếpNế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ạnTrình kiểm tra cơ sở dữ liệu có thể chạy các truy vấn đối 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 có thể sử dụng các truy vấn DAO nếu ứng dụng của bạn dùng Room, nhưng cũng hỗ trợ các truy vấn SQL tuỳ chỉnh. Chạy truy vấn DAONếu ứng dụng của bạn sử dụng Room, Android Studio sẽ cung cấp các thao tác định hướng cho phép bạn chạy nhanh các phương thức truy vấn mà bạn đã xác định trong các 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 đó. 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 danh sách. Nếu trong phương thức truy vấn của bạn có (bind parameters), thì Android Studio sẽ yêu cầu các giá trị cho mỗi tham số trước khi chạy truy vấn đó. Kết quả truy vấn sẽ xuất hiện trong cửa sổ của trình kiểm tra. Chạy truy vấn SQL tuỳ chỉnhBạn cũng có thể sử dụng Trình kiểm tra cơ sở dữ liệu để chạy truy vấn SQL tuỳ 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 các bước sau:
Ngoài ra, bạ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:
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ư 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 Chế độ ngoại tuyếnTrong Android Studio phiên bản 4.2 trở lên, bạn có thể tiếp tục kiểm tra cơ sở dữ liệu của ứng dụng sau khi quá trình ngắt kết nối. Thao tác này giúp việc gỡ lỗi ứng dụng của bạn diễn ra dễ dàng hơn sau khi gặp sự cố. Khi hiện tượng ngắt kết nối 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 cấp cho bạn ở chế độ ngoại tuyến. Khi không có mạng, bạn vẫn có thể mở bảng và chạy các truy vấn. Khi bạn kết nối lại với quy 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ế độ 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ế độ ngoại tuyến sẽ không tồn tại khi kết nối lại với quy trình ứng dụng. Do hạn chế này, Trình kiểm tra cơ sở dữ liệu không 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ế độ 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 ![ cho biết trạng thái ngoại tuyến, như trong hình 5. 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ệuBạn có thể xuất cơ sở dữ liệu, bảng và kết quả truy vấn trong Trình kiểm tra cơ sở dữ liệu để lưu, chia sẻ hoặc tạo lại cục bộ. Khi mở dự án ứng dụng trong Android Studio và kiểm tra ứng dụng cho dự án đó trong Trình kiểm tra cơ sở dữ liệu, bạn có thể bắt đầu xuất dữ liệu theo một trong những cách sau:
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. |