728x90
반응형
💡암시적 인텐트
◾ 암시적 인텐트는 작업을 지정해 그 작업을 수행할 수 있는 앱을 호출하도록 하는 것이다.
📃암시적 인텐트 테스트
◾ 웹 브라우저 열기
◾ 웹 검색
◾ 알람 설정
◾ 전화 화면 열기
◾ 전화 걸기
📝layout.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="5dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tv_website"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="웹사이트 열기"
android:textSize="20sp" />
<EditText
android:id="@+id/et_website"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_website"
android:hint="웹주소를 입력하세요" />
<Button
android:id="@+id/btn_open"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/et_website"
android:layout_alignParentRight="true"
android:text="열기"
android:textSize="20sp" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="100dp">
<TextView
android:id="@+id/tv_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/et_website"
android:text="구글 검색"
android:textSize="20sp"
tools:ignore="NotSibling" />
<EditText
android:id="@+id/et_search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_search"
android:hint="검색어를 입력하세요" />
<Button
android:id="@+id/btn_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/et_search"
android:layout_alignParentRight="true"
android:text="검색"
android:textSize="20sp" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="200dp">
<TextView
android:id="@+id/tv_alarm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/et_search"
android:text="알람 설정"
android:textSize="20sp"
tools:ignore="NotSibling" />
<EditText
android:id="@+id/et_time"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_below="@id/tv_alarm"
android:hint="시" />
<EditText
android:id="@+id/et_min"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_below="@id/tv_alarm"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@id/et_time"
android:hint="분" />
<Button
android:id="@+id/btn_setting"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/et_min"
android:layout_alignParentRight="true"
android:layout_toRightOf="@id/et_min"
android:text="설정"
android:textSize="20sp" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="300dp">
<TextView
android:id="@+id/tv_tel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/et_website"
android:text="전화 화면"
android:textSize="20sp"
tools:ignore="NotSibling" />
<EditText
android:id="@+id/et_tel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_tel"
android:hint="전화번호를 입력하세요" />
<Button
android:id="@+id/btn_tel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/et_tel"
android:layout_alignParentRight="true"
android:text="전화 화면 열기"
android:textSize="20sp" />
</RelativeLayout>
</RelativeLayout>
📝MainActivity.java
package com.example.day37;
import androidx.appcompat.app.AppCompatActivity;
import android.app.SearchManager;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.provider.AlarmClock;
import android.view.View;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout);
findViewById(R.id.btn_open).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText et = (EditText) findViewById(R.id.et_website);
String str = et.getText().toString();
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://" + str));
startActivity(intent);
}
});
findViewById(R.id.btn_search).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText et = (EditText) findViewById(R.id.et_search);
String str = et.getText().toString();
Intent intent = new Intent(Intent.ACTION_WEB_SEARCH)
.putExtra(SearchManager.QUERY, str);
startActivity(intent);
}
});
findViewById(R.id.btn_setting).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText et_h = (EditText) findViewById(R.id.et_time);
String str_h = et_h.getText().toString();
EditText et_min = (EditText) findViewById(R.id.et_min);
String str_min = et_min.getText().toString();
Intent intent = new Intent(AlarmClock.ACTION_SET_ALARM)
.putExtra(AlarmClock.EXTRA_HOUR, Integer.valueOf(str_h))
.putExtra(AlarmClock.EXTRA_MINUTES, Integer.valueOf(str_min));
startActivity(intent);
}
});
findViewById(R.id.btn_tel).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText et = (EditText) findViewById(R.id.et_tel);
String str = et.getText().toString();
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + str));
startActivity(intent);
}
});
}
}
728x90
반응형
'App > Android Studio' 카테고리의 다른 글
Android Studio - 복습 (0) | 2022.08.09 |
---|---|
Android Studio - 액티비티 간의 상호작용 (0) | 2022.08.09 |
8강 이상형 월드컵 📌수정중 (0) | 2022.08.08 |
Android Studio - 명시적 인텐트 (0) | 2022.08.08 |
Android Studio - 액티비티 수명주기와 재실행 (0) | 2022.08.08 |
댓글