Android 数据传递之bunder 数据序列化--Serialzable和Parcelable

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情
1、Bunder传递对象为什么需要序列化?
因为bundle传递数据时只支持基本数据类型,所以在传递对象时需要序列化转换成可存储或可传输的本 质状态(字节流)。序列化后的对象可以在网络、IPC(比如启动另一个进程的ActivityService和 Reciver)之间进行传输,也可以存储到本地。

2、Serialzable和Parcelable的 区别:

SerializableJava自带):
Serializable 是序列化的意思,表示将一个对象转换成存储或可传输的状态。序列化后的对象可以在网 络上进传输,也可以存储到本地。
Parcelableandroid专用):
除了Serializable之外,使用Parcelable也可以实现相同的效果,不过不同于将对象进行序列化, Parcelable方式的实现原理是将一个完整的对象进行分解,而分解后的每一部分都是Intent所支持的数 据类型,这也就实现传递对象的功能了。

                                                         区别总结如下图所示:

 

————————————————

版权声明:本文为CSDN博主 CongPong 的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/CongPong/article/details/125891899

Android中Activity跳转 Bunder通过Serializable方式携带对象 Bunder可以携带序列化的对象,但这个类在定义时要继承序列化接口Serializable 继承了序列化接口的对象Music import java.io.Serializable; //一定要继承Serializable public class Music implements Serializable { private String title; private Stri... 阅读详情

相关推荐

android入门之BundleParcelables传递数据

文档:https://developer.android.com/guide/components/activities/parcelables-and-bundles https://developer.android.com/reference/android/os/Parcelable 1.简介 ParcelableBundle对象旨在用于活动之间以及跨配置更改存储状态。 Parcel不是通用的序列化机制,不应该将任何Parcel数据存储在磁盘上或通过网络发送。 2.活动间发送

蛐蛐的博客 766

bundle传递对象与Serializable、Parcelable接口理解思考

bundle.putSerializable 或者 bundle.putParcelable 传进去的对象一定要implements Parcelable 或者 Serializable 这两个接口。 Serializable  这个接口没有具体的方法,这个关键字主要是标识这个类在jdk编译的时候会被序列化处理。在序列化处理的过程中,会大量生成中间临时变量。可能引起GC操作。 对于Parc

lxlmycsdnfree的博客 3158

Android : 序列化 Serializable 简单应用

Android : 序列化 Serializable 简单应用

javaGHui的博客 615

Bundle传递对象为什么需要序列化SerialzableParcelable的区别

因为bundle传递数据时,只支持基本数据类型,所以在传递数据时,要将对象序列化转化成可以存储或者可以传输的本质状态,即字节流。序列化后的对象可以在网络,页面之间传递,也可以存储到本地。 Serialzable(Java自带) 序列化对象,转化成可以存储或者可以传输的本质状态。 Parcelable(安卓专用) Parcelable可以实现相同的效果,但是不是将对象序列化,而是将对象进行分解,分解后的每一个部分,都是Intent所支持的数据类型,这就也实现了传递对象的功能了。 比较:Serialz

转载和创作优秀的博客 592

Android开发:Bundle传值

Android开发:Bundle传值。之前使用的是Intent传值,新学了一个Bundle传值的方法 文章目录一、Bundle是什么?二、Bundle与Intent区别三、Bundle使用代码示例效果显示 一、Bundle是什么? Android Developers 文档【Bundle】 public final class Bundle extends BaseBundle implements Cloneable, Parcelable A mapping from String keys.

游手好闲 5720

android信息传递方式之bundle总结

Android bundle总结 1. Bundle简介 Bundle主要用于传递数据;它保存的数据,是以key-value(键值对)的形式存在的。   我们经常使用Bundle在Activity之间传递数据传递数据可以是boolean、byte、int、long、float、double、string等基本类型或它们对应的数组,也可以是对象或对象数组。当Bundle传递的是对象或对象

u014012284的专栏 2779

SerialzableParcelable的区别?Bunder传递对象为什么需要序列化

SerializableParcelable接口可以完成对象的序列化的过程,当我们需要通过IntentBinder传输数据时就需要使用Parcelable或者Serializable,有时候我们还需要把对象持久化到存储设备上或者通过网络传输给其他客户端,这个时候也需要使用Seriazable来完成对象的持久化.序列化后的对象可以在网络、IPC(比如启动另一个进程的Activity、ServiceReciver)之间进行传输,也可以存储到本地。

代码小疯子 718

这是一份用心整理的Android面试总结,面试真题解析

在GitHub找到大神整理的一份学习Android非常好的资料,分享给大家。 第一章 计算机网络基础面试题 1、网络面试题 (一)HTTP/HTTPS 1.HTTP与HTTPS有什么区别? 2.HTTP1.0HTTP1.1的一些区别 3.请求慢的解决办法 4.Http的requestresponse的协议组成 5.谈谈对http缓存的了解。 6.HTTPS加密原理 7.HTTPS如何防范中间人攻击 8.有哪些响应码,分别都代表什么意思? (二)TCP/UDP 1.为什么TCP要经过三次握手四次挥手 2.

