• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > android 浅谈Aidl 通讯机制,androidaidl

android 浅谈Aidl 通讯机制,androidaidl

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android studio aidl,android aidl,android中aidl,android aidl详解,android service aidl等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

android 浅谈Aidl 通讯机制,androidaidl


服务端:

首先是编写一个aidl文件,注意AIDL只支持方法,不能定义静态成员,并且方法也不能有类似public等的修饰符;AIDL运行方法有任何类型的参数和返回值,在java的类型中,以下的类型使用时不需要导入包(import),基本数据类型、String、Map、List.当然为了避免出错,建议只要使用了,就导入包。

然后在服务端启动一个服务并注册,编写一个任意类实现AIDL文件生成的JAVA接口Stub!

最后在service里面实例化你的任意类并且在onBind(Intent a)方法上面返回你任意类的对象!

客户端:

首先把你在服务端的aidl文件完整的复制过来一份,并且保证包名一样

然后调用bindservice方法绑定你在服务端创建的方法mContext.bindService(intent, mServiceConnection, 0);

其中mServiceConnection是重点:

private ServiceConnection mServiceConnection = new ServiceConnection() {

@Override
public void onServiceConnected(ComponentName name, IBinder service) {//连接上服务器时调用
mService = IRemoteService.Stub.asInterface(service);

}

@Override
public void onServiceDisconnected(ComponentName name) {//没连上调用
mService = null;
}
};

其中mService就是服务端的aidl对象,我们可以通过它来给服务端的方法赋值

其中的传的Intent要注意必须提供一个intent-filter来匹配请求是否合法,所以我们在客户端访问服务的时候,还必须传递包含了匹配action的Intent哦。

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 使用AIDL调用远程服务设置系统时间,aidl调用系统
  • android 浅谈Aidl 通讯机制,androidaidl
  • 【Android】由浅到深理解AIDL
  • Android IPC 之 AIDL(一)
  • android使用AIDL实现跨进程通讯(IPC)
  • Android中AIDL详解

相关文章

  • 2017-05-26Android Doze模式源码分析,androiddoze
  • 2017-05-26Android阻止AlertDialog关闭,androidalertdialog
  • 2017-05-26android 之 启动画面的两种方法,android两种方法
  • 2017-05-26For each循环中使用remove方法。,eachremove
  • 2017-05-26分析google的multidex库,googlemultidex库
  • 2017-05-26Android开发学习—— 创建项目时,不是继承activity,而是继承ActionBarActivity,androidactivity继承
  • 2017-05-26Android Studio快捷键指南(本文持续更新)
  • 2017-05-26Android开发艺术探索学习笔记(十一),android艺术探索
  • 2017-05-26关于如何在安卓的百度地图开发里面简单实现持续定位,安卓地图
  • 2017-05-26Android的系统体系结构,android体系结构

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • android Listview的自定义界面的使用
    • Android 应用程序集成FaceBook 登录,androidfacebook
    • Smalidea+IntelliJ IDEA/Android Studio动态调试安卓app教程
    • 高仿饿了么应用项目源码,高仿饿项目源码
    • 5.2.4 Fragment实例精讲——底部导航栏+ViewPager滑动切换页面
    • RecyclerView 结合 CardView 使用(二),recyclerview使用
    • Android安全机制
    • 初识android中的动画,初识android动画
    • 7.1.2 Android Http请求头与响应头的学习
    • Android事件分发机制浅谈(一),android浅谈

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有