안드로이드에서 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년 01월 21일에 작성됨

조회수 410


1 답변


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

커서는 처음에 첫번째 행부터 시작하기때문에 커서의 첫번째행이 존재한다면 잘 반복할것입니다. 만약 커서가 비었거나 마지막 행이라면 반복문은 종료됩니다.

  • 2016년 01월 21일에 작성됨

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

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