进程间数据传递载体——Parcel(一)

本文介绍了Android进程间通信中Parcel的使用,详细阐述了Parcel如何作为数据传递载体,包括其基本方法如setDataCapacity(), setDataPosition(), dataSize()等,以及如何读写原始类型数据和数组。通过Parcel,可以实现不同进程间的数据安全传输。" 50135505,1432025,Asp.net无Office组件导出Excel,自定义合并单元格,"['后端开发', '.NET', 'Excel处理', 'Asp.net MVC', 'NPOI']
摘要由CSDN通过智能技术生成

    前段时间参与一个项目关于进程间通信,看人家的代码中Parcel用的各种6,可是咱看不懂呀!所以只好在查些资料咯! 

    所谓Parcel英文直译就是“打包”的意思。如果进程间通信直接传递引用对象,这样也只是传递了对象的内存地址,这样的行为是

行不通的,毕竟两个进程间的虚拟内存是不同的。但是我通过Parcel将内存地址中存储的数据打包呢。。这样就可以把数据传递过去了!

    下面介绍下Parcel相关的方法:

    dataSize();获取当前已经存储的数据大小。

    setDataCapacity(int size);设置Parcel的空间大小,显然存储的数据不能大于这个值。

    setDataPosition(int pos);改变Parcel中的读写位置,必须介于0和dataSize()之间。

    dataAvail():当前Parcel中的可读数据大小。

    dataCapacity():当前Parcel的存储能力。

    dataPosition():数据当前位置值,类似游标。



    Primitives

    原始类型数据的读写操作:

    writeByte(byte):写入一个byte;

    readByte():读取一个byte;

    writeDouble(double) :写入一个double

    readDouble();读取一个double.

    从上面看出读写是配套的。数据是按照host cpu的字节序来读写的


    Primitives Arrays

    原始数据类型数组的读写操作通常是先写入用4个字节表示的数据大

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值