Androidアプリの開発をしよう07 アクティビティの遷移

アクティビティの遷移

目次

  1. 複数のアクティビティ
  2. 新しいアクティビティを作成する
  3. TODOリストアプリ
  4. プログラムの解説
  5. さいごに

複数のアクティビティ

今まで作成してきたアプリは、単純に1つの画面上だけで動かしていました。
Androidで複数の画面を使ってアプリを作成することもできます。
その場合もやはりインテントを利用します。
ある画面から別の画面に遷移する場合インテントによってアクティビティを起動させます。

新しいアクティビティを作成する

そこで今回はリストビューが表示された画面をタッチして別の画面(TODOリスト)が表示されるアプリを作ってみましょう。
まず初めに2画面分のアクティビティのコードを記述するためにプロジェクトに新しいJavaソースファイル(InputActivity.java)を追加します。
クラスの追加方法は今までの方法でわかると思います。
また、アクティビティを複数使用する場合にはAndroidManifestの追加登録が必要です。
以下のようにを追加してください。

TODOリストアプリ

AndroidManifestの追加ができましたら、以下のプログラムを実行してください。

実行結果は以下のようになります。

プログラムの解説

これまではアクションを指定してインテントの作成をしていましたが、今回はクラス名を指定してインテントの作成をしています。

これは、今までのようにアクションに対応するアプリが自動的に起動するのではなく、起動される画面クラスを明示的に特定させています。
これを明示的インテント(Explicit Intents)といいます。
これに対し、今まで見てきたようなアクションを指定して発行するインテントのことを暗黙的インテント(Implicit Intents)といいます。
どちらの方法も覚えておいてください。
さて、インテントにデータを設定した後処理結果を返してもらうためにはstartActivityForResult()メソッドで画面の軌道をします。

結果を返す側では、データを取得してから入力画面に設定します。
終了するときにはsetResult()メソッドでRESULT_OKを返します。
結果を返してもらった側では、onActivityResult()メソッドで処理を行うことになります。
このようにしてアクティビティの連携を行うことができます。

さいごに

今回はコード量も多く、似たような変数も多いため大変だったと思います。
もし、プログラムが動かない場合はよくプログラムを1字1字確認してみてください。

このサイトをフォローする!