커서로 데이터를 불러서 이를 View로 바꿔주는 역할을 합니다. 커서는 보통 DB에서 select문을 실행하고 얻을수 있는데요.. 이렇게 얻은 커서도 많은 커서 종류중 하나라고 보시면 됩니다. 커서안에는 컬럼과 로우가 있는데요... 뭐 그냥 DB에서 생각하는 필드와 레코드 개념으로 보셔도 됩니다.
커서 어댑터를 사용하기 위해서는 _id 컬럼이 반드시 존재해야 하는데요... 커서 어댑터에서 _id를 통해서 itemId를 식별하기 때문입니다. position과 _id는 엄연히 다른 개념이므로 혼동하면 안됩니다. position은 어댑터뷰가 아이템을 관리하면서 만든 index이고, _id는 커서 안에있는 하나의 컬럼입니다. 둘은 같을수도 있으나 물론 다를수도 있습니다.
어댑터는 무조건 getView 메소드를 통해서 어댑터 뷰에 뷰를 전달하게 됩니다. 커서어댑터도 동일한 개념이구요. SimpleCursorAdapter의 경우 직접 getView를 쓰지 않고 ViewBinder라는 인터페이스를 외부로 노출하고 있는데요. (실제 소스를 보면 ViewBinder의 메소드를 호출하는 로직을 찾을수 있습니다.) ViewBinder를 통해서 어댑터 뷰에 리턴해줄 뷰를 만들수 있습니다.
커서는 보통 DB에서 select문을 실행하고 얻을수 있는데요.. 이렇게 얻은 커서도 많은 커서 종류중 하나라고 보시면 됩니다.
커서안에는 컬럼과 로우가 있는데요... 뭐 그냥 DB에서 생각하는 필드와 레코드 개념으로 보셔도 됩니다.
커서 어댑터를 사용하기 위해서는 _id 컬럼이 반드시 존재해야 하는데요...
커서 어댑터에서 _id를 통해서 itemId를 식별하기 때문입니다.
position과 _id는 엄연히 다른 개념이므로 혼동하면 안됩니다.
position은 어댑터뷰가 아이템을 관리하면서 만든 index이고,
_id는 커서 안에있는 하나의 컬럼입니다. 둘은 같을수도 있으나 물론 다를수도 있습니다.
어댑터는 무조건 getView 메소드를 통해서 어댑터 뷰에 뷰를 전달하게 됩니다.
커서어댑터도 동일한 개념이구요. SimpleCursorAdapter의 경우
직접 getView를 쓰지 않고 ViewBinder라는 인터페이스를 외부로 노출하고 있는데요.
(실제 소스를 보면 ViewBinder의 메소드를 호출하는 로직을 찾을수 있습니다.)
ViewBinder를 통해서 어댑터 뷰에 리턴해줄 뷰를 만들수 있습니다.