Return to Video

04-34 Read/Write from Location Table Solution

  • 0:01 - 0:04
    phương thức testLocationTable sẽ như thế này
  • 0:04 - 0:07
    Đầu tiên, chúng ta tham chiểu đến một writable database
  • 0:07 - 0:09
    vì chúng ta sẽ chỉnh sửa database
  • 0:09 - 0:12
    Sau đó chúng ta tạo content values cho
  • 0:12 - 0:16
    một hàng của dữ liệu vị trí (location data) sử dụng hàm trong test utilities
  • 0:16 - 0:20
    Sau đó chúng ta insert đối tượng content values đó vào location table
  • 0:20 - 0:24
    Giá trị trả về của câu lệnh insert nên là ID của hàng
  • 0:24 - 0:28
    Nếu nó là -1, chúng ta biết insert thất bại, vì thế assert nó
  • 0:28 - 0:32
    Sau đó chúng ta truy vấn location table và truyền vào null cho tất cả các tham số
  • 0:32 - 0:36
    để 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
  • 0:36 - 0:40
    xác nhận rằng database của chúng ta chỉ chứa record đã được insert
  • 0:40 - 0:42
    query sẽ trả về một cursor
  • 0:42 - 0:45
    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
  • 0:45 - 0:50
    Cuối cùng, chúng ta gọi validateCurrentRecord từ test utility để kiểm tra
  • 0:50 - 0:52
    xem query có trả về đúng record hay không
  • 0:52 - 0:56
    validateCurrentRecord sẽ lấy tập hợp các cặp giá trị
  • 0:56 - 0:57
    từ content values mà chúng ta đã insert
  • 0:57 - 1:01
    sau đó duyệt qua chúng, sử dụng cursor.getColumnIndex
  • 1:01 - 1:04
    để lấy index của mỗi column trong tập hợp record được đặt theo tên
  • 1:05 - 1:08
    Chúng ta cần colummn index để lấy dữ liệu từ cursor
  • 1:08 - 1:11
    Chú ý: projection luôn return theo thứ tự
  • 1:11 - 1:15
    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
  • 1:15 - 1:18
    mà không cần phải tìm chúng như thế này
  • 1:18 - 1:20
    Chúng ta sẽ quay trở lại test
  • 1:20 - 1:24
    Chúng ta kiểm tra để chắc chắn là database có duy nhất một record bằng cách
  • 1:24 - 1:29
    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
  • 1:29 - 1:31
    Cuối cùng, chúng ta return locationRowId.
  • 1:31 - 1:34
    Rồi chạy test xem điều gì xảy ra
  • 1:34 - 1:38
    Và test thành công, chỉ còn phải viết thêm một test nữa thôi
Title:
04-34 Read/Write from Location Table Solution
Description:

more » « less
Video Language:
English
Team:
Udacity
Project:
UD853 - Developing Android Apps
Duration:
01:39

Vietnamese subtitles

Revisions