• Intent传递数据之Bundle


    之前见到时直接使用,不知其理,在网上查了相关资料,算是有所了解,整理如下:

    bundle的用法:

           Bundle相当于Map类,就是一个映射,用Bundle绑定数据,便于数据处理

            它主要作用于Activity之间的数据传递. 

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

    一、新建一个bundle类

    Bundle mBundle = new Bundle();   

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

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

    三、新建一个intent对象,并将该bundle加入这个intent对象

    Intent intent = new Intent();    

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

    intent.putExtras(mBundle);  

    四、取出数据

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

    String data = bundle.getString("Data");

    重要方法

    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的内容

    与SharedPreferences的区别

    SharedPreferences是简单的存储持久化的设置,就像用户每次打开应用程序时的主页,它只是一些简单的键值对来操作。它将数据保存在一个xml文件中

    Bundle是将数据传递到另一个上下文中或保存或回复你自己状态的数据存储方式。它的数据不是持久化状态。

  • 相关阅读:
    HTML 5 --- 移动端viewport:
    Mac Apache 启动Web工程(webserver):
    java对xml文件做增删改查------摘录
    google code 上传源码
    一段下载文件的源码
    delphi 截取指定符号之间的字符串-随机读取
    从github 读取 绝对地址 ini文件
    使用Delphi读取网络上的文本文件,html文件
    ubuntu下新立得(synaptic)软件包管理器安装
    ubuntu下卸载旧Mysql并安装新Mysql(升级)
  • 原文地址:https://www.cnblogs.com/feary/p/5382682.html
Copyright © 2020-2023  润新知