使用Bunble在Activity之间交换数据
来源:互联网 发布:网络筹款平台哪个好 编辑:程序博客网 时间:2024/04/30 10:44
转自:http://blog.csdn.net/wangyang2698341/article/details/8221247
bundle:
一种存放字符串和Parcelable类型数据的map类型的容器类,通过存放数据键(key)获取对应的各种类型的值(value),而且必须通过键(key)获取。
根据google官方的文档(http://developer.android.com/reference/android/os/Bundle.html)
Bundle类是一个key-value对,“A mapping from String values to various Parcelable types.”
类继承关系:
java.lang.Object
android.os.Bundle
Bundle类是一个final类:
public final class
Bundle
extends Objectimplements Parcelable Cloneable
bundle的用法:
Bundle相当于Map类,就是一个映射,用Bundle绑定数据,便于数据处理
它主要作用于Activity之间的数据传递.
//TestBundle.javaBundle bundle = new Bundle();//创建一个句柄bundle.putString("name", nameinfo);//将nameinfo填充入句柄Intent mIntent = new Intent(TestBundle.this,TestBundle_getvalue.class);mIntent.putExtras(bundle);startActivity(mIntent); //TestBundle_getvalue.javaBundle bundle = getIntent().getExtras();//获取一个句柄String nameString=bundle.get("name");//通过key为“name”来获取value即 nameString./**进行相关操作*/
bundle的实例:
第一个Activity发出参数!
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.MotionEvent; public class TestBundle extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public boolean onTouchEvent(MotionEvent event) { Intent intent = new Intent(); intent.setClass(TestBundle.this, Target.class); Bundle mBundle = new Bundle(); mBundle.putString("Data", "hello, bear");//压入数据 intent.putExtras(mBundle); startActivity(intent); finish(); return super.onTouchEvent(event); } }
第二个Activity,接收参数
import android.app.Activity; import android.os.Bundle; public class Target extends Activity{ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Bundle bundle = getIntent().getExtras(); String data=bundle.getString("Data");//读出数据 setTitle(data); } }
另外onCreate(Bundle savedInstanceState) 中的savedInstanceState用于当前activity被切换之前保存临时数据,以便在下次返回时显示之前的数据的。因此在想使用Bundle savedInstanceState保存临时数据,就应该在onCreate(Bundle savedInstanceState)方法中提前写好savedInstanceState!=null时的逻辑。参照理解:http://blog.sina.com.cn/s/blog_652dd96d0100ug6h.html
- 使用Bunble在Activity之间交换数据
- 使用Bundle在Activity之间交换数据
- 使用Bundle在Activity之间交换数据
- 使用Bundle在Activity之间交换数据
- 使用Bundle在Activity之间交换数据
- 使用Bundle在Activity之间交换数据
- 使用Bundle在Activity之间交换数据
- 使用Bundle在Activity之间交换数据及数据返回
- Android使用Bundle在Activity之间交换数据
- Android 使用bundle在activity之间交换数据
- Bundle在Activity之间交换数据
- Bundle在Activity之间交换数据
- 使用Bundle在Activity之间交换数据、调用另一个Activity并返回结果
- Android 使用bundle在activity之间交换数据 DEMO (填写注册信息实例)
- Android学习进阶02——使用Bundle在Activity之间交换数据
- Android Intent Bundle在Activity之间交换数据
- 使用Bundle在Activity之间传递数据
- 使用Bundle在Activity之间传递数据
- ContentProvider
- 系统DLL遗失处理方法
- ZOJ2859 Matrix Searching 二维RMQ问题
- 如何卸载lnmp
- <!DOCTYPE html>很重要
- 使用Bunble在Activity之间交换数据
- chmod命令使用详解
- Linux Kernel Crash Debug
- Android与服务器通信的方法之一(TCP)效率高安全性完善
- 【开源库大全】二、AndroidViewAnimations
- Android执行shell命令
- 初识zend
- Android 判断当前网络连接状态
- ffmpeg在windows下的编译