关于Bundle传递消息

定义引用三个组件EditText name = (EditText)findViewById(R.id.name);EditText passwd = (EditText)findViewById(R.id.passwd);RadioButton male = (RadioButton) findViewById(R.id.male);String gender = male.isChecked() ? "男 " : "女";Person p = new Person(name.getText().toString(), passwd      .getText().toString(), gender);

/***********id.getText()此方法得到相应输入框的内容
data.putSerializable("person", p);
"person"为可序列化数据包的key只是作为区分传送数据包的标志。p为传送的对象。

利用Intent发送相关数据包,需要建立一个新的Intent的连接。利用Intent的putExtras(data);发送数据包。

*******************/

// 创建一个Bundle对象Bundle data = new Bundle();data.putSerializable("person", p);// 创建一个IntentIntent intent = new Intent(MainActivity.this,      ResultActivity.class);

intent.putExtras(data);// 启动intent对应的ActivitystartActivity(intent);

/**************************************************************

以上为发送数据包相关代码。下面写接受数据包以及显示数据***************************************************************/
定义三个显示文本组件TextView name = (TextView) findViewById(R.id.name);TextView passwd = (TextView) findViewById(R.id.passwd);TextView gender = (TextView) findViewById(R.id.gender);

// 建立该Activity的Intent,作用是为了连接与上一个Activity的数据接收 Intent intent = getIntent();

// 利用Intent接收到的数据包,指定给新建对象 Person p = (Person) intent.getSerializableExtra("person");

/******id.setText方法设置显示发送过来的数据内容*********************/name.setText("您的用户名为:" + p.getName());passwd.setText("您的密码为:" + p.getPasswd());gender.setText("您的性别为:" + p.getGender());

/************下面是该对象类方法的声明********************************/
import java.io.Serializable;

public class Person implements Serializable{   private Integer id;   private String name;   private String passwd;   private String gender;

   public Person(String name, String passwd, String gender) {      this.name = name;      this.passwd = passwd;      this.gender = gender;   }
/***************下面省略大部分相关类方法,getName();setName();getGender();setGender();等**********************************8/
时间: 2024-10-10 10:37:06

关于Bundle传递消息的相关文章

17_Android中Broadcast详解(有序广播,无序广播)最终广播,Bundle传递参数,传递参数的时候指定权限

?? 1  Broadcast是Android中的四大组件之一,他的用途很大,比如系统的一些广播:电量低.开机.锁屏等一些操作都会发送一个广播. 2  广播被分为两种不同的类型:"普通广播(Normalbroadcasts)"和"有序广播(Ordered broadcasts)".普通广播是完全异步的,可以在同一时刻(逻辑上)被所有广播接收者接收到,消息传递的效率比较高,但缺点是:接收者不能将处理结果传递给下一个接收者,并且无法终止广播Intent的传播:然后有序广

Unity3D研究院之与Android相互传递消息

原地址:http://www.xuanyusong.com/archives/676 上一篇文章我们学习了Unity向Android发送消息,如果Android又能给Unity回馈消息那么这就玩美了.恰好Unity for Andoid 和 IOS一样都是可以相互与Unity发送与接收消息,这篇文章MOMO就和大家好好聊聊Android向Unity发送消息的方法.在读本片博文之前,建议大家读一下我上一篇文章Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八),有关数据打包

Android中的Parcel机制 实现Bundle传递对象

Android中的Parcel机制    实现了Bundle传递对象    使用Bundle传递对象,首先要将其序列化,但是,在Android中要使用这种传递对象的方式需要用到Android Parcel机制,即,Android实现的轻量级的高效的对象序列化和反序列化机制. JAVA中的Serialize机制,译成串行化.序列化……,其作用是能将数据对象存入字节流当中,在需要时重新生成对象.主要应用是利用外部存储设备保存对象状态,以及通过网络传输对象等.        Android中的新的序列

Activity间用Intent和Bundle传递参数

传递方: //点击btn_sub传递 fieldHeight.getText()和 fieldWeight.getText() private void setListeners()    {     btn_sub.setOnClickListener(calrBMI);     }    private OnClickListener calrBMI = new OnClickListener()    {     public void onClick(View v)     { Inte

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

Android开发过程中进程遇到组件之间.进程之间等数据的传递,数据传递有很多种,其中使用Bundle传递非常方便. Bundle可以传递多种数据,是一种类似map的key-value数据结构 简单的调用如下所示 Bundle bundle=new Bundle(); bundle.put***(key,value) 但是有时候需要我们传递一个对象,做法就是先把该对象使用serializable序列化 public class Book implements Serializable{ } 然后

javascript重定向页面并用post方法传递消息

javascript中重定向页面得方法很多,同时能传递消息的也不少:但可用post方法传递的我只找到两种: 第一种方法:用document.write在 JavaScript函数中,用document.write("<input type="hidden" -- >"):在页面上输出几个hidden,name为要传递的参数名,value为要传递参数的值,最后 用"document.formname.submit"进行提交,formna

iOS页面间传递消息之Delegate

在开发应用的过程中,我们需要频繁地在界面之间传递消息,有时候是传递信息,有时候是传递一个信号即可.在iOS开发中,有多种传递信息的方式.比如最简单的,如果我们要在从一个界面进入另一个界面时给新界面传递一些消息,只需要给新界面定义一些属性,然后在创建新界面的时候设置其属性值即可. 那么如果要从新界面反过来传递信息给原先的界面怎么做呢,怎么建立起一个沟通的桥梁呢?iOS也提供了很多种方式,比如Notification.Block.UserDefault等等.本文就讲解最常见也是最常用的一种方式,几乎

在Android中通过Intent使用Bundle传递对象

IntentBundle传递对象SerializableParcelable Android开发中有时需要在应用中或进程间传递对象,下面详细介绍Intent使用Bundle传递对象的方法.被传递的对象需要先实现序列化,而序列化对象有两种方式:java.io.Serializable和android.os.Parcelable Java中使用的是Serializable,而谷歌在Android使用了自定义的Parcelable.两种序列化方式的区别:1.在使用内存的时候,Parcelable比Se

如何使用 Bundle 传递数据?

如何使用 Bundle  传递数据? 最近在学习Android的时候,不知道 如何使用Bunndle传递对象? 我们可以通过 Serizlizable 实现.本质就是 将 自定义的对象,转化为 Serizliable 对象. 之后在用的时候 再取出来. 存数据 Void  putSerializable(String key,Serializble value); 取数据: Serializanle getSerizlizble(String key); 代码:  mianActivity.ja