位置: 编程技术 - 正文
推荐整理分享Android---45---使用AIDL Service传递复杂数据(android_zh),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:android使用教程,android使用方法,android使用方法,android使用教程,android エロ,android エロ,android使用教程,android_zh,内容如对您有帮助,希望把文章链接给更多的朋友!
该实例所传输的数据类型是自定义类型。
Android 要求调用远程Service的参数和返回都需要实现Parcelable接口。
实现Parcelable接口相当于Android提供的一种自定义序列化机制。
实现Parcelable接口不仅要求实现该接口里定义的方法,而且要求在实现类中定义一个名为CREATOR类型为Parcelable.Creator的静态Filed。除此之外,还要求使用AIDL代码来定义这些自定义类型。
服务端:
自定义两个类型:Person与Pet,其中Person对象作为调用远程Service的参数,而Pet将作为返回。
Person 和 Pet类都必须实现 Parcelable接口,并在实现类中定义一个名为CREATOR的静态Filed。
要定义Person类,先要AIDL来定义Person类:
接下来定义Person实现Parcelable的类
然后是Pet类,也是先定义AIDL中的Pet:
然后是定义Pet类实现Parcelable:
有了Person和Pet自定义的类,接下来就要定义用于通信的接口了:IPet
还是先是AIDL中定义:
接下来就是开发Service类了:
接下来该写客户端的代码了:
还记得在上一篇中写到的,需要把服务端的AIDL接口复制过来,传递复杂数据的时候,不仅仅只将IPet复制过来同时也要将 Person.java,Person.aidl Pet.aidl,Pet.java 一起复制到客户端。
还是按照之前绑定远程Service的方式即可,并在ServiceConnection实现类的onServiceConnected方法中获取远程Service的onBind方法返回的代理对象即可。
android新浪微博分享,测试包能分享,打包后不能分享 最近在做分享功能,其中有新浪微博的分享,因为需求,我们需要改变包名,在新浪微博的开放平台当然也需要改变一下内容。问题来了,在改包名之
android 在图片(bitmap)上画矩形框,并显示 在原有图片上画矩形框:实现方式:privatevoiddrawRectangles(BitmapimageBitmap,int[]keywordRects,int[]valueRects){intleft,top,right,bottom;BitmapmutableBitmap=imageBitmap.copy(Bitmap.Conf
android音乐播放器源码 最近研究android音乐播放器,弄了一个,还可以,可以实现播放、暂停、拖动进度等功能。源码地址:
标签: android_zh
本文链接地址:https://www.jiuchutong.com/biancheng/385231.html 转载请保留说明!友情链接: 武汉网站建设