Programming/Android Example
암시적 인텐트 예제 (바인딩 방식)
2swan
2023. 8. 4. 14:51
main.activity
public class MainActivity3 extends AppCompatActivity {
private ActivityMain3Binding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//바인딩 객체 초기화 첫번째 방법
binding = ActivityMain3Binding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
setTitle("암시적 인텐트 예제");
//바인딩 객체 초기화 두번째 방법
// binding = ActivityMain3Binding.inflate(getLayoutInflater());
// View view = binding.getRoot();
// setContentView(view);
binding.btnDial.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Uri uri = Uri.parse("tel:010-1234-5678");
Intent intent = new Intent(Intent.ACTION_DIAL, uri);
startActivity(intent);
}
});
binding.btnWeb.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Uri uri = Uri.parse("http://m.hanbit.co.kr");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
});
binding.btnGoogle.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Uri uri = Uri.parse("https://maps.google.co.kr/maps?q="
+ 37.559133 + "," + 126.927824);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
});
binding.btnSearch.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY, "안드로이드");
startActivity(intent);
}
});
binding.btnSms.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.putExtra("sms_body", "안녕하세요?");
intent.setData(Uri.parse("smsto:" + Uri.encode("010-1234-4567")));
startActivity(intent);
}
});
binding.btnPhoto.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MediaStore. ACTION_IMAGE_CAPTURE);
startActivity(intent);
}
});
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity3"
android:orientation="vertical">
<Button
android:id="@+id/btnDial"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="전화걸기"/>
<Button
android:id="@+id/btnWeb"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="홈 페이지 열기"/>
<Button
android:id="@+id/btnGoogle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="구글 맵 열기"/>
<Button
android:id="@+id/btnSearch"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="구글 검색하기"/>
<Button
android:id="@+id/btnSms"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="문자 보내기"/>
<Button
android:id="@+id/btnPhoto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="사진 찍기"/>
</LinearLayout>