用aidl传输实体类数据

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ysc123shift/article/details/78548309

实现功能

在Eclipse中(没用Android Studio公司原因),用aidl传输实体类Person数据,客户端app把实体类Person通过aidl传输到服务端app,然后返回一个String,通过Toast显示出来。

参考链接

http://blog.csdn.net/liuhe688/article/details/6409708
我参考这个写的Demo。

如何在客户端app找到服务端app实现方法?

这里写图片描述
这里写图片描述

有些具体的写法呢,没有必要纠结,照猫画虎,能用就行,一开始别看太深,对初学者没啥好处。用都不会用,都没有整体感知,就看原理,完全是雾里看花。先对aidl有个整体感知吧。

AidlHelper库工程

个人觉得网上太多demo都太demo了,都是教我们现在服务端新建aidl,然后客户端用的时候就复制过去这一套aidl。实际项目应该是有一个AidlHelper,就是一个库。服务端和客户端都引用这个库,这样写就很方便啊。至少我看过的实际项目都有这么一个库。而不是复制过来复制过去。

实际中的总结

1、存放aidl的package最好带个尾巴aidl,目的:方便区分。(比如:com.example.aidlhelper.aidl)
2、aidl文件都是大写字母 I 开头,目的:方便别人看。(比如:IMediaAidl.aidl)
3、当需要传实体类数据的时候,需要在aidl包里面添加相应的java类,目的:规矩,问了也没用,躺坑躺出来的经验。(比如:传Person.aidl,需要同时生成Person.java。网上太多教程都是只介绍aidl原理,噼里啪啦一大堆,实际例子没有,要么就是Android Studio里面的例子,Eclipse的我反正没看到,至于为什么在Eclipse中要同时生成x.java,Android Studio不要。也就一个结构原因,具体鬼知道呢?网上Demo讲真的太小儿科、太基本,很多都是远程调用方法实现a+b怎么怎么,一点都不深入。对于真正项目根本没用。)
4、传实体类数据的时候,一定要转化成Parcelable才行。

源码

具体的还是看源码和参考的连接对里面的解释吧。等我把源码上传了你们再下载吧。
一直都不喜欢让别人下源码给分值,现在csdn必须要收分了。唉。
http://download.csdn.net/download/ysc123shift/10120959

展开阅读全文

没有更多推荐了,返回首页