まずは、間隔が開きまして申し訳ございません。
Androidの開発において、Activityの動きを理解する事は重要です。
ActivityがUIの入出力、データ操作等を行いますが、
Activity間でデータを受け渡しする時はどうすれば良いのでしょうか?
そんな疑問の第1回目は親Activity→子Activityのデータのやりとりを解説します。
まず、親Activityと子Activityとは何なのか。
勝手に名付けましたが、呼び出し元と呼び出し先です。
'ParentActivity'と'ChildActivity'とします。
通常の呼び出し、終了プロセスは
ParentActivity.java
Intent intent = new Intent(ParentActivity.this, ChildActivity.class); startActivity(intent);
ChildActivity.java
finish();
でアクティビティ間を移動できます。
では、本題の親Activityから子Activityへのデータ渡しです。
'Hello World'という文字列を渡してみたいと思います。
ParentActivity.java
Intent intent = new Intent(ParentActivity.this, ChildActivity.class); intent.setAction(Intent.ACTION_VIEW); Bundle bundle = new Bundle(); bundle.putString("key", "Hello World"); intent.putExtras(bundle); startActivity(intent);
随分長くなってしまいました。
bundle.putString()でデータを格納します。
putFloat(), putInt()等ありますので、データにあわせてお使いください。
では、受け取り側の実装です。
ChildActivity.java
Bundle bundle = getIntent().getExtras(); String hello_world = bundle.getString("key");
でhello_worldというString型の変数に"Hello World"という文字列が入りました。
両方で"key"を使っていますが、これが、受け渡し前と後の鍵になりまして、
この鍵に紐づけてデータを渡す、紐づいたデータを受け取るというやり方をします。
次回は子Activityから親Activityへの解説をいたします。
同じようなコードを使用しているOneClickHomeもお願いします。
0 件のコメント:
コメントを投稿