2010-11-21 36 views
49

Có ai biết cách tôi có thể xem con trỏ có trong con trỏ nào trong quá trình gỡ lỗi để tôi có thể xác định chức năng của trình trợ giúp cơ sở dữ liệu của mình không?Xem con trỏ cơ sở dữ liệu Android

Nó tiếp tục hoạt động giống như đang trả về dữ liệu, nhưng khi tôi cố gắng sử dụng phương thức cursor.isNull(0), tôi tiếp tục bị NullPointerException ném và không thể xem con trỏ có gì trong khi bước qua thực thi thực sự làm tôi bực mình.

Mọi trợ giúp sẽ được đánh giá rất cao.

Cảm ơn.

Trả lời

-6

Nếu đó là ngoại lệ con trỏ null, có vẻ như con trỏ của bạn thực sự là null.

Tôi sẽ sử dụng Log.d() để giúp gỡ lỗi con trỏ của mình, bạn có thể chỉ cần tạo phương thức trợ giúp để đổ toàn bộ hàng con trỏ của bạn tới LogCat.

+0

Log.d ("col 0" + mCursor.getLong (0) + ", col1" + mCursor.getLong (1)); và cứ thế ... – xandy

+0

Được rồi ... vậy, khi tôi thử làm điều này; Log.d ("Activity.cursor", "col 0:" + cursor.getLong (0)); Nó bị treo. Khi tôi thử điều này; Log.d ("Activity.cursor", "col 0:" + cursor.getCount()); Nó nói col 0: 1 Làm thế nào nó có thể là null? – Skittles

+30

Tôi nghĩ rằng tôi đã tìm thấy câu trả lời tôi cần. Có vẻ như lớp học thực sự tuyệt vời này cho phép tôi xem nội dung chính xác của con trỏ dưới dạng một hashtable. DatabaseUtils.dumpCursor (con trỏ); Cảm ơn bạn đã giúp đỡ, xandy. :) – Skittles

269

Android đã cung cấp một lớp cụ thể chỉ để gỡ lỗi Con trỏ. Nó được gọi là DatabaseUtils.

Gọi phương thức DatabaseUtils.dumpCursorToString(cursor) để xem nội dung của con trỏ.

Trình trợ giúp này lặp lại và in ra nội dung của Con trỏ cho bạn và trả về con trỏ về vị trí gốc để nó không làm rối loạn logic lặp của bạn.

+46

tại sao đây không phải là câu trả lời được chấp nhận? – Mirko

+5

Đây chắc chắn là câu trả lời đúng. – suomi35

+3

Điều này là do đó là câu trả lời duy nhất và @Skittles mình tìm thấy về DatabaseUtils 2 năm trước khi câu trả lời này được đăng. –

Các vấn đề liên quan