안드로이드 Cursor반복하는 간결한 방법좀 가르쳐 주세요.


데이터 베이스의 결과를 반복해서 확인하는 코드가 좀 많이 필요한데요.

Cursor cursor = db.rawQuery(...);
cursor.moveToFirst();
while (cursor.isAfterLast() == false) 
{
    ...
    cursor.moveToNext();
}

Cursor cursor = db.rawQuery(...);
for (boolean hasItem = cursor.moveToFirst(); 
     hasItem; 
     hasItem = cursor.moveToNext()) {
    ...
}

Cursor cursor = db.rawQuery(...);
if (cursor.moveToFirst()) {
    do {
        ...                 
    } while (cursor.moveToNext());
}

이런 코드는 다 너무 길고 Cursor메소드를 여러번 호출하는데 좀더 간결한 코드는 없을까요?

  • 2016년 02월 01일에 작성됨

조회수 376


1 답변


좋아요
0
싫어요
채택취소하기
while (cursor.moveToNext()) {
    ...
}
cursor.close();

이렇게 하시면 됩니다. cursor는 첫번째 행 전부터 시작해서 moveToNext를 호출하면 첫번째 행으로 이동합니다. 만약 첫번째 행이 비어있거나 마지막행에 도달하면 false를 리턴합니다.

  • 2016년 02월 01일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close