ContextProvider
안드로이드에서 Appilcation들이 접근할 수있는 방법을 제공해주는거
Uri를 넘겨줘야 한다.
context://contacts/people/1
ContextResolver
ContentProvider 통신
OpenAssetFileDescriptor, openFileDescriptor, openInputStream,
주소록 데이터를 가져오는 방법
주소록은 Contact이라고 하고 ContactsContract - 주소록데이터와 관련된 정보이다.
주소록 데이터는 실제로 복잡하다.
간단하게 말하면 Contact이라는 테이블이 있고, raw contact 이라는 게 있다. Data가 있다.
raw contact 안에 Data에 대한 Table이 잇다.
READ_CONTACTS,WRITE_CONTACTS를 runtimePermission을 획득해야한다.
주소록 데이터 가져오는거 실습 .
주소록을 가져오기 위해서는 Content Resilver가 필요하다.
ContextResolver resolver = getContextResolver() 를 통해 얻을 수있따. 단 액티비티를 상속한 상태에서 이렇게 얻을 수 있다.
SimpleCursor Adapter는 항상 ID가 있어야 한다.
자음검색을 다 구현해줘야하기때문에 FilterUri를 써야한다.
간단하게 해보 자 .
Loader
Loader
- 안드로이드 3.0 에서 소개된 Loader 를 사용하면 액티비티와 프래그먼트에서의 비동기 데이터 로딩을 쉽게 처리할 수 있습니다.
특징
- 모든 액티비티와 프래그먼트에서 사용할 수 있습니다.
- 어플리케이션 UI를 Blocking 하지 않도록 비동기 데이터 로딩을 제공합니다.
- 데이터를 모니터 하기 때문에 데이터가 변경되었을때 변경사항을 확인할 수 있습니다.
API
LoaderManager
- LoaderManager는 액티비티, 프래그먼트 와 1:1 의 관계를 갖습니다. 액티비티 하나당 하나의 LoaderManger 가 존재하는 셈이죠
그리고 하나의 LoaderManager 는 여러개의 Loader 를 관리하게 됩니다.
InputView.addTextChangedListener(new TextWatcher(){
//이렇게 얻어온다.
})
'Android' 카테고리의 다른 글
[21일차] 카메라 서피스뷰 (0) | 2016.08.16 |
---|---|
[21일차] AudioData (0) | 2016.08.16 |
[18일차] SharedPreferences (0) | 2016.08.10 |
[18일차]퍼미션 (0) | 2016.08.10 |
[18일차] 파일 (0) | 2016.08.10 |