일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Provider
- 프로그래머스
- 배열
- Kotlin
- Python
- Hilt
- 백준파이썬
- 자바
- Java
- disposableeffect
- 자바리스트정렬
- 문자열
- nullpointerexception방지
- 자료형
- list
- jetpack
- android
- 파이썬
- 자바set
- 티스토리챌린지
- composelifecycle
- ContentProvider
- 오블완
- filternotnull()
- 백준
- Dependency
- programmers
- compose
- 파이썬문법
- 리스트
Archives
- Today
- Total
study gomi
Content Provider 본문
728x90
반응형
Content Provider란?
- Android에서 Content Provider는 앱 간 데이터 공유를 관리하는 구성요소이다.
- 앱이 데이터(파일, db, 네트워크 등)에 접근하거나 다른 앱과 데이터를 공유할 때 사용됨.
- contentProvider를 구현하면 데이터를 CRUD(생성, 읽기, 수정, 삭제) 작업을 통해 제공할 수 있다.
주요 역할
- 데이터 공유: 여러 앱이 데이터를 효율적으로 공유하도록 중앙 집중식 접근을 제공
- 보안 제공: 앱 간 데이터 접근 권한을 제어할 수 있는 권한 관리 기능을 제공
- URI를 통한 데이터 접근: content://로 시작하는 URI를 사용해 특정 데이터에 접근하도록 함.
- 데이터의 캡슐화: 데이터베이스, 파일, 설정 등 다양한 데이터 소스를 일관된 방식으로 캡슐화하여 제공
주요 메서드
(ContentProvider를 상속받아 구현할 때 기본적으로 오버라이드 해야 하는 메소드들)
- onCreate(): Content Provider가 초기화될 때 호출됨. 데이터 소스를 설정하거나 초기화.
- query(): 데이터를 검색하고 반환한다 (예_content://com.example.provider/items의 데이터를 가져올 때 사용)
- insert(): 새로운 데이터를 추가
- update(): 기존 데이터를 수정
- delete(): 데이터를 삭제
- getType(): 특정 URI가 반환할 MIME 타입을 정의
사용 예시
1. 다른 앱에서 접근: 예를 들어 A앱이 B앱의 db를 읽고 싶다면 B앱은 Content Provider를 구현해야 함.
2. 기본 제공 Content Provider
- ContactsProvider: 연락처 데이터 제공
- MediaStore: 기기의 이미지, 오디오, 비디오 데이터 제공
3. 사용 흐름
- 데이터 제공자 앱은 ContentProvider를 구현하여 데이터를 공유
- 데이터 소비자 앱은 ContentResolver를 통해 query, insert 등의 작업 수행
Provider의 확장
- content Provider의 개념은 데이터 공유뿐 아니라 다양한 의도(Intent)를 처리하거나 특정 비즈니스 로직을 캡슐화하는 데에도 활용됨.
- 특정 스토리지 작업을 관리하거나 Intent 처리 과정을 단순화하는 용도로 사용할 수 있다.
728x90
반응형
'App > Android' 카테고리의 다른 글
Content Provider, Provider? (0) | 2024.11.28 |
---|---|
[Hilt] 의존성 생성 방법 (0) | 2024.11.25 |
[Hilt] Hilt의 의존성 그래프 (0) | 2024.11.25 |
Jetpack Compose에서 생명 주기 처리 / LaunchedEffect, SideEffect, DisposalEffect / 설명, 비교 요약 (1) | 2024.11.22 |
[Android/Kotlin] floating button에 직접 그림자 주기 (0) | 2024.10.23 |