Android为TV端助力 浅谈Aidl 通讯机制
服务端:
首先是编写一个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 通讯机制相关推荐
- Android为TV端助力 最详细的动画大全,包括如何在代码和在XML中使用
一.动画类型 Android的animation由四种类型组成:alpha.scale.translate.rotate XML配置文件中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画 ...
- Android为TV端助力 转载:android自定义view实战(温度控制表)!
效果图 package cn.ljuns.temperature.view; import com.example.mvp.R; import android.content.Context; imp ...
- Android为TV端助力之热修复原理
通过源码我们知道Android加载类是通过ClassLoad类里面的findClass先去查找的,如下图所示 通过看源码我们知道,ClassLoad是一个抽象类,它本身并没有实现findclass() ...
- Android为TV端助力context转换类型
转载于:https://www.cnblogs.com/xiaoxiaing/p/7246761.html
- Android为TV端助力 同时setTag两次,保存多种值
示例代码: view.setTag(R.string.action_settings,hodler.content); 接收两个值,一个是key值,必须是唯一值,而且要写在values/ids.xml ...
- Android为TV端助力 转载:Java 泛型
一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest {2 3 public static void main(Strin ...
- Android为TV端助力 post带数据请求方式,传递的数据格式包括json和map
如下: public static String httpPost(String url, String json) { try { URL u = new URL(url); HttpURLConn ...
- Android应用安全开发之浅谈密钥硬编码
Android应用安全开发之浅谈密钥硬编码 作者:伊樵.呆狐@阿里聚安全 1 简介 在阿里聚安全的漏洞扫描器中和人工APP安全审计中,经常发现有开发者将密钥硬编码在Java代码.文件中,这样做会引起很 ...
- Android应用安全开发之浅谈加密算法的坑
<Android应用安全开发之浅谈加密算法的坑> 作者:阿里移动安全@伊樵,@舟海 阿里聚安全,一站式解决应用开发安全问题 Android开发中,难免会遇到需要加解密一些数据内容存 ...
最新文章
- 好用到爆的 Java 技巧
- 基于FPGA的SPI FLASH控制器设计
- 网路游侠:用防篡改和WAF保护网站安全
- 查询GPU是否支持CUDA
- 有人说华为最大的对手是5年后的小米,你怎么看?
- 陌屿云PHP代码在线加密系统6.0源码 可添加小马
- python基础语法 第3关_Python基础语法 第3节课 (列表)
- Vue开源项目库汇总-转
- 中国石油大学《测井解释与生产测井》第三阶段在线作业
- ffmpeg 快速截图m3u8图片
- openoffic+java+spring 多线程 转换doc,ppt,xls - html/pdf
- 如何用计算机设置热点,Win7如何在笔记本电脑设置热点wifi?
- 地图标识符号大全_起名字大全男孩 男孩名字,起名字大全男孩
- 大数据可视化核心技术
- html5中英文间自动空格,如何快速在文章中英文数字间自动添加空格
- Linux系统安装教程(非双系统/虚拟机安装教程)
- CSS 网页弹出微信二维码
- 基于微信小程序Map标签及高德地图开源方法实现路径导航
- AHB-APB总线协议
- 0基础快速入门WebPack(3)——图解详述plugins(插件)的安装及sourceMap的使用及WebpackDevServer正向代理和模块热更新等(附详细案例源码解析过程及版本迭代过程)
热门文章
- centos7 mariadb mysql_【软件安装】CentOS7安装MariaDb(mysql_替代品安装)
- OpenCV-Python实战(番外篇)——利用 SVM 算法识别手写数字
- OpenCV-Python实战(番外篇)——利用 KNN 算法识别手写数字
- mvp+dagger2_Android MVP + Dagger2 +改造+ RxJava
- 文件io(一)--unix环境高级编程读书笔记
- OpenCV(二)OpenCV的介绍和发展
- react-native开发安卓app相关使用总结
- 文本处理工具grep、egrep的具体用法
- nodejs爬虫基础(二)
- 关于局云混合的新思路