Android sqlite cursor 의 스 트 리밍 인 스 턴 스 상세 설명

cursor 대상 을 조회 하고 얻 은 후 while(corsor.moveToNext(){}으로 옮 겨 다 니 며 corsor.moveToNext()방법 으로 호출 합 니 다.대상 이 없 는 것 을 발견 하면 false 로 돌아 갑 니 다.

public List<MMImage> getAll() {
        List<MMImage> list = new ArrayList<MMImage>();
        Cursor c = null;
        try {
            c = database.query(TABLE, null, null, null, null, null, null);
            while (c.moveToNext()) {
                MMImage mmImage = getMMImageFromCursor(c);
                list.add(mmImage);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (c != null) {
                c.close();
            }
        }
        return list;
    }
지식 포인트 내용 확장:
안 드 로 이 드 를 쓸 때 sqlite 의 지식 과 관련 되 기 때문에 자신 은 Demo 를 만들어 서 공부 하고 관련 된 튜 토리 얼 과 도움말 문 서 를 본 다음 에 자신의 프로그램 을 쓰기 시작 합 니 다.

//1.  SQLiteDatabase   
SQliteDataBase sqlite = SQliteDatabase.openOrCreateDatabase(new File(Environment.getExternalStorageDirectory() + "\testDB"),null);
//2.         
sqlite.execSQL("create table student(id varchar2(10),name varchar2(20),sex varchar2(2)");
sqlite.execSQL("insert into student values(?,?,?)", new String[] {"2013111111", "Tom", "M" });
//3. sqlite     
Cursor cursor = sqlite.rawQuery("select * from student", null);
//    
for (int i = 0; i < cursor.getColumnCount(); i++) {
   textView.append(cursor.getColumnName(i) + '\t');
}
textView.append("
"); // if (cursor.moveToFirst()) { do { textView.append(cursor.getString(0) + '\t' + cursor.getString(1) + '\t' + cursor.getString(2) + '
'); } while (cursor.moveToNext()); }
보기 에는 매우 간단 합 니 다.그러나 저 는 cursor 를 사용 할 때 cursor 를 찾 는 것 을 잊 었 습 니 다.검색 한 후에 결과 집합,즉 2 차원 표 로 돌 아 왔 기 때 문 입 니 다.만약 에 저희 가 getString(int ColumnIndex)을 직접 호출 하면 오류 가 발생 할 수 있 습 니 다.커서 가 어느 줄 의 데 이 터 를 되 돌려 야 할 지 확실 하지 않 기 때문에 저 희 는 Cursor 를 사용 할 때...커서 위치 추적 에 주의 하 세 요.
이상 은 안 드 로 이 드 sqlite cursor 의 인 스 턴 스 를 옮 겨 다 니 는 상세 한 내용 입 니 다.안 드 로 이 드 sqlite cursor 에 대한 더 많은 자 료 는 다른 관련 글 을 주목 하 세 요!

좋은 웹페이지 즐겨찾기