안드로이드 개발 질문/답변
(글 수 45,052)
adk 예제로 제공되는 'Notepad'의 DBAdapter만 가지고, 테스트 해보고있습니다.
생성된 DB의 테이블구조는 _id, str, strQuality 이런식이구요.
해당 소스내에서 정상적으로 DB open하고, 데이터 출력까지 되는데.
루프문에서 커서값을 이용하면 자꾸 'CursorIndexOutOfBoundsException' 이 발생하네요.
Cursor cur;
int strQuality=0,i=0;
for(;i<2;i++){
cur = db.fetchNote("str값"); //커서값만 받으면 정상적으로 계속 받아옴
strQuality = cur.getInt(2); //이런식으로 커서값을 이용하면 첫번째 정상실행, 두번째 루프때 위 에러발생.
}
커서값만 가지고 올땐 문제가 없는데 query문 사용해서 해당 커서에 컬럼값 뽑아오면,
첫번째는 담기고 2번째부터 뻑이나네요;; 이경우엔 어떻게 해야하나요?
쿼리를 통해 커스를 받고 난후에 mCursor.moveToFirst(); 또는 mCursor.moveToPosition(position);을 하여 원하는 커서위치의 값을 읽으시면 됩니다. 커스 자체의 index가 범위를 벗어난 경우 입니다.