Android 개발에서 커서 사용은 무엇입니까?
나는 데이터베이스 연결, 검색과 관련하여 인터넷에서 일부 코드를 살펴보고있었습니다. 나는 Cursor cur1= moveToFirst()
많은 코드에서 보았고 커서의 사용이 무엇인지, 그리고 moveToFirst()
내가 안드로이드를 처음 사용 하는 이유를 알고 싶었습니다 .
Cursor 는 모든 데이터베이스의 2 차원 테이블을 나타내는 인터페이스입니다. SELECT 문을 사용하여 일부 데이터를 검색하려고 하면 데이터베이스는 먼저 CURSOR 개체를 만들고 해당 참조를 사용자에게 반환합니다.
이 반환 된 참조의 포인터는 Cursor 의 첫 번째 위치 이전 과 같이 호출되는 0 번째 위치 를 가리키고 있으므로 커서 에서 데이터를 검색하려면 먼저 첫 번째 레코드로 이동해야하므로 moveToFirst 를 사용해야 합니다.
Cursor 에서 moveToFirst () 메서드 를 호출 하면 커서 포인터가 첫 번째 위치로 이동 합니다. 이제 첫 번째 레코드 에있는 데이터에 액세스 할 수 있습니다.
간단히 말해서 Cursor는 쿼리 데이터 모음을 반환하는 인터페이스입니다. moveToFirst()
커서에서 데이터를 가져 오려는 위치에서 커서 위치를 가리키는 데 사용됩니다. 방법이 있습니다 moveToLast()
, moveToNext()
, moveToPrevious()
, moveToPosition(position)
하는 당신이 원하는 방법으로 커서를 반복 할 수 있습니다.
예를 들어 커서에 데이터가 있습니다.
Lalit
Rithesh
Paresh
Chandra
moveToFirst()
-cursor.moveToFirst()
이 경우 사용하면 커서의 첫 번째 데이터이므로 Lalit을 가리 킵니다. 커서에서 다음 데이터를 얻으려면을 사용할 수 있습니다moveToNext()
.moveToLast()
-이렇게하면 Chandra가 커서의 현재 데이터로 표시됩니다. 커서에서 이전 데이터를 얻으려면 다음을 사용할 수 있습니다.moveToPrevious()
커서는 쿼리 결과를 나타내며 기본적으로 쿼리 결과의 한 행을 가리 킵니다. 이렇게하면 Android가 쿼리 결과를 효율적으로 버퍼링 할 수 있습니다. 모든 데이터를 메모리에로드 할 필요가 없습니다.
결과 쿼리의 요소 수를 얻으려면 getCount()
메서드를 사용하십시오 .
개별 데이터 행 사이를 이동하려면 moveToFirst()
및 moveToNext()
메서드를 사용할 수 있습니다 . 이 isAfterLast()
메서드는 쿼리 결과의 끝에 도달했는지 확인할 수 있습니다.
커서 () 메소드 예 * 얻을 입력 제공 getLong(columnIndex)
, getString(columnIndex)
결과의 현재 위치에 대한 열 데이터에 액세스. "columnIndex"는 액세스중인 열의 번호입니다.
Cursor는 getColumnIndexOrThrow(String)
테이블의 열 이름에 대한 열 인덱스를 가져올 수 있는 방법 도 제공 합니다.
Cursor는 close()
메서드 호출 로 닫아야 합니다. 쿼리는 Cursor 개체를 반환합니다.
Cursor는 Java의 ResultSet과 유사하며 포인터와 함께 일부 쿼리에 의해 반환 된 행이 있습니다. moveToFirst()
, moveToNext()
및 moveToPosition(position)
세트의 위치보다 소정의 포인터.
커서는 SQL 쿼리 결과가 저장되는 것입니다.
Cursor 인터페이스를 데이터 콜렉션으로 사용하십시오 .
포인터와 함께 일부 쿼리에서 반환 된 하나 이상의 행을 보유한다는 점 Cursor
에서 PL/SQL
in 과 유사합니다 .
Cursor
을 반복 하는 인터페이스 에서 다음 메서드를 사용할 수 있으며을 원하는 위치로 Cursor
설정합니다 Cursor pointer
.
- moveToFirst ()
- moveToLast ()
- moveToNext ()
- moveToPrevious ()
- moveToPosition (위치)
Cursor 인터페이스는 데이터베이스 쿼리에서 반환 된 결과 집합에 대한 임의의 읽기-쓰기 액세스를 제공합니다.
커서 구현은 동기화 할 필요가 없으므로 여러 스레드에서 커서를 사용하는 코드는 커서를 사용할 때 자체 동기화를 수행해야합니다.
참고 URL : https://stackoverflow.com/questions/9938471/what-is-use-of-cursor-in-android-development
'Programing' 카테고리의 다른 글
Android : 텍스트없이 이미지가있는 토글 버튼 만들기 (0) | 2020.10.31 |
---|---|
자바에서 고유 한 난수 생성 (0) | 2020.10.31 |
Python : _imagingft C 모듈이 설치되지 않았습니다. (0) | 2020.10.31 |
jQuery dataTable을 다시로드 / 새로 고침하는 방법은 무엇입니까? (0) | 2020.10.31 |
Intellij 런처가 Unity에서 작동하지 않습니까? (0) | 2020.10.31 |