기존 activity_first.xml에 암시적 인텐트로 다른 액티비티를 호출할 두 개의 버튼 위젯을 추가한다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout ...>
<TextView
... />
<Button
... />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="다이얼 작업 시작하기"
android:id="@+id/buttonDialActivity"
android:onClick="doOnBtnClick" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="지도보기 작업 시작하기"
android:id="@+id/buttonMapActivity"
android:onClick="doOnBtnClick" />
</LinearLayout>
FirstActivity에 버튼 클릭 이벤트를 처리할 doOnBtnClick() 메소드 정의
public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// 이전 코드와 동일
}
/**
* 버튼 클릭 이벤트 처리
* @param view : 클릭된 버튼 객체
*
* 클릭된 버튼 객체가 무엇인지를 id를 통해 인지하여, 두 가지 다른 인텐트 객체를 생성
*/
public void doOnBtnClick(View view) {
Intent implicit_intent = null;
switch (view.getId()) {
case R.id.buttonDialActivity:
// 114 전화번호로 다이얼 작업을 수행할 수 있도록 인텐트 설정
implicit_intent = new Intent(Intent.ACTION_DIAL,
Uri.parse("tel:114"));
break;
case R.id.buttonMapActivity:
// 주어진 위도,경도 위치로 지도를 보여줄 수 있도록 인텐트 설정
implicit_intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("geo:37.5817599,127.0081608"));
break;
}
if (implicit_intent != null)
startActivity(implicit_intent);
}
}
실행결과
초기 실행 화면 | 다이얼 작업 시작하기클릭한 경우 |
지도보기 작업 시작하기클릭한 경우 |
---|---|---|