정의
다른 App에 데이터를 공급하는 역할을 하는 컴포넌트
데이터 공급 추상화, 데이터와 어플 계층을 분리하는 역할
이론
컨텐트 제공자 접근 - getContentResolver(), CRUD기능 제공
쿼리 작성 - getContentResolver().query(
Uri, //콘텐츠 제공자의 테이블 이름
Projection, //반환되는 레코드에 포함되는 필드이름
SelectionClause, //행을 선택하는 조건
SelectionArgs,
SortOrder //레코드 집합에서 행이 나타는 순서
)
Uri - MediaStore.Images.Media.INTERNAL_CONTENT_URI 내부 저장매체 접근
MediaStore.Images.Media.EXTERNAL_CONTENT_URI 외부 저장매체 접근
Cursor
실제 Table의 한 행을 참조하는 것 처럼 사용
Cursor 위치 변경
moveToFirst() - 제일 첫번째 행으로 이동
moveToNext() - 다음 행으로 이동
moveToPrevious() - 이전 행으로 이동
moveToPosition(position) - position 행으로 이동
moveToLast() - 마지막 행으로 이동
Cursor 데이터 가져오기
getInt(0), getString(2) 등 - 실제 데이터형 값 가져오기 (Column 번호)
getColumnIndex(STring columnName) - 해당 필드 이름 얻어오기
getPosition() - Cursor가 가리키는 행 position 값 얻어오기
getColumnName(int columnIndex) - 해당 필드 이름 얻어오기
getCount() - 행의 갯수를 얻어옴
getColumnNames() - 필드명을 순서대로 배열로 얻어옴
get ColumnCount() - 필드 갯수를 얻어옴
getColumnIndexOrThrow() - 특정 필드의 인덱스 값 반환, 또는 예외 발생
Column 0 1 2
RecNo |
_id |
name |
|
0 |
|
|
|
1 |
|
|
|
'_id컬럼' - 행과 행을 구별하는 주요키의 역할
'개발 log (개발) > mobile' 카테고리의 다른 글
'커스텀달력' 구현을 위한 이론(Fragment) (0) | 2016.09.06 |
---|---|
'커스텀갤러리' 구현을 위한 이론(ExternalStorage, DrawingCache) (0) | 2016.09.03 |
'커스텀갤러리' 구현을 위한 이론(Media_DB정보) (0) | 2016.08.30 |
'알람기능' 구현을 위한 이론(MobileDB_SQLite 1편) (0) | 2016.08.20 |
'알람기능' 구현을 위한 이론(PendingIntent, AlarmManager) (0) | 2016.08.15 |