AndroidアプリにGoogle検索機能を追加する方法をわかりやすく解説
この記事では、AndroidアプリにGoogle検索機能を追加する方法を、実際のコード例とともにステップごとに解説します。EditTextに入力したキーワードを、Intentを使ってGoogle検索に渡すシンプルな実装です。
全体の流れ
実装は以下の4ステップで完了します。
- Android Studioで新規プロジェクトを作成する
- レイアウトファイル(activity_main.xml)を編集する
- MainActivity.javaに検索処理を実装する
- AndroidManifest.xmlに権限を追加する
ステップ1:新規プロジェクトの作成
Android Studioを開き、「File」→「New Project」を選択して新しいプロジェクトを作成します。必要な項目をすべて入力してプロジェクトの雛形を生成してください。
ステップ2:レイアウトファイルの編集
res/layout/activity_main.xml に以下のコードを記述します。検索キーワードを入力するための EditText と、検索を実行する Button を縦方向に配置しています。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
tools:context=".MainActivity">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:layout_centerInParent="true" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btnSearch"
android:text="Search"/>
</LinearLayout>ステップ3:MainActivity.javaの実装
src/MainActivity.java に以下のコードを追加します。ボタンがクリックされたタイミングで、EditTextの内容を取得し、ACTION_WEB_SEARCH インテントにセットして検索を起動します。
import androidx.appcompat.app.AppCompatActivity;
import android.app.SearchManager;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
EditText editText;
Button btnSearch;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
btnSearch = findViewById(R.id.btnSearch);
btnSearch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
String term = editText.getText().toString();
intent.putExtra(SearchManager.QUERY, term);
startActivity(intent);
}
});
}
}ステップ4:AndroidManifest.xmlの編集
androidManifest.xml に以下のコードを記述します。Web検索にはインターネット通信が必要なため、INTERNET パーミッションの宣言を忘れないようにしましょう。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="app.com.sample">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>動作の仕組み
この実装のポイントは Intent.ACTION_WEB_SEARCH です。このインテントを発行すると、システムが登録されているWeb検索アプリ(Googleアプリやブラウザなど)を自動的に起動し、SearchManager.QUERY に格納したキーワードで検索を実行してくれます。自前で検索APIを実装しなくても、少ないコード量で検索機能を実現できるのがメリットです。
アプリを実行して確認しよう
それでは、実際にアプリを動かしてみましょう。ここでは実機のAndroidスマートフォンをパソコンに接続しているものとして説明します。Android Studioからアプリを実行するには、プロジェクト内のアクティビティファイルを開き、ツールバーにある「Run」アイコンをクリックします。表示される候補から接続中のモバイルデバイスを選択すると、端末側にアプリの初期画面が表示されます。
テキストボックスに任意のキーワードを入力して「Search」ボタンをタップすれば、Google検索結果が表示されるはずです。ぜひお試しください。
-
Google検索の人物カード(People Card)とは?作成・追加方法を徹底解説
現代において、広告やプロモーションは非常に重要です。ビジネスでもポートフォリオでも、強力なオンラインプレゼンスを持つことは、キャリアアップに大きく貢献します。Googleのおかげで、誰かがGoogleであなたの名前を検索したときに、あなたを見つけてもらいやすくなりました。そう、その通りです。自分の名前やビジネス名が検索結果に表示されるようになるのです。名前とともに、簡単な経歴、職業、SNSアカウントへのリンクなどの関連情報も、見やすいカード形式にまとめて表示できます。これが「People Card(人物カード)」と呼ばれるGoogleの新機能です。この記事では、この機能について詳しく解説し、G
-
AndroidでGoogleアプリが動作しないときの対処法10選
GoogleアプリはAndroidに不可欠な存在であり、最新のAndroidデバイスにはすべてプリインストールされています。Android 8.0以降を使用している方なら、この便利で強力なGoogleアプリにきっと馴染みがあるはずです。その多角的なサービスには、検索エンジン、AI搭載のパーソナルアシスタント、ニュースフィード、更新情報、ポッドキャストなどが含まれます。Googleアプリはユーザーの許可を得た上でデバイスからデータを収集します。検索履歴、音声・音声録音データ、アプリデータ、連絡先情報などがその例です。これにより、Googleはカスタマイズされたサービスを提供できるのです。たとえば