Fragmentを利用して開発したアプリを起動する
では、実際にアプリがどのように動くのかを見てみましょう。「引く!」ボタンを押して、おみくじを引いてみましょう。おみくじの結果は非常によくないものとなってしまいましたが(笑)、おみくじの機能が実装されています。getActivityメソッドでのActivityとの連携により、おみくじ結果に合わせてトーストが表示されます。
Activityがどれだけスッキリしたか
最後に、Fragmentを利用したことで、Activityへの記述量がどれだけ減少したか確認してみましょう。このアプリのメインのActivityのソースは以下のようになっています。非常に簡潔に記述することができました。メインのActivityはレイアウトファイルを読み込む以外にFragment関連の記述がほぼありません。UIに関する操作をほとんど行わなくてすむので、バグの発生も最小限に抑えることができます。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;
}
}
今後、複雑なUIのアプリを開発する際には、ぜひFragmentを活用してみてください。