android 之 Bundle

来源:互联网 发布:淘宝网店软文特点 编辑:程序博客网 时间:2024/05/16 07:04

在手机App的开发中我们可以通过Intent来进行Activity之间的通信和调用,打个比喻,Intent就是连接Activity(或其他组件,如service等等)的公路,那么Bundle就是跑在这条道路上的运输车,需要传输的数据就封装在Bundle之中。

从实现上来看Bundle类是一个key-value对。

两个activity之间的通讯可以通过bundle类来实现,做法就是:

(1)新建一个bundle类

     Bundle mBundle = new Bundle();

(2)bundle类中加入数据(key -value的形式,另一个activity里面取数据的时候,就要用到key,找出对应的value)

     mBundle.putString("Data", "data from TestBundle");

(3)新建一个intent对象,并将该bundle加入这个intent对象,然后发送到另一个Activity

  • Intent intent = new Intent();

  • intent.setClass(TestBundle.this, Target.class);

  • intent.putExtras(mBundle);

  • startActivity(intent)

(4)接收方取得数据

  • Bundle bundle = getIntent().getExtras();//得到传过来的bundle

  • String data = bundle.getString("Data");//读出数据

bundle的重要方法

  • clear():清除此Bundle映射中的所有保存的数据。

  • clone():克隆当前Bundle

  • containsKey(String key):返回指定key的值

  • getString(String key):返回指定key的字符

  • hasFileDescriptors():指示是否包含任何捆绑打包文件描述符

  • isEmpty():如果这个捆绑映射为空,则返回true

  • putString(String key, String value):插入一个给定key的字符串值

  • readFromParcel(Parcel parcel):读取这个parcel的内容

  • remove(String key):移除指定key的值

  • writeToParcel(Parcel parcel, int flags):写入这个parcel的内容

0 0
原创粉丝点击