Androidアプリでインテントを使って画面を遷移させる方法【初心者向け】
Androidアプリ開発において、【インテント(Intent)を使って画面を遷移させる方法】を初心者向けに解説した記事です。インテントの機能を使うと、アプリケーション内の機能や他のアプリケーションへの橋渡しの役割をしてくれます。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Androidアプリの開発では、「インテント(Intent)」という機能を使って画面を遷移させることが可能です。
インテントは、Androidの特徴的な機能の一つで、アプリケーション内の機能や他のアプリケーションへの橋渡しの役割をしてくれます。
本記事はTechAcademyのAndroidアプリ開発オンラインブートキャンプの内容をもとに解説しています。
田島メンター!!アプリの画面遷移ってどうやって実装するんですか?
複数のアクティビティを作っておいてインテントっていう機能を使うと遷移できるんだ。
インテント、ですか・・・?どうやるんですか〜?
2つの画面を用意する
画面遷移をさせるための準備をまずは行います。
今回は同じアプリ内に2つのアクティビティを用意しました。
1つ目の画面であるMainActivityには、テキストボックスとサブ画面に遷移するためのボタンを用意しています。
2つ目の画面であるSubActivityには、1つ目の画面のテキストボックスで入力された文字列を表示するためのテキストビューを用意してあります。
新しくアクティビティを追加した場合は、下記のようにマニフェストファイルにアクティビティの宣言を追加してください。
<activity android:name=”.SubActivity”></activity>
メイン画面を用意する
続いてメインの画面を用意します。
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行目で遷移先の画面を起動します。
サブ画面を用意する
次にサブ画面を用意します。
ここでは、下記のように記述しました。
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では初心者でもオリジナルアプリが作れるAndroidアプリ開発講座(オンラインブートキャンプ)を開催しています。自分でアプリを公開してみたい場合はご参加ください。