android AIDL服务,2021网易Android高级面试题总结

92.static final int TRANSACTION_getQuote = (android.os.IBinder.FIRST_CALL_TRANSACTION + 0);

93.}

94.public double getQuote(java.lang.String ticker) throws android.os.RemoteException;

95.}

对于所生成的类,请注意以下几点。

在 AIDL 文件中定义的接口在生成的代码中实现为接口 (也就是说,有一个名为IStockQuoteService的接口)。

名为Stub的 static final 抽象类扩展了 android.os.Binder并实现了 IStockQuoteService。请注意该类是一个抽象类。

名为 Proxy的内部类实现了 IStockQuoteService, 后者是Stub类的代理。

AIDL文件必须位于应该包含所生成文件的包中(在AIDL文件的包声明中指定)。

在服务类中实现AIDL接口

上边我们为股票报价服务定义了 AIDL 文件并生成了绑定文件。现在我们将提供该服务的实现。要实现服务的接口,需要编写一个类来扩展 android.app.Service 并实现 IStockQuoteService接口。我们将编写的类 命名为 StockQuoteService。为了将服务向客户端公开,StockQuoteService 需要提供onBind()方法 的实现,我们还需要将一些配置信息添加到 AndroidManifest.xml文件中。  下面给出 我们服务类得实现。

IStockQuoteService 服务实现。

package com.androidbook.stockquoteservice;

import android.app.Service;

import android.content.Intent;

import android.os.IBinder;

import android.os.RemoteException;

import android.util.Log;

public class StockQuoteService extends Service {

private static final String TAG = “StockQuoteService”;

public class StockQuoteServiceImpl extends IStockQuoteService.Stub {

@Override

public double getQuote(String ticker) throws Rem

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

浏览器打开:qq.cn.hn/FTe 免费领取

oteException {

Log.v(TAG, "getQuote() called for " + ticker);

return

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值