Fragmentを利用して開発したアプリを起動する

では、実際にアプリがどのように動くのかを見てみましょう。「引く!」ボタンを押して、おみくじを引いてみましょう。

おみくじを引いた直後の画面。トーストが表示され、FragementがActivityと連携できていることがわかる。

おみくじを引いた直後の画面。トーストが表示され、FragementがActivityと連携できていることがわかる。

おみくじの結果は非常によくないものとなってしまいましたが(笑)、おみくじの機能が実装されています。getActivityメソッドでのActivityとの連携により、おみくじ結果に合わせてトーストが表示されます。

Activityがどれだけスッキリしたか

最後に、Fragmentを利用したことで、Activityへの記述量がどれだけ減少したか確認してみましょう。このアプリのメインのActivityのソースは以下のようになっています。
package com.wktk.fragmentomikuji;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}
非常に簡潔に記述することができました。メインのActivityはレイアウトファイルを読み込む以外にFragment関連の記述がほぼありません。UIに関する操作をほとんど行わなくてすむので、バグの発生も最小限に抑えることができます。

今後、複雑なUIのアプリを開発する際には、ぜひFragmentを活用してみてください。



※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。