인텐트로 액티비티 띄우기
1. 명시적 액티비티 시작하기
가장 간단하게 사용되는 녀석이라 말할수 있겠네요.
Intent intent = new Intent(AAA.this, BBB.class);
startActivity(intent);위와 같이 작성하면 끝납니다.
startActivity()메소드가 호출되면 BBB라는 이름의 액티비티가 화면에 보여지게 됩니다.
새로 보이는 이 액티비티에서 코드상에서 finish() 를 호출하게 되면 액티비티가 종료되게 됩니다.
아주 간단하죠?
2. 암시적 인텐트
익명의 어플리케이션 컴포넌트가 액션 요청을 서비스할 수 있도록 하는 메커니즘 입니다.
간단한 예를 들어 볼께요.
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:010-1234-5678") );
startActivity(intent);
위와 같이 작성하시면 됩니다.
주로 사용되는 이유가 다른 어플리케이션이 있는 기능을 사용하여 프로젝트를 진행할 때 편하기 때문입니다.
위의 예제같은경우 전화를 걸기위한 다이얼을 새롭게 구성하는 것이 아니라 이미 만들어진 녀석을 사용하는게 편리하므로 액션의 이름을 넘겨줍니다.(ACTION_DIAL)
3. 액티비티 결과 리턴하기
startActivity를 통해 시작되는 액티비티는 호출한 녀석에게 어떠한 정보도 넘겨주지 못합니다.
만약 아래와 같은 시스템이 필요하다고 생각해 보겠습니다.
A클래스가 B를 호출하는데 B가 종료될때의 값에 따라 A에서 나타내게 되는 값이 달라진다라면?
좀더 실질적인 놈으로 갑시다.
사진을 등록하고자 합니다. 그럼 사진 목록을 선택한 다음 원하는 사진을 선택하면 처음 화면에 사용자가 선택한 이미지가 나와야 하죠? 이런경우 사용하시면 됩니다.
바로 startActivityForResult() 메소드를 사용하면 됩니다.
startActivityForResult(Intent intent, int requestCode) 요것이 원형이죠. 간단한 코드를 통해서 살펴보도록 하겠습니다. 풀소스는 첨부파일로 올리겠습니다.
A 클래스
...... 생략 ....
Intent intent = new Intent(AAA.this, BBB.class);
startActivityForResult(intent, 10);
.... 생략 ....
public void onActivityResult(int requestCode, int resultCode, Intent data){
if(resultCode == RESULT_OK){
if(requestCode == 10){
..........
}
}
}
B클래스
.... 생략....setResult(RESULT_OK);
.... 생략 .....
덧글]
개발하시다가 온몸이 찌뿌둥하시면 아래 동영상을 따라 스트레칭을 한번하세요.
1. 목디스크 예방을 위한 목운동 ☞ http://jwandroid.tistory.com/192
2. 손목터널증후군 손목스트레칭으로 예방합시다. ☞ http://jwandroid.tistory.com/193
3. 개발자 여러분 허리를 세우세요 - 척추체조 1번 ☞ http://jwandroid.tistory.com/194
4. 개발자 여러분 허리를 세우세요 - 척추체조 2번 ☞ http://jwandroid.tistory.com/195
5. 개발자 여러분 허리를 세우세요 - 척추체조 3번 ☞ http://jwandroid.tistory.com/196
6. 개발자 여러분 허리를 세우세요 - 척추체조 4번 ☞ http://jwandroid.tistory.com/197
'프로그래밍 > 안드로이드' 카테고리의 다른 글
[안드로이드/Android]안드로이드 레이아웃 (2) | 2012.05.09 |
---|---|
[안드로이드] 안드로이드 Failed to install timeout (1) | 2012.05.08 |
[안드로이드/Android] 안드로이드 ViewGroup (0) | 2012.05.07 |
[안드로이드/Android] 안드로이드 View (0) | 2012.05.07 |
[안드로이드/Android] 안드로이드 - 리소스 (1) (0) | 2012.05.07 |
[안드로이드] 안드로이드 - 리소스 (2) (0) | 2012.05.07 |
[안드로이드/Android] 안드로이드 권한(Permission) 종류 (3) | 2012.05.04 |
[안드로이드/Android] 안드로이드 전화 수신 이벤트 체크하기 (1) | 2012.05.04 |
[번역] 안드로이드 Android and Security (0) | 2012.05.03 |