[7일차] Content Provider

2015. 5. 27. 13:24Rapa 수업/Android

반응형

1. Content Provider

서로 다른 process가 다루고 있는 데이터에 접근할 수 있도록 데이터를 저장하고 꺼내는 방법을 제공한다


-Uri 구조

"content:// Authority/ Path/ ID"

Content:// : Standard prefix (scheme)

Authority : 보통 패키지명

Path : 정보

ID : 반복수 


2. Task

- standard : 인텐트 호출 시 마다 새로운 인스턴스

- single Top : Task 스택의 최상위에 있는 Activity를 다시 호출 시 새로운 인텐트로 하나의 인스턴스 호출

*최상위가 아닐 경우, 다시 새로운 인스턴스 생성 호출

- single Task : 호출된 Activity를 시작점으로 새로운 Task 생성.

(연관성 있는 Activity들로만 나누어 관리하기 위해서)


얘는 taskAffinity가 달라야 새로운 Task를 만든다. 기본값은 패키지 명이기 때문에 값을 변경하지 않으면 같은 프로세스에서는 한 Task에 쌓이게 된다. 


- single Instance : Task를 하나 만들어서 Task 내에 호출된 Activity 하나만 존재

(하나의 Activity만 사용하기 위해  ex.런쳐 )


- Intent flag 로 Task 제어하기

Intent.FLAG_ACTIVITY_REORDER_TO_FRONT

호출된 객체와 같은 객체가 stack에 있다면 마지막 객체를 Top로 옮긴다. (흐름이 섞이기 때문에 권장하지 않음)

Intent.FLAG_ACTIVITY_CLEAR_TOP

stack에 존재하는 객체를 다시 호출시 존재하는 객체까지 stack을 지우고 새로운 객체를 생성하여 호출

Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP

stack에 존재하는 객체를 다시 호출시 존재하는 객체전까지 stack을 지우고 호출

Intent.FLAG_ACTIVITY_NO_HISTORY

호출한 흔적을 back stack에 남기지 않는다. back키 호출시 불려지지 않음.

Intent.FLAG_ACTIVITY_NEW_TASK

Service 또는 Broadcast Receiver에서 Activity 호출시 사용해야 함.

반응형

'Rapa 수업 > Android' 카테고리의 다른 글

[9일차] 안드로이드 공유  (0) 2015.05.29
[8일차] Binder & Fragment  (0) 2015.05.28
[6일차]  (0) 2015.05.27
[5일차] Handler & AsyncTask  (0) 2015.05.22
[4일차]Android Application UI  (0) 2015.05.21