Androidアプリでインテントを使って画面を遷移させる方法【初心者向け】

Androidアプリ開発において、【インテント(Intent)を使って画面を遷移させる方法】を初心者向けに解説した記事です。インテントの機能を使うと、アプリケーション内の機能や他のアプリケーションへの橋渡しの役割をしてくれます。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Androidアプリの開発では、「インテント(Intent)」という機能を使って画面を遷移させることが可能です。

インテントは、Androidの特徴的な機能の一つで、アプリケーション内の機能や他のアプリケーションへの橋渡しの役割をしてくれます。

 

本記事はTechAcademyのAndroidアプリ開発オンラインブートキャンプの内容をもとに解説しています。

 

大石ゆかり

田島メンター!!アプリの画面遷移ってどうやって実装するんですか?

田島悠介

複数のアクティビティを作っておいてインテントっていう機能を使うと遷移できるんだ。

大石ゆかり

インテント、ですか・・・?どうやるんですか〜?

 

2つの画面を用意する

画面遷移をさせるための準備をまずは行います。

今回は同じアプリ内に2つのアクティビティを用意しました。

 

1つ目の画面であるMainActivityには、テキストボックスとサブ画面に遷移するためのボタンを用意しています。

 

2つ目の画面であるSubActivityには、1つ目の画面のテキストボックスで入力された文字列を表示するためのテキストビューを用意してあります。

 

新しくアクティビティを追加した場合は、下記のようにマニフェストファイルにアクティビティの宣言を追加してください。

<activity android:name=”.SubActivity”></activity>

003

 

メイン画面を用意する

続いてメインの画面を用意します。

xmlファイルで、サブアクティビティを呼び出すボタンにandroid:onclicl属性を追加し、イベントが発生したときにonClickメゾットを呼び出すようにしてあります。

また、onClickイベントを作成します。

 

下記のように記述しましょう。

public void onClick(View v) {
//インテントの作成
Intent intent = new Intent(this, SubActivity.class);
//データをセット
EditText editText = (EditText)this.findViewById(R.id.editText);
intent.putExtra("sendText",editText.getText().toString());
//遷移先の画面を起動
startActivity(intent);
}

 

19行目でインテントの作成を行い、遷移先のクラス名を指定しています。

また、22行目のputExtraで遷移先に渡すデータを名前と値のセットで登録し、26行目で遷移先の画面を起動します。

 

[PR] Androidアプリの開発で挫折しない学習方法を動画で公開中

サブ画面を用意する

次にサブ画面を用意します。

ここでは、下記のように記述しました。

Intent intent = this.getIntent();
String text = intent.getStringExtra("sendText");
TextView textView = (TextView)this.findViewById(R.id.textViewSub);
textView.setText(text);

 

遷移された画面では、getIntentメゾットでインテントを使って渡されたデータを受け取ることができます。16行目のgetStringExtraでデータを取得します。

今回は文字列なので、getStringExtraメゾットを使っていますが、受け取るデータによって、getBooleanExtra,getIntExtraというように置き換える必要があります。

 

 

動作確認をする

最後に、エミュレーターを使って画面が遷移できるかどうか動作確認をしてみましょう。

 

まず、アプリを起動するとメイン画面が表示されます。テキストボックスに好きな文字を入力して、ボタンをクリックします。

 

ここでサブ画面が起動し、メイン画面で入力した文字が表示されれば成功です。 

 

アプリによっては画面遷移を多く使うこともあると思いますので、覚えておきましょう。

エミュレータだけでなく、Androidを実機でテストすることも試してみましょう。

 

大石ゆかり

画面遷移できました!!!

田島悠介

アプリはよほど簡単なアプリでない限り1画面で終わることはないから、インテントは覚えておいたほうが良いね♪

大石ゆかり

はい♪

 

[お知らせ]TechAcademyでは初心者でも最短4週間でオリジナルアプリが作れるAndroidアプリ開発講座(オンラインブートキャンプ)を開催しています。自分でアプリを公開してみたい場合はご参加ください。