m0_56251953的博客 315

android之bundle

Bundle介绍 Bundle主要用于传递数据:它保存的数据,是以key-value(键值对)的形式存在的。 Activity之间的数据传递经常通过Bundle实现,传递数据可以是boolean、byte、int、long、float、double、string等基本类型或它们对应的数组,也可以是对象或对象数组。当Bundle传递的是对象或对象数组时,必须实现Serializable或Parc...

yuyang_1995 403

Android Bundle传递数据

Bundle 是用来传递数据的,其以key-value保存数据,可以传递boolean,byte,int,long,float,double,string等基本类型或他们对应的数组,也可以是对象或对象数组,但必须实现Seriallzable或Parcelable接口。 传递基本类型:putXxx()getXxx()方法,用于基本的读写操作。 写操作: MainFragment frag...

bentleydelll的博客 2811

Android简介:Bundle

一、Bundle Bundle主要用于传递数据;它保存的数据,是以key-value(键值对)的形式存在的。 经常使用Bundle在Activity之间传递数据传递数据可以是boolean、byte、int、long、float、double、string等基本类型或它们对应的数组,也可以是对象或对象数组。当Bundle传递的是对象或对象数组时,必须实现Serializable 或Parcelable接口。 二、使用( Android Activity 数据传递:一次传多个) Intent i

m0_48134027的博客 3390

android bundle 对象,在Android中经过Intent使用Bundle传递对象

传递的对象须要先实现序列化,而序列化对象有两种方式:java.io.Serializableandroid.os.ParcelableJava中使用的是Serializable,而谷歌在Android使用了自定义的Parcelable。两种序列化方式的区别:1.在使用内存的时候,Parcelable比Serializable性能高,推荐使用Parcelable类;2.Serializable在...

weixin_33873270的博客 401

如何通过实现parcelable接口传递值对象

大家都知道,在Android 的Activity之间跳转是可以传递参数的,可以通过Intent,或者Intent结合Bundle进行传参,如果要传递的参数是一个对象类型的参数,那么该对象必须要实现Serializable接口或者实现Parcelable接口,对于实现Serializable接口,没什么可说的,直接实现该接口就可以了.本文主要介绍如何通过实现Parcelable接口来完成Activi

热爱不止,前行不息 1127

Intent传递数据Parcelable,Serializable,Bundle详细用法

Intent通信方式(一):携带基础数据类型: Intent对象可以使用putExtras()方法传递基本类型数据,因为方式差不多,所以我就简单地撸了几行,用法参数都差不多,第一个参数是名字(即Key),第二个参数是值(即Value),可以联想Map的映射去记忆。 下面开始撸码:这里也可以使用链式调用,不用讲究顺序 第一个activity中传递数据时: intent.putExtra("name","秃头小郑") .putExtra("age",20

XJ200012的博客 1129

Bundle,Intent传递复杂的--Parcelable

通过Bundle,Intent传递复杂的数据,ArrayList等,需要Bean实现Parcelable接口 -----Bean.java public class Bean implements Parcelable { public String name; public String age; //读取 public Bean(Parcel in){ nam

沧海沐茸的博客 372

Bundle序列化parcelable

Bundle主要用于传递数据;它保存的数据,是以key-value(键值对)的形式存在的。 Bundle经常使用在Activity之间或者线程间传递数据传递数据可以是boolean、byte、int、long、float、double、string等基本类型或它们对应的数组,也可以是对象或对象数组。 当Bundle传递的是对象或对象数组时,必须实现Serializable 或Parcelabl...

skyang在路上 1526

Android Bundle详解

Android Bundle总结     版本 修改内容 日期 修改人 1.0 初稿 2013/03/06 skywang         1 Bundle介绍 Bundle主要用于传递数据

switch(mind) 7万+

Android 数据传递(Intent、Bundle、Serializable、Parcelable等)

Android 数据传递(Intent、Bundle、Serializable、Parcelable等) 第一步:在xml文件上界面布局 这边采用LinearLayour布局,添加6个按钮来实现界面的跳转相关功能的实现,代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="ht

Scxioi0的博客 1314

Bundle数据结构序列化分析

Android Binder是知名女程序员Dianne Hackborn基于自己开发的OpenBinder重新实现的Android IPC机制,是Android里最核心的机制。不同于Linux下的管道、共享内存、消息队列、socket等,它是一套传输效率高、可操作性好、安全性高的Client-Server通信机制。Android Binder通过/dev/binder驱动实

stven_king的专栏 811
上一篇: Android Activity生命周期
下一篇: Android 数据传递之JSON --GSON
Cong Pong
博客等级 码龄7年 4粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值