Android中Activity之间传递数据详解

    Activity之间传递数据一般有两大种方式:1、通过Intent结合Bundle传递数据 2、只使用Intent传递数据

    下面通过一个例子来演示两种方式的实现,MainActivity代码如下:

   

    该MainActivity界面布局很简单,只有一个按钮button用于点击跳转到另一个Activity即MyActivity,在MainActivity的最后我们定义了Person类并且使其实现了Serializable(可序列化)接口,用作我们之后要传递的对象数据。

    首先我们看在按钮点击响应代码块中的第一种传递数据的方式,通过intent.putExtra("name","曙光女神");intent.putExtra(“lover”,p1)以key-value对的形式存入数据,指定了名字为“曙光女神”,情人是“潘森”!

    接下来看第二种传递数据方式,先创建了一个Bundle对象bundle,之后通过bundle.putInt("age",26);存入int,long等各种类型的数据;通过bundle.putSerializable("enemy",p2);向Bundle中放入一个可序列化对象;最后通过intent.putExtras(bundle);向Intent中放入需要携带的数据包。

    MyActivity中的代码如下:

   

    先通过getIntent()方法获得启动该Activity的Intent,之后就可以通过如代码所示方式取出传递过来的数据了,需要说明的是可以直接通过Intent取出它所携带的Bundle数据包中的数据!

    总结:两种方式相比较,第二种方式更简便且基本功能都可以实现!★需要说明的是通过Intent重载的putExtra(String name,Xxx value),getXxxExtra(String name)来传递数据原理上依旧是存取Intent所携带的Bundle中的数据,只是做了良好的封装!

   

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值