【Android】Bundleの使い方
Bundleとは
AndroidにはActivityのライフサイクルがあります。
別のActivityが前面に来るなどにして、メモリが不足した場合にActivityが破棄されることがあります。
このとき、メモリ上にだけ展開されていたインスタンス変数などの値も破棄されてしまいます。
再度呼び出されるときは、もう一度Activityを生成しなおすため、前回の状態は失われています。
そこで、前回と同じ状態に復元できるようにするために、状態を保存、復元するクラスとしてAndroidが準備してくれているのがBundle
です。
簡単に言うとBundle
はOSの判断で強制的に停止、終了する時に一時的にデータを格納するクラスです。
Bundleの使い方
Bundleの作成
Bundle 変数 = new Bundle(); 変数.putString("キー1", "値1"); 変数.putString("キー2", "値2");
値を受け取る場合
String 変数 = args.getString("キー1"); String 変数 = args.getString("キー2");
Bundleの使用例
画面遷移などでも使用できるのですが、今回は同じクラス内の異なるpublic ... { }同士で値を受け渡す処理を書きます。
public clas ... extends ... { @Override public ... { . . . Bundle args = new Bundle();// Bundleの作成 args.putString("key1", "value1");// 渡す値をセット args.putString("key2", "value2");// 渡す値をセット } @Override public ... { . . . String getValue1 = args.getString("key1");//値の受け取り String getValue2 = args.getString("key2");//値の受け取り } }
参考サイト: