Android service 中的stub类

stub是为了方便client,service交互而生成出来的代码。


AIDL(android 接口描述语言)是一个IDL语言,它可以生成一段代码,可以使在一个android设备上运行的两个进程使用内部通信进程进行交互。如果你需要在一个进程中(例如:在一个Activity中)访问另一个进程中(例如:一个Service)某个对象的方法,你就可以使用AIDL来生成这样的代码来伪装传递各种参数。

要使用AIDL,Service需要以aidl文件的方式提供服务接口,AIDL工具将生成一个相应的java接口,并且在生成的服务接口中包含一个功能调用的stub服务桩类。Service的实现类需要去继承这个stub服务桩类。Service的onBind方法会返回实现类的对象,之后你就可以使用它了。
交互过程client<-->proxy<-->stub<-->service

stub和proxy是为了方便client/service交互而生成出来的代码,这样client/service的代码就会比较干净,不会嵌入很多很难懂的与业务无关的代码 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453502.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kafka exporter v0.3.0 发布: Prometheus官方推荐,欢迎试用

2019独角兽企业重金招聘Python工程师标准>>> 时隔1个半月&#xff0c;kakfa exporter v0.3.0于今日正式发布&#xff0c;欢迎大家试用。 项目地址 Github: https://github.com/danielqsj/kafka_exporter Docker Hub: https://hub.docker.com/r/danielqsj/kafka-expo…

java手动切换成独立显卡_JAVA设计模式之调停者模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述调停者(Mediator)模式的&#xff1a;调停者模式是对象的行为模式。调停者模式包装了一系列对象相互作用的方式&#xff0c;使得这些对象不必相互明显引用。从而使它们可以较松散地耦合。当这些对象中的某些对象之间的相互作用发…

2018.2.8 php实现qq登陆接口

PHP实现QQ登录的原理和实现过程 2018-02-08 学习与分享 PHP自学中心 第三方登录&#xff0c;就是使用大家比较熟悉的比如QQ、微信、微博等第三方软件登录自己的网站&#xff0c;这可以免去注册账号、快速留住用户的目的&#xff0c;免去了相对复杂的注册流程。下边就给大家讲一…

关于积累的一点看法

这是vip那边发表的一篇帖子&#xff0c;今天整理&#xff0c;发现可能有一点代表性&#xff0c;就再发在这里&#xff0c;供各位同学参考。 坛子里有人讨论小公司要不要积累框架的问题&#xff0c;有感而发&#xff0c;写了点自己的看法&#xff0c;一家之言&#xff0c;欢迎拍…

去除vue项目中的#及其ie9兼容性

一、如何去除vue项目中访问地址的# vue2中在路由配置中添加mode&#xff08;vue-cli创建的项目在src/router/index.js&#xff09; 1 export default new Router({2 mode: history,3 routes: [4 {5 path: /,6 name: menu,7 component: menu,8 …

sendBroadcast与sendStickyBroadcast的区别

前提条件&#xff1a;此处我主要讨论两种广播在代码中动态注册时的一些细节问题。 正常情况下&#xff0c;广播通常都是执行一次注册代码&#xff0c;就会触发各接收器接收一次&#xff0c;无论是在onCreate里注册还是onResume里注册&#xff1a;若在onCreate里注册&#xff0…

java 线程池 初始大小_为什么tomcat的默认线程池大小如此之大? - java

我注意到默认的tomcat 7线程池大小似乎是200。但是普通的CPU似乎有16个内核。因此只能并行执行16个线程为什么tomcat使用那么多线程。参考方案多年以来&#xff0c;许多单核计算机问世&#xff0c;并且能够以“伪并行”模式运行功能&#xff0c;也就是说&#xff0c;您可能有16…

Hadoop2.6.0完全分布式安装

1、修改主机名称 对master/slave1/slave2同时配置为Master/Slave1/Slave2 masterMaster:~$ sudo gedit /etc/hostname 上述3个虚机结点均需要进行以上步骤 2、填写主机IP 对master/slave1/slave2同时配置 masterMaster:~$ sudo gedit /etc/hosts 192.168.48.128 master192.168.…

DEX加密效果分析

