본문 바로가기
안드로이드 자바

[Java][Android] 암시적 인텐트 사용해서 웹 검색하기

by teamnova 2024. 7. 25.
728x90

 

암시적 인텐트를 사용하면 다양한 작업을 쉽게 수행할 수 있습니다. 이번에 구현할 웹 검색 뿐 아니라 지도를 열거나, 이메일을 보내는 기능도 구현해볼 수 있습니다.

 

이번에는 암시적 인텐트를 사용해서 웹 검색 기능을 구현해보겠습니다.

 

전체 코드입니다.

 

 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/main"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context=".MainActivity">


  <EditText
    android:id="@+id/et_search"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="100dp"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"/>

  <Button
    android:id="@+id/btn_search"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:text="검색"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/et_search"/>


</androidx.constraintlayout.widget.ConstraintLayout>

 

 

MainActivity.java

public class MainActivity extends AppCompatActivity {

  private Button btn_search;
  private EditText et_search;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btn_search = findViewById(R.id.btn_search);
    et_search = findViewById(R.id.et_search);


    btn_search.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        String 검색어 = et_search.getText().toString();

        searchWeb(검색어);

      }
    });

  }

  public void searchWeb(String 검색어) {
    Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
    intent.putExtra(SearchManager.QUERY, 검색어);
    startActivity(intent);
  }
}

 

 

 

시연 영상 입니다.