Intentによる画面遷移の方法(Activityの切り替え)【Androidアプリ開発】

Intentによる画面遷移の方法を説明しています。

実装例

レイアウト

activity_main.xml

メインアクティビティのレイアウトです。

メインアクテビティであることが分かるようにテキストの表示と、サブアクティビティへ遷移するためのボタンを配置しています。

メインレイアウト

activity_sub.xml

サブアクティビティのレイアウトです。

メインアクテビティと異なるテキストの表示と、メインアクテビティから引き渡される値を表示するためのテキストを配置しています。

サブレイアウト

実装方法

MainActivity.kt

”intentに遷移先のActivityをセット→渡す値があればExtraへセット→intentによる画面遷移を実行”の流れです。

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val button: Button = findViewById(R.id.button)
    button.setOnClickListener {
        //サブアクティビティへ遷移するためのintentを設定
        val intent: Intent = Intent(this, SubActivity::class.java)
        //サブアクティビティへ渡す値を設定
        intent.putExtra("extra", "MainActivityから遷移")
        //サブアクティビティへ遷移する
        startActivity(intent)
    }
}

SubActivity.kt

intentによる画面遷移が行われると、メインアクテビティ同様にonCreateの処理が実行されます

メインアクテビティから値を渡している場合は、intentからget〇〇Extraで取り出します

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_sub)

    //intentを取得
    val intent: Intent = intent;
    //渡された値を取得
    val extra: String? = intent.getStringExtra("extra")

    extra.let {
        //Extraの値を画面に表示する
        val textViewExtra: TextView = findViewById(R.id.textViewExtra)
        textViewExtra.text = it.toString()
    }

}

実行結果

アプリ起動時
アプリ起動時
サブアクティビティへ遷移時

”SubActivityへ”ボタンを押すと以下のようにアクテビティが切り替わります。また、渡された値のテキスト表示も行えていることが分かります。

サブアクテビティへ遷移

まとめ

Intentによる画面遷移の方法を説明しました。

Intentを利用すると、別のアクテビティを開始して画面を切り替えることが出来ます。また、アクテビティ間で値を引き渡すことも可能です。

画面の一部を切り替えるといった簡単な表示切替を行う場合は、Fragmentを利用しましょう。

参考

一般的なインテント|Android Developers

学習方法

Javaの基礎を学ぶ

Androidアプリ開発では、JavaやKotlinが用いられます。
いきなりAndroidアプリ開発を学習するのは難しいので、Javaの基礎から学習しておくと理解しやすくなります。

既に、Javaの学習経験・開発経験がある方は必要ありませんが、Java言語を使ったことがないという方は、Javaの基礎から学習することをオススメします。

また、Kotlinに関しては、Javaを簡略したような書き方となっています。Javaの基礎知識がないと学習が難しいですが、Javaの基礎知識があれば、ご自身で調べながら学習することも十分に可能です。

 

独学が難しいと思ったら…

プログラミングスクールを活用してみても良いでしょう。
通常のプログラミングスクールは、数十万円の費用が掛かる場合があり、中々手が出しづらいですが、サブスク型のプログラミングスクールも存在しています。
サブスク型と言っても、通常のプログラミングスクールと同じように、現役エンジニアによるサポートも付いています。
最も安い基本的なコースで、月額1万円ほどとなっており、他のプログラミングスクールよりも初期費用が安いため、気軽に始められます。

Androidアプリ開発を学ぶ

Javaの基礎知識があったとしても、Androidアプリ独特の仕組みがあるため、とっつきづらいです。

Javaでの開発経験があれば、問題を解決しながら学習することも可能です。しかし、(当サイト含め)ネットでの情報は断片的に解説されていることも多く、流れで理解するのは難しいかしれません。

ご自身で調べながら学習することが難しいと感じたら、市販の参考書を活用すると良いでしょう。参考書では、Androidアプリ開発というテーマに沿って、1冊内で解説していく流れとなっていますので、入門書として活用すると理解がしやすくなります。

Kotlin版

Java版

 

Androidアプリ開発
この記事を書いた人

エンジニアとして仕事をしています。
仕事や趣味を通して、開発やプログラミングについて学んだことを綴っていきます。
 ・実務経験は、WEBシステムのサーバーサイドコーディングがメイン
 ・アプリ開発は趣味程度

akihiro-takedaをフォローする
akihiro-takedaをフォローする
プログラミング・開発の備忘録
タイトルとURLをコピーしました