Android service 中的stub类是什么意思?

如题
2025-03-05 05:46:08
推荐回答(5个)
回答1:

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的代码就会比较干净,不会嵌入很多很难懂的与业务无关的代码

回答2:

(其1)巴迪(白俄斯1) 在首回合以2比3落,今次是自07/08年第1圈外出局後,首次取得洲格,中外援主要自克地及尼日利,但中未有球代表家上,中古巴迪曾是尼日利u20成,首回合在完前7分入替。至於首回合取得入球的前哥斯杜夫斯基及中史彭奴域,以往分代表其青年出。 巴迪上季成6霸,不在分得2和4出局,容方面,前雷巴甸尼及利域斯基代表白俄斯家上,中在巴西出生的雷巴甸尼上季攻入13球成神射手,惟未有在上仗落,利域斯基在首回合先。另外,曾被外借至弗堡的前迪洛夫,同曾白俄斯家出,上仗完前梅二度。 上一篇分析: 欧冠杯报料:希尔星堡 vs tns全网络下一篇分析: 没有了 赞助商 新鲜出炉 欧冠杯报料:华达 vs 巴迪 欧冠杯报料:希尔星堡 vs tns全网络 自由杯报料:塔库里 vs 科布雷洛 自由杯报料:丹奴比奥 vs 奥林比亚 欧冠杯报料:卡拉简迪 vs 利巴域 欧冠杯报料:基尔史莫纳 vs 斯利纳 欧冠杯报料:萨尔茨堡 vs 杜迪兰治 日乙报料:草津温泉 vs 町田zelvia 日乙报料:京都不死鸟 vs 爱媛fc 日乙报料:市原千叶 vs 甲府风林

回答3:

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

具体用到过程:
提供客户机应用程序桩类型激发时所需要的定义和其他CORBA供应商相关的信息。
1.程序激发请求时所需要的一套例程。
2.把一个对象类型的IDL操作定义映射到激发请求时所要调用的一套与编程语言相关的例程
3 STUB,STYLE要求客户应用程序连接进客户桩

回答4:

stub是aidl的具体实现。aidl安卓接口定义语言,主要是实现进程间通信,stub在服务端实现接口的功能,另外在客户端是proxy与之通信

回答5:

service的东西确实还是要花些时间去理解的