IT 관련,,/안드로이드(java, kotlin등등) 관련 내용

[android/개발자]웹 검색을 실행하기 위한 묵시적 인텐트를 정의하기~

IT깡패's 2019. 8. 26. 09:38
728x90
반응형
SMALL

 안녕하세요~

오늘은 웹 검색을 하기위한 준비를 해보도록 하겠습니다.

일단 간단한 웹 검색을 하기 위해서는 intent생성자가 필요한데요~

이것은 자바에서도 알다싶이 원래 생성되게 되어있습니다.

묵시적 인텐트는 원래 화면전환용으로 사용하는데요~ 그런식으로 웹 검색으로 할 수 있습니다.

SearchManager.QUERY는 검색할 수 있게끔 해주는 함수입니다~

일단 intent를 객체 생성해줘야 intent생성 함수를 여기서 사용할 수 있게 됩니다!

그리고 메인에 적혀있는 startActivity(intent)intent가 실행되라고 하는 명령어입니다.

 

자 이제 결과화면을 보시고 소스들을 분석해보실까요~ ㅎㅎ;;

012
묵시적 인텐트 검색 실행화면

 

- AndroidManifest.xml

//intent생성자를 사용해보자!!
<uses-permission android:name="android.permission.INTERNET" />

 

- activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"0
    android:orientation="vertical"> 

    <TextView
        android:id="@+id/textViewSearchWords"
        android:layout_margin="5dp"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="단어를 검색해보자!"
        android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <EditText
        android:id="@+id/editTextSearchWords"
        android:layout_margin="5dp"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
        <requestFocus />
    </EditText> 

    <Button
        android:id="@+id/buttonSearch"
        android:layout_margin="5dp"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Search" /> 

</LinearLayout>
 

 

- MainActivity.java

package kr.android.websearch;

import android.support.v7.app.AppCompatActivity;
import android.app.Activity;
import android.app.SearchManager;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

    EditText editTextSearchWords;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //---------------------------------------------------

        editTextSearchWords = (EditText)findViewById(R.id.editTextSearchWords);
        Button buttonSearch = (Button)findViewById(R.id.buttonSearch);
        buttonSearch.setOnClickListener(buttonSearchClickListener);
    }

    OnClickListener buttonSearchClickListener = new OnClickListener() {

        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_WEB_SEARCH);
            intent.putExtra(SearchManager.QUERY, editTextSearchWords.getText().toString());
            startActivity(intent);
        }

    };
}

 

728x90
반응형
LIST