服务端:

首先是编写一个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哦。

转载于:https://www.cnblogs.com/xiaoxiaing/p/5342101.html

Android为TV端助力 浅谈Aidl 通讯机制相关推荐

  1. Android为TV端助力 最详细的动画大全,包括如何在代码和在XML中使用

    一.动画类型 Android的animation由四种类型组成:alpha.scale.translate.rotate XML配置文件中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画 ...

  2. Android为TV端助力 转载:android自定义view实战(温度控制表)!

    效果图 package cn.ljuns.temperature.view; import com.example.mvp.R; import android.content.Context; imp ...

  3. Android为TV端助力之热修复原理

    通过源码我们知道Android加载类是通过ClassLoad类里面的findClass先去查找的,如下图所示 通过看源码我们知道,ClassLoad是一个抽象类,它本身并没有实现findclass() ...

  4. Android为TV端助力context转换类型

    转载于:https://www.cnblogs.com/xiaoxiaing/p/7246761.html

  5. Android为TV端助力 同时setTag两次,保存多种值

    示例代码: view.setTag(R.string.action_settings,hodler.content); 接收两个值,一个是key值,必须是唯一值,而且要写在values/ids.xml ...

  6. Android为TV端助力 转载:Java 泛型

    一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest {2 3 public static void main(Strin ...

  7. Android为TV端助力 post带数据请求方式,传递的数据格式包括json和map

    如下: public static String httpPost(String url, String json) { try { URL u = new URL(url); HttpURLConn ...

  8. Android应用安全开发之浅谈密钥硬编码

    Android应用安全开发之浅谈密钥硬编码 作者:伊樵.呆狐@阿里聚安全 1 简介 在阿里聚安全的漏洞扫描器中和人工APP安全审计中,经常发现有开发者将密钥硬编码在Java代码.文件中,这样做会引起很 ...

  9. Android应用安全开发之浅谈加密算法的坑

    <Android应用安全开发之浅谈加密算法的坑> 作者:阿里移动安全@伊樵,@舟海 阿里聚安全,一站式解决应用开发安全问题     Android开发中,难免会遇到需要加解密一些数据内容存 ...

最新文章

  1. 好用到爆的 Java 技巧
  2. 基于FPGA的SPI FLASH控制器设计
  3. 网路游侠:用防篡改和WAF保护网站安全
  4. 查询GPU是否支持CUDA
  5. 有人说华为最大的对手是5年后的小米,你怎么看?
  6. 陌屿云PHP代码在线加密系统6.0源码 可添加小马
  7. python基础语法 第3关_Python基础语法 第3节课 (列表)
  8. Vue开源项目库汇总-转
  9. 中国石油大学《测井解释与生产测井》第三阶段在线作业
  10. ffmpeg 快速截图m3u8图片
  11. openoffic+java+spring 多线程 转换doc,ppt,xls - html/pdf
  12. 如何用计算机设置热点,Win7如何在笔记本电脑设置热点wifi?
  13. 地图标识符号大全_起名字大全男孩 男孩名字,起名字大全男孩
  14. 大数据可视化核心技术
  15. html5中英文间自动空格,如何快速在文章中英文数字间自动添加空格
  16. Linux系统安装教程(非双系统/虚拟机安装教程)
  17. CSS 网页弹出微信二维码
  18. 基于微信小程序Map标签及高德地图开源方法实现路径导航
  19. AHB-APB总线协议
  20. 0基础快速入门WebPack(3)——图解详述plugins(插件)的安装及sourceMap的使用及WebpackDevServer正向代理和模块热更新等(附详细案例源码解析过程及版本迭代过程)

热门文章

  1. centos7 mariadb mysql_【软件安装】CentOS7安装MariaDb(mysql_替代品安装)
  2. OpenCV-Python实战(番外篇)——利用 SVM 算法识别手写数字
  3. OpenCV-Python实战(番外篇)——利用 KNN 算法识别手写数字
  4. mvp+dagger2_Android MVP + Dagger2 +改造+ RxJava
  5. 文件io(一)--unix环境高级编程读书笔记
  6. OpenCV(二)OpenCV的介绍和发展
  7. react-native开发安卓app相关使用总结
  8. 文本处理工具grep、egrep的具体用法
  9. nodejs爬虫基础(二)
  10. 关于局云混合的新思路