마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

DB연동시에 getCount() 구현하는 방법이요

0 추천

 

DB에 있는 내용을 그리드뷰에 뿌려주는걸 하고 있는데요

그리드뷰 어답터 안에 getCount() 메소드를 구현하는 부분에서

 

private Cursor cursor = null;

public int getCount() {

 

return cursor.moveToFirst() ? cursor.getColumnCount() : 0;
}
 
 
이렇게 해주었습니다.
커서가 null인 상태에서 메소드가 실행되기 때문에 널포인터 예외가 발생하더군요
DB에 있는 데이터 개수 카운트 할수 있는 방법 좀 부탁드립니다.
 
the_square (140 포인트) 님이 2013년 2월 18일 질문

3개의 답변

0 추천

cursor = db.rawQuery( "select * from 테이블명", null ) ;

어느 테이블에 어떤 레코드들의 갯수를 얻어달라는 것인지 명확히 해줘야죠

고또 (6,100 포인트) 님이 2013년 2월 18일 답변
0 추천
커서어댑터 쓰시나요?

생성자로 커서 제대로 넣으면 null이 뜰 일이 절대로 없는데요.

설마 커서 생성 안 하시고 어댑터 안에서 db처리를 하시는 건가요?
퐁풍 (8,740 포인트) 님이 2013년 2월 18일 답변
0 추천

 

public int getCount() {
    if(cursor == null)
        return 0;
    else
        return cursor.getColumnCount();
}

cursor.moveToFirst() 가 getCount() 내에 있으면 getCount() 호출시마다 커서가 앞으로 이동할 것 같네요

루지메이앙 (3,450 포인트) 님이 2013년 2월 18일 답변
루지메이앙님이 2013년 2월 18일 수정
...