본문 바로가기

개발/안드로이드 소스분석

[안드로이드]apiDemos파해치기 4. App - forwarding

2011/06/17 - [안드로이드] - [안드로이드] apiDemos파해치기 2. App - customTitle

원래는 이번이 Dialog여야 하지만 dialog는 정말 설명할만한 내용이 없어서 패스하고
Forwarding을 알아보겠습니다.


위의 소스가 Forwarding의 핵심소스입니다.
finish(); 는 현재 Activity를 종료 한다는 의미입니다.
A -> B -> C 의 화면전환이 있었을 때에
B에서 finish()를 하게되면 C에서 BackButton을 누를경우 A로 이동하게됩니다.
그 외에도 참고로 알아두시면 좋은것이 Intent의 Flag입니다.
 
http://developer.android.com/reference/android/content/Intent.html 
개발을 하시다보면 화면전환시 위의 Forwarding같은 기능을 자주 사용하게 됩니다.
사용을 하지 않게되면 계속 stack에 쌓이고쌓여서 종료를 위해 back버튼을 누를경우 같은 페이지 내에서도 
여러번 이동하게되는 경우도 생기게 됩니다.

주로 사용되는것이
FLAG_ACTIVITY_CLEAR_TOP
FLAG_ACTIVITY_NEW_TASK 
이 두개정도였고.
 

setFlag와 addFlag의 차이점을 인지해주시면 개발하시는데에 편리하게 사용하실 수 있습니다.