수명주기
[Do it! 안드로이드 앱 프로그래밍 #11] 프래그먼트란?
11 프래그먼트란? 11-1 프래그먼트에 대해 이해하기 여러 개의 화면을 구성할 때는 보통 각각의 화면을 액티비티로 만든 후 액티비티를 전환하는 방법을 사용한다. 그런데 화면의 일부분을 다른 화면으로 구성하고 싶을 때는 어떻게 해야 할까? ① 리니어 레이아웃 안에 다른 레이아웃을 추가하고 각각의 레이아웃 안에 필요한 뷰를 넣는다. ② 프레임 레이아웃 안에 여러 개의 레이아웃을 넣어 중첩시킨 후 가시성 속성을 설정한다. ③ 하나의 액티비티 안에 여러 개의 액티비티를 부분 화면으로 설정한다. 위 세 가지 방법은 이전 게시글에서 배웠다. 방법 ①은 코드가 복잡해지는 문제가 있고, 방법 ②는 다른 액티비티에서 사용하려 할 때 동일한 레이아웃을 중복해서 만들어야 하는 문제가 있다. 방법 ③은 시스템에서 액티비티를..
[Do it! 안드로이드 앱 프로그래밍 #10] 태스크 관리, 액티비티 수명주기 이해하기
10-1 태스크 관리 이해하기 앱을 실행하면 그 앱은 하나의 프로세스 위에서 동작한다. 예전 글에서 앱에서 시스템으로 인텐트를 보내는 방법으로 전화 앱을 띄워보았다. 이렇게 하면 두 앱은 별도의 프로세스로 동작하게 된다. 그런데 프로세스는 독립적인 상자와 같아서 프로세스 간의 정보 공유는 어렵다. 그래서 앱에는 태스크(Task)라는 것이 만들어지고, 태스크가 전화 앱에서 [BACK] 키를 누르면 다시 원래의 앱 화면으로 돌아올 수 있게 해준다. 10-1-1 프로세스와 태스크 시스템은 알아서 태스크를 관리하지만 직접 제어해야 하는 경우도 생긴다. 매니페스트 파일(AndroidManifest.xml)에 액티비티를 등록할 때 태스크도 함께 설정할 수 있다. ▼ 액티비티의 launchMode 속성을 추가하고 값..