dex加密目的&#xff1a;保护安卓应用的Java源代码&#xff0c;避免被恶意分析&#xff0c;技术被窃取准备工具&#xff1a;1、apktool &#xff1a;反编译apk&#xff0c;提取smali代码2、dex2jar &#xff1a;将dex转化为jar文件3、jd-gui &#xff1a;查看jar文件&#xff0…

一些比特率值

比特率 比特率是指将数字声音由模拟格式转化成数字格式的采样率&#xff0c;采样率越高&#xff0c;还原后的音质就越好。 比特率值与现实音频对照&#xff1a; 16KBPS电话音质 24KBPS增加电话音质、短波广播、长波广播、欧洲制式中波广播40KBPS美国制式中波广播56KBPS话…

java asynccontext,超时后的JavaEE 6 AsyncContext行为

What is the exact behavior of AsyncContext after it times out? Does it still run and does it return response using getResponse()?解决方案Java Servlet 3.0 Maintenance Release on page 34 reads:A call to this method - ServletRequest.startAsync(ServletReques…

BZOJ1857:[SCOI2010]传送带——题解

http://www.lydsy.com/JudgeOnline/problem.php?id1857 Description 在一个2维平面上有两条传送带&#xff0c;每一条传送带可以看成是一条线段。两条传送带分别为线段AB和线段CD。lxhgww在AB上的移动速度为P&#xff0c;在CD上的移动速度为Q&#xff0c;在平面上的移动速度R。…

mnt/sdcard和storage/sdcard的区别

/mnt 目录&#xff0c;熟悉linux的人都清楚&#xff0c;linux默认挂载外部设备都会挂到这个目录下面去&#xff0c;如将sd卡挂载上去后&#xff0c;会生成一个/mnt/sdcard 目录。 storage/sdcard 目录&#xff0c;这是一个软链接&#xff08;相当于windows的文件夹的快捷方式&a…

kd树的原理

kd树就是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构&#xff0c;可以运用在k近邻法中&#xff0c;实现快速k近邻搜索。构造kd树相当于不断地用垂直于坐标轴的超平面将k维空间切分。    假设数据集\(T\)的大小是\(m*n\),即\(T{x_1,x_2,...x_m}\),其中…

应聘华为的朋友小心了,应聘华为的悲惨遭遇!

以下内容全部真实&#xff0c;为本人亲身经历。可随时进行当面对质。 本人女朋友&#xff0c;原本是西安一家企业里面的行政助理&#xff0c;工作比较稳定&#xff0c;收入不高&#xff0c;但也基本够她用了。 一天&#xff0c;我的一个同学&#xff08;华为员工&#xff09;说…

力软 java主从表保存_JAVA常用知识总结(十二)——数据库(二)

MySQL主从热备份工作原理简单的说&#xff1a;就是主服务器上执行过的sql语句会保存在binLog里面&#xff0c;别的从服务器把他同步过来&#xff0c;然后重复执行一遍&#xff0c;那么它们就能一直同步啦。整体上来说&#xff0c;复制有3个步骤&#xff1a;作为主服务器的Maste…

HttpClient和DefaultHttpClient

HttpClient 是接口&#xff0c;DefaultHttpClient是实现这个接口的子类 public interface HttpClient {/*** Obtains the parameters for this client.* These parameters will become defaults for all requests being* executed with this client, and for the parameters of…

Go语言版黑白棋

1、游戏说明2、无边框窗口实现3、背景图、最小化、关闭窗口4、界面其它设计5、黑白子提示闪烁效果6、落子7、初始化棋子、改变角色8、倒计时9、吃子10、棋子个数统计、胜负判断11、机器落子 转载于:https://www.cnblogs.com/tennysonsky/p/8442827.html

vue使用render渲染jsx

vue&jsx文档 vue实例属性 // App.ts import hBtn from ./components/hBtn import hUl from ./components/hUlexport default {data(){return {theme: "mdui-theme-pink",accent: "mdui-theme-accent-pink",users:[aoo, boo, coo]}},methods:{},render(…

java中的多线程有什么意义_Java多线程与并发面试题(小结)

1&#xff0c;什么是线程&#xff1f;线程是操作系统能够进行运算调度的最小单位&#xff0c;它被包含在进程之中&#xff0c;是进程中的实际运作单位。程序员可以通过它进行多处理器编程&#xff0c;你可以使用多线程对运算密集型任务提速。比如&#xff0c;如果一个线程完成一…