1.传递普通数据

                Intent intent=new Intent(MainActivity.this,TwoActivity.class);
Bundle bundle=new Bundle();
bundle.putString("name","张三");
bundle.putInt("age",18);
bundle.putString("gender","男");
intent.putExtras(bundle);
startActivity(intent);

获取传递的数据

        Bundle bundle=getIntent().getExtras();
String name=bundle.getString("name");
String gender=bundle.getString("gender");
int age =bundle.getInt("age");

2.传递Serializable数据

1.创建一个类实现Serializable

2.传递数据

                Intent intent=new Intent(MainActivity.this,TwoActivity.class);
Bundle bundle=new Bundle();
Person1 p1=new Person1("张三","男",18);
bundle.putSerializable("person",p1);
intent.putExtras(bundle);
startActivity(intent);

3.接受数据

        Bundle bundle=getIntent().getExtras();
Person1 p1= (Person1) bundle.getSerializable("person");
String name=p1.getName();
String gender=p1.getGender();
int age =p1.getAge();

3.传递Parcelable数据

1.创建类实现Parcelabel

public class Person3 implements Parcelable {
private String name;
private String gender;
private int age; public Person3(String name, String gender, int age) {
this.name = name;
this.gender = gender;
this.age = age;
} public String getName() {
return name;
} public String getGender() {
return gender;
} public int getAge() {
return age;
} @Override
public String toString() {
return "Person3{" +
"name='" + name + '\'' +
", gender='" + gender + '\'' +
", age=" + age +
'}';
} public static final Parcelable.Creator<Person3> CREATOR=new Parcelable.Creator<Person3>(){ /**
* 供外部类反序列话本类数组使用
* @param source
* @return
*/ @Override
public Person3 createFromParcel(Parcel source) {
return new Person3(source);
} /**
* 从Parcel中读取数据
* @param size
* @return
*/
@Override
public Person3[] newArray(int size) {
return new Person3[size];
}
}; /**
* 默认返回0就行
* @return
*/
@Override
public int describeContents() {
return 0;
} /**
* 把值写进Parcel中
* @param dest
* @param flags
*/
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
dest.writeString(gender);
dest.writeInt(age);
} /**
* 这里的读取数据必须与writeToParacel(Parcel dest,int flags)一致,否则就会出错
* @param source
*/
public Person3(Parcel source) {
name = source.readString();
gender=source.readString();
age = source.readInt();
}
}

2.传递数据

                Intent intent=new Intent(MainActivity.this,TwoActivity.class);
Bundle bundle=new Bundle();
Person3 p3=new Person3("张三","男",18);
bundle.putParcelable("person",p3);
intent.putExtras(bundle);
startActivity(intent);

3.接受数据

     Bundle bundle=getIntent().getExtras();
Person3 p3= bundle.getParcelable("person");
String name=p3.getName();
String gender=p3.getGender();
int age =p3.getAge();

Android Bundle传递数据的更多相关文章

  1. android bundle存放数据详解

    转载自:android bundle存放数据详解 正如大家所知道,Activity之间传递数据,是将数据存放在Intent或者Bundle中 例如: 将数据存放倒Intent中传递: 将数据放到Bun ...

  2. Bundle传递数据,Handler更新UI

    Bundle主要用于传递数据:它保存的数据,是以key-value(键值对)的形式存在的. Bundle经常使用在Activity之间或者线程间传递数据,传递的数据可以是boolean.byte.in ...

  3. Android Bundle传递简单数据、对象数据

    Android开发过程中进程遇到组件之间.进程之间等数据的传递,数据传递有非常多种,当中使用Bundle传递非常方便. Bundle能够传递多种数据,是一种类似map的key-value数据结构 简单 ...

  4. Android之间传递数据包

    在Android中 ,我们知道,两个activity之间通讯要用到Intent类,传递简单数据的方式我们也已经知道了.那么,如何在两个activity之间传递数据包呢,这就要用到我们的Bundle类了 ...

  5. 关于Android中传递数据的一些讨论--备用

    在Android中编写过程序的开发人员都知道.在Activity.Service等组件之间传递数据(尤其是复杂类型的数据)很不方便.一般可以使用Intent来传递可序列化或简单类型的数据.看下面的代码 ...

  6. 关于Android中传递数据的一些讨论

    在Android中编写过程序的开发人员都知道.在Activity.Service等组件之间传递数据(尤其是复杂类型的数据)很不方便.一般可以使用Intent来传递可序列化或简单类型的数据.看下面的代码 ...

  7. Android开发—— 传递数据

    一:使用静态变量传递数据 (1)静态变量传递数据,在目标Activity中声明静态变量,然后使用setText()方法将静态变量的值导出即可: (2)静态变量传递数据,在主Activity中对目标Ac ...

  8. Activity通过bundle传递数据

    从AActivity.java向BActivity.java传递数据: 建立AActivity.java文件建立bundle: 1 public class AActivity extends App ...

  9. Android Intent传递数据

    刚开始看郭大神的<>,实现以下里面的一些例子.Intent传递数据. 我们利用显示的方式进行Intent的启动. 1.启动intent并输入数据. Intent intent=new In ...

随机推荐

  1. Yii框架的一些系统函数

    Yii::app()->request->baseUrl 返回app所在目录,可以用来挂模板. var_dump(Yii::app()->db); 可以用来测试数据库配置成功否

  2. android Shape使用(转)

    在Android中常常会使用shape来定义控件的一些显示属性,那么怎么来用那,今天我们就来看一些shape的使用,大家看完这篇以后就会对shape有了大体的了解,下面的是稍作总结请大家仔细的观看: ...

  3. springboot redis简单结合

    参考: https://www.cnblogs.com/ityouknow/p/5748830.htmlhttp://blog.csdn.net/i_vic/article/details/53081 ...

  4. Vue.js:起步

    ylbtech-Vue.js:起步 1.返回顶部 1. Vue.js 起步 每个 Vue 应用都需要通过实例化 Vue 来实现. 语法格式如下: var vm = new Vue({ // 选项 }) ...

  5. php中的continue用法

    continue 2 表示跳出两层 continue 默认跳出一层 if (count($content_arr) > 0 ) { // 获取相应的goods数据 $goodsdata = ar ...

  6. 怎么样使用yum来安装mysql

    linux下使用yum安装mysql,以及启动.登录和远程访问. 1.安装 查看有没有安装过: yum list installed mysql* rpm -qa | grep mysql* 查看有没 ...

  7. Java之匿名内部类和包装类

    匿名内部类 作用: 假如某个类只使用一次,则可以使用匿名内部类,无需再新建该类 我们上下代码: package com.learn.chap03.sec16; /** * 定义接口 */ public ...

  8. PHP网站

    1.NetBeans 解决PHP调试问题:https://netbeans.org/ 支持PHP调试的版本 2. http://document.thinkphp.cn/manual_3_2.html ...

  9. 玩转Mysql命令

    连接数据库mysql -hlocalhost -uroot -p 在MYsql的跟目录文件下进行 show databses:展示所有数据库 解决方法1:在MySql安装目录下找到my.ini,将[m ...

  10. 【总结整理】word使用技巧

    Tab+Enter,在编过号以后,会自动编号段落 Ctrl + D调出字体栏,配合Tab+Enter全键盘操作吧 Ctrl + L 左对齐, Ctrl + R 右对齐, Ctrl + E 居中 Ctr ...