服务端

服务端注意细节

  • 不支持short数据类型
  • 支持的数据类型有:int、long、char、boolean、float、double、String、CharSequence、List、Map
  • 除了基本类型外,自定的类型需要我们通过实现Parcelable来序列化
  • 自定义的数据类型所在的包必须与aidl下文件拥有相同的包名
  • 除基本类型外,自定的类型必须标注in、out、inout标示数据的方向。基本类型默认方向为in。(通常报错就处于此条)

AIDL文件

package com.android.server;import android.os.Parcel;
import android.os.Parcelable;/*** 自定义数据类型*/
public class Rectangular implements Parcelable{public int left;public int right;public int top;public int bottom;public Rectangular(){}public Rectangular(Parcel in){readFromParcel(in);}@Overridepublic int describeContents() {return 0;}@Overridepublic void writeToParcel(Parcel dest, int flags) {dest.writeInt(left);dest.writeInt(right);dest.writeInt(top);dest.writeInt(bottom);}public void readFromParcel(Parcel in){left = in.readInt();right = in.readInt();top = in.readInt();bottom = in.readInt();}public static final Parcelable.Creator<Rectangular> CREATOR = new Parcelable.Creator<Rectangular>(){@Overridepublic Rectangular createFromParcel(Parcel source) {return new Rectangular(source);}@Overridepublic Rectangular[] newArray(int size) {return new Rectangular[size];}};
}

Rectangular.aidl

package com.android.server;parcelable Rectangular;

IRemoteService.aidl

package com.android.server;import com.android.server.Rectangular;interface IRemoteService {void basicTypes(int anInt, long aLong, boolean aBoolean, float aFloat,double aDouble, String aString);int getArea(in Rectangular rect);}

客户端

客户端注意细节

  • aidl文件必须与服务端一致,包括包名
  • 服务端每次修改aidl文件之后,必须更新客户端的aidl文件,负责会服务绑定到服务端的服务。

Demo完整实现

https://github.com/xkck/AIDLServer

AIDL注意细节 简单Demo相关推荐

  1. JavaWeb开发:从购买服务器到简单demo运行

    写这篇文章的目的: 一个是为了记录实施过程,方便自己日后查阅: 另一个是给项目组成员提供一个参考,方便他们以后搭建自己的项目环境: 当然若能帮助到更多的朋友,那就再好不过了:D 需要注意: 我本身也是 ...

  2. EPSON机器人建立TCP/IP通讯的简单demo

    以下为我近期研究EPSON机器人通讯的经验总结,主要实现机械手接收相机发送过来的数据,从而达到对应的位置,及其简单demo. 欢迎加入知识星球[3D视觉工坊],进行交流学习.

  3. Solr配置与简单Demo[转]

    Solr配置与简单Demo 简介: solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目.它的官方网址在http://lucene.apache.org/sol ...

  4. VC++ 拖放编程简单Demo

    微软的编程类库都带有拖放编程的接口:下面看一个最简单demo:win7, vc6:新建一个对话框工程: 添加一个列表框控件:设置 接受文件 属性: 在 类向导-Class Info 做如下选择: 为W ...

  5. win32汇编定时器简单Demo

    timer.asm: .386.model flat,stdcalloption casemap:noneinclude windows.inc include user32.inc includel ...

  6. win32汇编创建线程简单Demo

    代码如下:thread.asm: .386.model flat,stdcalloption casemap:noneinclude windows.inc include user32.inc in ...

  7. rabbitMQ消息队列 – 面板介绍及简单demo

    首先rabbit安装好之后,运维会给一个控制面板. 默认账号密码为guest 登入以后可以看到具体界面. 在此鸣谢百度翻译给予的大力支持.. ###写一个简单的demo 编写之前..虽然说可以直接用底 ...

  8. python wpf教程_WPF使用IronPython库的简单Demo

    WPF使用IronPython库的简单Demo 一.IronPython和C#交互 IronPython是一个.NET平台上的Python实现,包括了完整的编译器.执行引擎与运行时支持,能够与.NET ...

  9. Ocelot 入门Demo系列(01-Ocelot极简单Demo及负载均衡的配置)

    来源:https://www.cnblogs.com/7tiny/p/10493805.html [前言] Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由.请 ...

最新文章

  1. 【机器学习基本理论】详解最大后验概率估计(MAP)的理解
  2. Sales and Distribution (SD)
  3. 量子计算101:浅谈其需求、前景和现实
  4. Maven 学习 (0) Maven 简介
  5. oracle设置开机启动,linux下oracle设置开机自启动实现方法
  6. 简单的单臂路由的配置实验 (思科)
  7. ASP.NET中下载文件的几种方法
  8. python绘画音频_人工智能下的音频还能这样玩!!!!
  9. react中的state详解
  10. 2018福大软工实践第八次作业
  11. 查看和设置tomcat内存
  12. python显示当前日期_python显示当前时间
  13. AcWing 870. 约数个数(唯一分解+组合数)
  14. python函数参数是数据库表名_Python-sqlite中的变量表名称
  15. 国外 Warez 网站 杂集
  16. (待补充)【读书笔记】20190816《码农翻身》——刘欣
  17. Testng的简介和使用
  18. Copy and Paste GAN: Face Hallucination from Shaded Thumbnails
  19. Vray材质学习笔记08——陶瓷材质
  20. 嵌入式开发对学历门槛要求高吗?

热门文章

  1. java equal 不等于_java Integer判断相等只能使用equals(不能使用==)
  2. 【Linux】5.linux下的export命令和环境变量
  3. 锁优化:逃逸分析、自旋锁、锁消除、锁粗化、轻量级锁和偏向锁
  4. 系统分析师零散知识点
  5. MySQL 覆盖索引
  6. java设计模式5--原型模式(Prototype)
  7. 程序员面试题精选100题(30)-赋值运算符重载函数[C/C++/C#]
  8. 2015年山石网科面试题
  9. Nginx安装echo模块
  10. [十三]JavaIO之PushBackInputStream