Vietnamese subtitles

← 04-34 Read/Write from Location Table Solution

Get Embed Code
6 Languages

Showing Revision 1 created 07/27/2015 by Thanh Pham.

  1. phương thức testLocationTable sẽ như thế này
  2. Đầu tiên, chúng ta tham chiểu đến một writable database
  3. vì chúng ta sẽ chỉnh sửa database
  4. Sau đó chúng ta tạo content values cho
  5. một hàng của dữ liệu vị trí (location data) sử dụng hàm trong test utilities
  6. Sau đó chúng ta insert đối tượng content values đó vào location table
  7. Giá trị trả về của câu lệnh insert nên là ID của hàng
  8. Nếu nó là -1, chúng ta biết insert thất bại, vì thế assert nó
  9. Sau đó chúng ta truy vấn location table và truyền vào null cho tất cả các tham số
  10. để lấy một query mặc định cho tất cả các hàng và cột, vì chúng ta muốn
  11. xác nhận rằng database của chúng ta chỉ chứa record đã được insert
  12. query sẽ trả về một cursor
  13. Và chúng ta sẽ assert nếu chúng ta không thể di chuyển nó vào hàng đầu tiên
  14. Cuối cùng, chúng ta gọi validateCurrentRecord từ test utility để kiểm tra
  15. xem query có trả về đúng record hay không
  16. validateCurrentRecord sẽ lấy tập hợp các cặp giá trị
  17. từ content values mà chúng ta đã insert
  18. sau đó duyệt qua chúng, sử dụng cursor.getColumnIndex
  19. để lấy index của mỗi column trong tập hợp record được đặt theo tên
  20. Chúng ta cần colummn index để lấy dữ liệu từ cursor
  21. Chú ý: projection luôn return theo thứ tự
  22. Vì thế nếu chúng ta chỉ rõ một projection, chúng ta có thể an toàn sử dụng index từ projection array
  23. mà không cần phải tìm chúng như thế này
  24. Chúng ta sẽ quay trở lại test
  25. Chúng ta kiểm tra để chắc chắn là database có duy nhất một record bằng cách
  26. chắc chắn rằng moteToNext thất bại, sau đó chúng ta close cursor và database, chúng ta sẽ không bị rò rỉ tài nguyên
  27. Cuối cùng, chúng ta return locationRowId.
  28. Rồi chạy test xem điều gì xảy ra
  29. Và test thành công, chỉ còn phải viết thêm một test nữa thôi