JAVA

■■ Andoroid activity ■■ Intent ■■

룸훼훼 2010. 12. 29. 14:06
반응형

Activity


                       Activity의 life cycle이다.

 Android의 Application는 Activity의 조합으로 이루어져 있다해도 과언이 아니다.
기존의 작은 스케일의 app을 보면 3~5개의 큰틀을 가진 페이지로 구성되어 있는 것을 볼수 있는데, 구성으로
메인페이지, 실행 페이지, 도움말, 설정, 등 각각의Activity로 구성이 되어 있다고 생각하면 된다.

Activity의 life cycle에 대해서 알고 있어야 한다.
Activity는 하나의 프로세스, 독립된 life cycle을 가지고 있다.(위의 그림 참조)

application을 개발할때 기본이 되는 Activity class 7가지 method에 대해 알아 본다.

◇ onCreate
화면을 구축할대 불려지는 method이다.
일반적으로 화면의 레이아웃을 구축할 때 각종 초기화 처리를 한다.

◇ onStart / onRestart
activity가 화면에 뿌려질때 불려지는 method이다.
이미 실행되어 있는 activity가 가려졌다 화면에 다시 불려지게 되면
onRestart를 통해 onstart가 불려진다.

◇ onResume
activity가 유져의 입력을 받을수 있게 되었을때 불려진다.

◇ onPause
다른 activity가 화면에 대신 표시 될 때 불려진다.
onPause 동작 후, 안드로이드 시스템이 다른 application에
메모리를 할당 하기 위해 이전에 실행되어 있는 activity를
종료 시킬 경우가 있다. 편집 중인 문서나 데이터는 onPause
method를 통해 보존 처리 할수 있다.
(데이터의 저장, 애니메이션 정지, CPU를 소비하는 작업중단 등)

◇ onStop
해당 Activity가 완전히 유저의 눈에 보이지 않게 되었을 때 불려진다.
그후 다시 Activity가 표시될 경우 onRestart가 호출된다.

◇onDestroy
activity가 완전히 종료될때 불려진다.
메모리상에서 activity를 내려버림.
onDestroy() method가 호출되면 시스템에는 activity가 존재하지 않는다.



Intent

안드로이드는 화면과 화면 사이를 이동할때 intent라는 특별한 class를 사용한다.
Intent에는 application의 작업을 위한 정보가 담겨져 있다.
예를 들어 A라는Activity 와 B라는Activity로 화면이 전환될때 Intent Class를 다음과
같이 사용한다.

Intent i = new Intent(this, NoteEdit.class);
startActivityForResult(i, ACTIVITY_CREATE);
호출하는 쪽은 this이고 호출당하는 쪽은 NoteEdit class이다.
this class에서 NoteEdit class의 화면이 전환된다. 화면전환은 StartActivity()나 StartActivityForResult()
 method를 통해 이루어진다.
즉 위의 소스에서  startActivityForResult()대신 startActivity()를 이용해도 된다.
호출 하는 쪽에서 데이터를 Intent에 저장해서 보낼수 있고, 호출 당하는 쪽에서는 전달받은 Intent로부터
데이터를 추출할수 있다. 따라서 Intent는 두 Activity사이의 접착제같은 역할을 한다.
반응형

'JAVA' 카테고리의 다른 글

객체[Object]와 인스턴스[Instance]  (2) 2020.09.23
1229-RIL..etc  (0) 2010.12.30
Modifier[제어자]  (0) 2010.12.29
Java 과제  (0) 2010.08.22
생성자[constructor], 변수란?  (0) 2010.08.17