最近发现原来我对Bundle不太理解所以查看API小小总结了bundle的使用方法

Bundle继承

java.lang.Objectandroid.os.Bundle

可以实现接口

 implements Parcelable, Cloneable

Bundle主要用于传递数据;它保存的数据,是以key-value(键值对)的形式存在的。

Bundle经常使用在Activity之间或者线程间传递数据,传递的数据可以是boolean、byte、int、long、float、double、string等基本类型或它们对应的数组,也可以是对象或对象数组。

当Bundle传递的是对象或对象数组时,必须实现Serializable 或Parcelable接口。

Bundle提供了各种常用类型的putXxx()/getXxx()方法,用于读写基本类型的数据。(各种方法可以查看API)

在activity间传递信息

Bundle bundle = new Bundle();  //得到bundle对象
bundle.putString("sff", "value值");  //key-"sff",通过key得到value-"value值"(String型)
bundle.putInt("iff", 175);  //key-"iff",value-175
intent.putExtras(bundle); //通过intent将bundle传到另个Activity startActivity(intent);

读取数据

Bundle bundle = this.getIntent().getExtras(); //读取intent的数据给bundle对象   String str1 = bundle.getString("sff"); //通过key得到value
int int1 = bundle.getInt("iff"); 

线程间传递

通过Handler将带有dundle数据的message放入消息队列,其他线程就可以从队列中得到数据

<pre name="code" class="java">Message message=new Message();//new一个Message对象
message.what = MESSAGE_WHAT_2;//给消息做标记
Bundle bundle = new Bundle(); //得到Bundle对象
bundle.putString("text1","消息传递参数的例子!");  //往Bundle中存放数据
bundle.putInt("text2",44);  //往Bundle中put数据
message.setData(bundle);//mes利用Bundle传递数据
mHandler.sendMessage(message);//Handler将消息放入消息队列

读取数据

这里用的是Handler的handleMessage(Message msg)方法处理数据

String str1=msg.getData().getString("text1");
int int1=msg.getData().getString("text2");

android的Bundle相关推荐

  1. 怎么从Android App Bundle (.aab)提取和转换apks文件(从AAB到APKs的转换和提取)

    在Google的I/O 2018上引入了一个新的APP的发布格式,就是 Android App Bundle. 在 2019年之后,Google开始推荐开发者上传APP或者更新APP使用 .aab 格 ...

  2. Android App Bundle:动态功能模块

    目录 Android App Bundle 创建动态功能模块 动态功能模块 与主模块建立关联 部署应用 按需分发On-Demand 免安装分发 自 2021 年 8 月起,Google Play 将开 ...

  3. Android之Bundle类

    API文档说明 1.介绍 用于不同Activity之间的数据传递 1.重要方法 clear():清除此Bundle映射中的所有保存的数据. clone():克隆当前Bundle containsKey ...

  4. Android中Bundle和Intent的区别

    Bundle的作用,以及和Intent的区别: 一.Bundle: A mapping from String values to various Parcelable types 键值对的集合 类继 ...

  5. Android App Bundle 和Unity AAB BundleTools

    1.为什么要用Android App Bundle 从 2021年8月起,新应用需要使用 Android App Bundle 才能在 Google Play 中发布.现在,Play Feature ...

  6. Android App Bundle(aab)与UnsatisfiedLinkError

    一.起因 所做项目因为是在Google Play市场,并且在2019.8.1开始,必须要携带64位so库,又因为所做App涉及到C层库比较多.大概有10MB左右.所以使用了Google最新的Andro ...

  7. 将AAB(Android App Bundle)转换为APK

    Google Play 在2021年8月之后,对于新上架的APP,只接受AAB格式,不再支持上传APK.但是打包后,我们肯定还需要对正式发布的包进行测试,去Google Play上发测试版本非常麻烦. ...

  8. 简单聊一聊 Android App Bundle 的话题

    这一篇主要是有感而发,抽空和大家聊聊关于最近 Google Play 上传应用需要更改为 AAB 的话题,顺便说下更改为 AAB 的一些简易流程. 关于 AAB 的话题 如下图所示,最近在收到了不a少 ...

  9. Android App Bundle 自动打包原理

    Google推出Android App Bundle 已经有一段时间了. 根据Google的政策说明 ,预计2021年8月之后,新发布的应用都必须使用Android App Bundle(aab)来上 ...

  10. Android——Android app bundle插件化部署

    其实google发布app bundle已经是18年的事情了,只是一直在业务上接触不到.最近刚好打算用到爱奇艺的Qigsaw框架来做国内的模块化加载,所以打算一起学习一下. 说到模块化加载.其实本质就 ...

最新文章

  1. 顺时针打印二维数组C语言递归,按顺时针打印矩阵
  2. 文本预处理的基本方法(分词、词性标注、命名实体识别)
  3. 华为鸿蒙os什么运行内存多大,华为公布鸿蒙OS 2.0硬件安装要求:只要128K内存就能跑...
  4. hdfs 操作 入门api
  5. 使用PyQT编写界面程序
  6. zxing qr区域判断_如何在Java中使用Zxing和JFreeSVG创建QR Code SVG?
  7. 7个免费强大的Ajax文件管理器
  8. IOS开发之支付功能概述
  9. Unit Testing with JUnit - Tutorial
  10. Spring源码之bean的销毁registerDisposableBeanIfNecessary方法解读
  11. 打造个人专属邮箱,域名邮箱,邮件系统
  12. 思岚S2激光雷达2—SDK和实例程序的编译
  13. 如何去掉字符串中第一个和最后一个字符 比如是;
  14. RMSE(均方根误差)、MSE(均方误差)、MAE(平均绝对误差)、SD(标准差)
  15. 猫哥教你写爬虫 014--pk小游戏
  16. 记录druid整合springboot+logback配置打印sql日志
  17. 苹果id登录_英雄联盟手游是用苹果ID好还是拳头好 账号选择建议
  18. AC宣布退出DeFi
  19. C/C++内存检测工具valgrind--memcheck
  20. NFC芯片NT3H1101W0FHKH封装库以及手册

热门文章

  1. 一名即将退休的架构师告诉Java程序员们如何投资自己
  2. CARLA——基于Ubuntu18.04安装CARLA Simulator
  3. 庄小威超分辨storm_庄小威为何没能依靠超分辨荧光显微镜的STORM技术获得2014年诺贝尔化学奖?...
  4. goahead(嵌入式Web服务器)之文件传输篇
  5. “直播五虎”二季度财报盘点:各有亮点,求增长是主旋律
  6. 应用程序正常初始化(0xc00000ba)失败修复工具
  7. 思维导图:Hadoop01
  8. nohup 命令的开启和关闭
  9. 数据库设计-博客系统数据库的设计
  10. python tkinter treeview制作,Python tkinter之Treeview(表格)