본문 바로가기

인텐트(Intent)와 인텐트 필터(Intent filter) 인텐트(Intent) - 다른 구성요소로부터 작업을 요청하는 비동기적 메세지 액티비티, 서비스, 브로드캐스트 수신기는 인텐트로부터 활성화 콘텐츠 제공자는 콘텐츠 리졸버(content resolver)로 요청이 지정되면 활성화된다. (콘텐츠 리졸버는 콘텐츠 제공자와의 모든 직접적인 트랜잭션을 처리하여 제공자와의 트랜잭션을 수행하는 구성요소가 그런일을 하지 않아도 되게 하고 콘텐츠 리졸버객체에서 메소드를 호출한다.) 인텐트 필터 - 해당 구성요소가 수신하고자 하는 인텐트 유형을 나타낸다. - Action (수행할 작업) - ACTION_VIEW, ACTION_SEND, ACTION_MAIN : 시작액티비티 지정- Data (수행할 URI)- Category (수행할 액션의 추가적인 정보) 1) CATEGOR.. 더보기
액티비티 (Activity) 액티비티(Activity) - 액티비티가 시작될때마다 이전 액티비티는 중단되지만 시스템은 해당 액티비티를 스택(백스택)에 보존한다. 새 액티비티가 시작되면 백스택에 푸시되고 사용자 포커스를 가진다. 백스택은 후입선출방식으로 액티비티를 종료하면 백스택에서 팝되고 (소멸되고) 이전 액티비티가 재개된다. 세가지 상태가 존재한다. 1. Resumed - 포그라운드, 사용자 포커스가 있는 상태 2. Paused - 다른 액티비티가 위에 있지만 여전히 표시되는 상태3. Stopped - 다른 액티비티에 의해 완전히 가려진 상태(메모리종료가능) 1. onCreate() : 액티비티가 생성될 때 호출되어, 액티비티 내의 모든 요소들을 이 메소드 내에서 초기화 시킬 수 있다. UI 레이아웃을 코드 상으로 동작하게 하기 .. 더보기
프래그먼트(fragment) 프래그먼트(fragment) - 액티비티내의 사용자 인터페이스 일부로 자체의 생명주기를 가진 뷰로 보면 된다. 장점 1. 디바이스 차이를 다루기 위해(태블릿에서 넓은 화면을 제대로 활용할수있다) 2. 화면사이에 데이터를 전달할 수 있다. 3. 향상된 유저 인터페이스를 구성할수있다. swipe스타일 쉽게 구성가능 4. 라이프 사이클 관리 - backstack관리에 용이하다. 단점 1. 코드적인 오버헤드가 크다. 커스텀 뷰는 가볍고 만들기 쉽다. 2. 생성에 드는 비용이 크다. 1. 액티비티에 프래그먼트 추가 1) 레이아웃 파일안에서 선언 교체트랜잭션이 백스택에 저장되고 사용자가 back버튼을 눌러 트랜잭션을 되돌리고 이전프래그먼트를 다시 가져올수있다. 없다면 소멸되고 사용자는 탐색이 불가능하다.4. 전환 .. 더보기