位置: 编程技术 - 正文

Android---44---使用AIDL Service 实现跨进程调用Service(android使用方法)

编辑:rootadmin
&#;&#;

推荐整理分享Android---44---使用AIDL Service 实现跨进程调用Service(android使用方法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android+,android_main,android エロ,android エロ,android使用方法,android エロ,android使用教程,android+,内容如对您有帮助,希望把文章链接给更多的朋友!

为了实现跨进程通信(interprocess communication 简称 IPC),Android提供了AIDL Service。

AIDL 是一种IDL语言,用于生成可以在Android设备上两个进程之间进行通信的代码如果在一个进程中药调用另一个进程中对象的操作,就可以使用AIDL生成可序列化的参数。

AIDL是面向接口的

与绑定本地Service不同的是,本地Service的onBind方法会直接把IBinder对象本身传给客户端的ServiceConnection的onServiceConnected方法的第二个参数。但远程Service的onBind方法只是将Ibinder对象的代理传给客户端。

创建AIDL:

new -> file XXX.aidl

XXX.aidl里只是定义一个接口,语法与Java语法相&#; 但存在几点差异:

1.AIDL定义接口的源代码必须以.aidl 结尾2.AIDL用到的数据类型,除了基本类型,String,List Map,CharSequence之外,其他类型全部需要导包。

将接口暴露给客户端:

定义好AIDL接口后,ADT工具会自动在工程gen目录下生成一个ICat.java接口,该接口里包含一个Stub内部类,给内部类实现了IBinder、ICat两个接口,这个Stub类将会作为远程Service的回调类----它实现了IBinder接口,因此可以作为Service的onBind方法的返回&#;。

Android---44---使用AIDL Service 实现跨进程调用Service(android使用方法)

定义一个Service实现类,该Service的onBind方法所返回的IBinder对象应该是ADT所生成的ICat.Stub的子类的实例。

服务端的代码:

CatBinder类继承了ICat.Stub类,就是实现了ICat接口和IBinder接口,所以程序重写onBind方法时返回了该CatBinder的实例

客户端访问:

需要注意的是,不仅服务端需要AIDL接口,客户端同样需要这个接口,而且是一模一样的。由于看书的时候没仔细看,结果纠结了两个小时。。。

客户端代码:

Android 子线程 更新 UI 界面 总结 packagecom.jrhcode.morethreadtest;importjava.util.concurrent.Executors;importandroid.os.AsyncTask;importandroid.os.Bundle;importandroid.os.Handler;importandroid.app.Activity;importandroid.view.Menu;im

android布局layout中的一些属性 1、可以使某些资源文件或UI组件可重用includelayout=@layout/other/2、定义一个文本编辑框,使用绝对定位android:layout_x=dipandroid:layout_y=dip3、控件位置android:l

Android数据存储之文件 文件Android中对文件的操作和Java是一样的。Android系统中存储系统分为内部存储和外部存储两种内部存储空间RAM内存:运行内存,相当于电脑的内存。ROM

标签: android使用方法

本文链接地址:https://www.jiuchutong.com/biancheng/383317.html 转载请保留说明!

上一篇:Android SDK下载和更新失败的解决方法!!!(sdk和安卓版本)

下一篇:Android 子线程 更新 UI 界面 总结(android 子线程间通信)

  • 怎么进行增值税纳税申报
  • 发放上年年终奖个税
  • 没有数字的公章有效吗三方协议盖的章没有数字
  • 税务登记投资方经济性质
  • 车间领用材料应填制什么凭证
  • 印花税申报成功后在哪里查询
  • 无形资产后续支出计入什么科目
  • 收到银行存款怎么记账
  • 补上年所得税加滞纳金入哪个科目?
  • 营改增后补缴营业税
  • 个人定期存款利率怎么算
  • 污水处理厂税收风险
  • 企业经营者试行什么制度
  • 残保金补报
  • 所得税计税方法
  • 固定资产残值率一般是多少
  • 项目地预交企业所得税分录如何处理?
  • 外派人员计算个人所得税可否有附加扣除
  • 信用卡购物消费怎么算
  • 拍卖市场拍售的旧机动车价格是公平市价
  • 毛利率与净利率的差额
  • 出口退税服务
  • 如何在没有开瓶器的情况下开红酒
  • 个人银行卡作为公司备用金影响
  • 工会经费使用具体办法
  • 著作权出售后,属于自己的吗
  • 固定资产折旧方法的选择
  • 社保公积金的钱可以提出来吗
  • 如何更改文件的创建时间
  • 方正书版10.0教程
  • ahc软件进不去
  • 公司入股的钱怎么做账
  • php readdir函数
  • PHP:pg_convert()的用法_PostgreSQL函数
  • 费用分摊的分录
  • 利润增减幅度
  • 债务重组收益的计算
  • 国有控股企业改制
  • php生成图片验证怎么弄
  • php的ajax
  • 费用冲账的会计分录
  • 如何修改python
  • 支付个人赔偿款入账
  • vue父子组件生命周期钩子执行顺序
  • 数学建模心态崩了
  • gpgpu编程技术
  • 过路费抵扣进项税怎么计算
  • 年报和汇算清缴报表口径的区别
  • 其他收益所得税汇算清缴时需要调增吗
  • PostgreSQL教程(三):表的继承和分区表详解
  • mysql字符集详解
  • 佣金代扣代缴增值税如何计算
  • 地价计入房产原值文件解读
  • 个人去税务局开劳务发票要交多少税
  • 暂估成本多久要冲掉
  • 失控发票进项税转出成本调整
  • 出售无形资产净损失
  • 建筑企业材料费能否加计扣除
  • mysql优化配置文件
  • mysql数据库完全备份
  • 在linux操作系统中,/etc/rc.d/init.d
  • linux的ftp命令
  • edif是什么文件
  • win7同步中心怎么关掉
  • mac的mail登不上
  • win7电脑显示器颜色不正常怎么办
  • linuxmint设置中文
  • node 包管理
  • js代码规范
  • python中文分词库
  • unity shader cull off
  • npm安装插件失败
  • 安卓端数据库
  • javascript用处
  • js获取图片的宽高
  • bootstrap要学到什么程度
  • 重新加载activity
  • 如何查询车辆购置税完税证明
  • 网上报个人所得税
  • 云南烟草税收是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设