2011-11-17 24 views
5

Tôi muốn biết khi nào nên sử dụng từng Bộ điều hợp. Theo kinh nghiệm của tôi, và điều này article BaseAdapters hữu ích khi tôi nhận dữ liệu từ một API chẳng hạn, và tôi lưu trữ nó trong một đối tượng Bộ sưu tập. Tuy nhiên một CursorAdapter được sử dụng để truy vấn nội dung từ cơ sở dữ liệu, chương trình điện thoại ... Nói chung, nội dung cũng có nhà cung cấp nội dung để truy vấn thông tin từ chúng. Vì vậy, về cơ bản một BaseAdapter được sử dụng để truy vấn mà không có một nhà cung cấp nội dung để truy cập chúng, bởi vì trong trường hợp đó một CursorAdapter sẽ là sự lựa chọn tốt nhất. Quay lại đầu trang | Có đúng không?BaseAdapter vs CursorAdapter

Trả lời

9

BaseAdapter, ArrayAdapter, SimpleAdapter vv chủ yếu được sử dụng nếu bạn nhận dữ liệu động từ kết nối từ xa (như dịch vụ web hoặc API) và có thể được sửa đổi theo ý muốn của bạn.

CursorAdapter chủ yếu được sử dụng cho các tệp cục bộ hoặc cơ sở dữ liệu để truy vấn cơ sở dữ liệu và nội dung của nó. Trong trường hợp của bạn CursorAdapter có vẻ như là một trong những đi.

4

@serdar giải thích gần như đúng, nếu bạn đang xử lý bất kỳ cơ sở dữ liệu nào hoặc thiết bị của bạn (như danh bạ, sms, v.v.) CursorAdapter được sử dụng, và nếu bạn muốn tạo danh sách tùy chỉnh của mình bằng Hình ảnh và Văn bản, v.v. BaseAdapter thường được sử dụng. Bất kỳ nếu bạn đối phó với listview tùy chỉnh phức tạp hơn như sắp xếp danh sách liên lạc cùng với seprater như A, B, C ... thì bạn phải sử dụng EfficientAdapter.

+0

Còn nếu bạn muốn hiển thị chương trình làm việc của danh bạ theo tên? Vẫn có thể sử dụng CursorAdapter? – Dayerman

+1

Giả sử bạn phải phát triển một ứng dụng muốn hiển thị tất cả các số liên lạc được lưu trong điện thoại, bạn sẽ truy vấn cơ sở dữ liệu danh bạ, danh bạ và sms được lưu dưới dạng bảng SQLite và bằng cách truyền tham số trong khi truy vấn. theo thứ tự tăng dần hoặc giảm dần. – Pawan

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