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

两个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对象

Intent intent = new Intent();

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

intent.putExtras(mBundle);

完整代码如下:

android mainfest.xml如下:

package="com.tencent.test"

android:versionCode="1"

android:versionName="1.0">

android:label="@string/app_name">

两个类如下:intent从TestBundle类发起,到Target类。

类1:TestBundle类:

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class TestBundle extends Activity {

private Button button1;

private OnClickListener cl;

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

button1 = (Button) findViewById(R.id.button1);

cl = new OnClickListener(){

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

Intent intent = new Intent();

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

Bundle mBundle = new Bundle();

mBundle.putString("Data", "data from TestBundle");//压入数据

intent.putExtras(mBundle);

startActivity(intent);

}

};

button1.setOnClickListener(cl);

}

}

类2: Target

import android.app.Activity;

import android.os.Bundle;

public class Target extends Activity{

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.target);

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

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

setTitle(data);

}

}

布局文件:

main.xml

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello"

/>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/button"

android:id = "@+id/button1"

/>

target.xml

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/target"

/>

String.xml

Hello World, TestBundle!

测试Bundle用法

点击跳转

来到target activity

结果:

跳转结果:

bundle java_Bundle类相关推荐

  1. Android Activity类讲解(一)

    --by CY[kotomifi@gmail.com] 1.protected void onCreate(Bundle savedInstanceState) { throw new Runtime ...

  2. 【“零起点”--百度地图手机SDK】如何添加地图图层+按钮事件+水平垂直布局?...

    摘要:我们在这一章将学习到如何通过按钮事件来控制地图图层(交通流量图,卫星图)的显示,以及如何对android应用进行水平和垂直布局. -------------------------------- ...

  3. Android之一窥究竟Activity间的数据传递以及Intent的用处

    1.Activity与Intent * 1.1何为Intent * 1.2Intent的用武之地 * 1.3Activity间的数据传递 转载请标明出处: http://blog.csdn.net/h ...

  4. idea spring 中没有标识_Spring 优雅的国际化实现

    国际化 简单来说,国际化就是让应用(app.web)适应不同的语言和地区的需要,比如根据地区选择页面展示语言. i18n=internationalization,首末字符i和n,18为中间的字符数 ...

  5. Symfony2Book06:路由

    对于任何严谨的web应用程序而言漂亮的URL是绝对必须的.这意味着要离开诸如index.php?article_id=57这样丑陋的URL,而出现类似/read/intro-to-symfony的UR ...

  6. 走近Java模块化系统OSGi

    OSGI是什么? 刚入软件开发行业的初哥可能会觉得到处都是值得顶礼膜拜的大神,到处都是复杂到自已无法把握的代码,惊叹这些大神怎样能写出如此神奇的程序出来?! 其实真正好的软件的代码,应该是结构清晰,简 ...

  7. 探索 OSGi 框架的组件运行机制

    在目前的 Java 开发平台中,对于组件开发过程,比如打包.部署和验证等,并没有一个统一的标准.正因如此,许多 Java 项目,例如 JBoss 和 Net Beans,都拥有一套自定义的组件开发规范 ...

  8. chisel快速入门(二)

    上一篇见此: chisel快速入门(一)_沧海一升的博客-CSDN博客简单介绍了chisel,使硬件开发者能快速上手chisel.https://blog.csdn.net/qq_21842097/a ...

  9. osgi java_使普通的旧Java OSGi兼容

    osgi java 尽管OSGi在Java世界中越来越流行,但仍有许多Java应用程序和库尚未设计成可在OSGi中使用. 有时您可能需要在OSGi环境中运行这样的代码,或者是因为您想利用OSGi本身提 ...

最新文章

  1. 网络安全不是奢侈品,而是必需品
  2. java创建型_Java创建型模式
  3. submit text 插件安装教程
  4. win10和ubuntu18双系统时间同步(20190604亲测可行)
  5. 华三 h3c 基于IP子网的vlan
  6. 一文深入了解:分布式系统中的缓存架构
  7. mysql 索引选择原则 07
  8. 图像处理之相似图片识别(直方图应用篇)
  9. 全新电影社交观影,满足影迷移动巨幕与移动3D体验
  10. 2.2 PB-ADV入网过程
  11. jq 清空、删除、添加、替换数组的简单用法
  12. 拼多多店铺类型区别介绍
  13. QT-磨砂玻璃效果实现
  14. MTK 按键驱动流程总结
  15. java 小数乘法_集合复习教案
  16. php批量替换文件内容,写了个遍历目录、批量替换文件内容的类
  17. 第 24 章 脚本编制参考(三) 类Finance
  18. mysql 创建外键约束以及注意事项
  19. ubuntu snort-mysql_安装和配置入侵检测与Snort,ACIDBASE,MySQL和Apache2在Ubuntu 9.04使用SPM...
  20. Java实现验证码识别

热门文章

  1. Html input file控件使用accept过滤 限制的文件类型
  2. Bailian4100 进程检测【排序】
  3. CCF201909-1 小明种苹果(100分)【序列处理】
  4. Bailian3671 字符串排序【排序】
  5. CCF201809-2 买菜(100分)【序列处理+差分】
  6. CCF NOI1057 石头剪刀布
  7. 字面量(literal)与 C 语言复合字面量(compound literals)
  8. tap code —— 两个一位数字编码一个字母
  9. 茶 —— 一片树叶的故事(茶叶的品类)
  10. 极简代码(三)—— 欧式距离