Androidアプリ開発でよく使う「画面遷移」の仕組み、実はとてもシンプルです。
この記事では、画面遷移の基本的な特徴から、Intentを使った画面遷移の実装方法までをわかりやすく解説しています。
初心者でもすぐに実践できる内容なので、これからAndroid開発に挑戦する方は必見です!画面遷移の仕組みを理解し、実際にコーディングしてみましょう!
画面遷移について
Androidの画面遷移の特徴
Androidでは、画面が切り替わる際に新しい画面が表示されますが、実際には元の画面(Activity)はそのまま残っていて、新しい画面がその上に表示される仕組みとなっており、元の画面の上に画面が載る形で表示されます。
元の画面は一時的に見えなくなりますが、完全に消えるわけではなく、バックグラウンドで待機しています。
新しいActivityはスタック(バックスタック)に積み上げられ、ユーザーが「戻る」ボタンなど画面を終了する操作を行うと、バックグラウンドにあった元の画面が再び表示されます。
このように、画面は順番に積み上がっていく形で管理されており、元に戻る操作も簡単にできるようになっています。
画面が切り替わるとき、Androidは自動的に画面の状態を管理しており、見えなくなった画面の動作を一時停止してシステムの負担を減らします。
Androidの画面遷移する方法
- Intentを使ったActivity間の遷移
- Fragmentを使った画面の入れ替え
今回は「Intentを使ったActivity間の遷移」について解説します!
画面遷移の方法
Androidでは、Intentを使って画面を切り替えます。
Intentとは?
Intentは、Androidアプリ内で画面遷移や外部アプリの起動、データのやり取りなどを指示するための仕組みです。例えば、ある画面から別の画面に移動するときや、ブラウザを開いたりする際に使われます。
Intentには2種類あります。
- 明示的Intent:特定の画面(Activity)や機能を直接指定して起動する方法です。画面遷移などに使われます。
- 暗黙的Intentアクションを指定して、システムがそのアクションを処理できるアプリや機能を選びます。電話をかける画面を開く時やWebページを開く時に使われます。
\\より詳しい内容は、公式のDevelopersリファレンスをご確認ください//
画面遷移の実装方法
Androidアプリで画面を遷移する手順を解説します。基本の流れは次の3ステップです。
1. 遷移元と遷移先のActivityを用意する
2. Intentオブジェクトを作成する
3. startActivity()メソッドで遷移先のアクティビティを起動する
1.遷移元と遷移先のActivityを用意する
まずは、画面遷移の遷移元(例:MainActivity)と遷移先(例:SubActivity)を用意します。それぞれのActivityを個別のファイルとして作成し、元から遷移先の画面が表示できる準備を整えます。
例:MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
例:SubActivity.java
public class SubActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub);
}
}
2.Intentオブジェクトを作成する
次に、画面遷移を行うためにIntent
オブジェクトを生成します。
例:MainActivity.java
Intent intent = new Intent(MainActivity.this, SubActivity.class);
引数 | クラス | 概要 |
第一引数 | Context | 現在の画面の情報を渡すコンテキスト (ここではMainActivity.this) |
第二引数 | Class | 起動するアクティビティクラス (ここではSubActivity.class) |
3.startActivity()メソッドで遷移先のアクティビティを起動する
作成したIntent
をstartActivity()
メソッドで実行し、遷移先のActivityを起動します。
例:MainActivity.java
startActivity(intent);
引数 | クラス | 概要 |
第一引数 | Intent | どのActivityを起動するか、またはどのアクションを実行するかを指定する |
遷移後、元のActivity(MainActivity
)はバックグラウンドで待機し、ユーザーが戻る操作を行うと再度表示されます。
処理をまとめると…
ここまでの流れを簡単にまとめると、以下のコードで画面遷移が完了します。
例:MainActivity.java
// onCreate()の続き...
setContentView(R.layout.activity_main);
Intent intent = new Intent(MainActivity.this, SubActivity.class);
startActivity(intent);
}
簡単に画面を表示することができましたね♪
画面終了時
遷移先(今回の場合はSubActivity.java)のメソッド内にてfinish
()メソッドを使用すると、現在のActivityを終了させることができます。
例:SubActivity.java
finish();
Activityが終了すると、その画面は消えバックスタックに積まれていた前の画面(遷移元のActivity)が再び表示されます。
まとめ
今回は、画面遷移に使うIntentについて解説しました!
「意外と簡単だな」と感じた方も多いのではないでしょうか?
では、遷移先の画面に遷移元の値を持っていきたい場合はどうしたらよいでしょうか?
次の記事でその方法を詳しく紹介していますので、ぜひチェックしてみてください!
\\次の記事もチェック//