Android2.3 Sip简单分析( 五 )


r对象采用对象(派生自)与对象通讯 。
ker对象在函数调用函数创建时对象和对象 , 并通过对象与对象建立异步通讯连接 。cker对象对于每类都可以建立一个对象和一个对象 。
acker对象在实例化时调用函数创建需要的数据连接对象和对象 。acker对象只支持创建一个对象和对象 。
整个事件通知框架包括三层: RIL消息层、框架事件处理层、应用层 。类图如下图 , 主要是请求应答模式和观察者模式的采用 。

Android2.3 Sip简单分析

文章插图
整个框架层以为中心 , 向上通过接口向应用层发送框架层产生的的事件 , 应用层通过接口提供对特定事件的监听 , 由接口的默认实现通过对象向应用层发送事件通知 。
向下框架层通过接口注册事件(主动通知事件)及发起AT命令请求 。框架层的事件处理对象包括和两个对象本身及其包含的、、r、类型的对象以及中的对象 。
这些对象都是对象 , 都能够向RIL层注册事件及发起AT命令请求 。也能够接收和处理RIL层产生的事件及AT命令的响应 。
和对象中的事件处理对象除了及对象外 , 其它都在中由基类实现 。
向RIL层注册的事件都登记添加到类中的类型的对象中或者设置为类中的类型的对象(根据设置函数的参数实例化具体类型的类型的对象) 。
RIL层产生的事件通过在类中登记的对象或设置的对象向框架层的事件处理对象发送事件 。
框架层的事件处理对象向RIL层发送的命令直接发送给RIL对象的相应函数 , 向RIL层发送的命令中都带有一个类型的应答消息 , RIL对象的相应函数把接收到的命令携带的参数封装进请求中发送给RIL的对象并后通过发送给rild进程 。
RIL的对象通过相同通道收到AT命令的响应后调用()函数把应答结果封装进命令携带的应答消息中发送回框架层的事件处理对象 。
对象和对象都实现了接口 , 在独立线程运行 。
官方提供的实例中有关sip的就一个() , 下面是对它的分析:
Android2.3 Sip简单分析

文章插图
一、基本概念
1、VOIP基于SIP协议 , SDK2.3包含一个SIP协议栈和框架API
2、VOIP位于.sip包中 , 最重要的为类 , 可开发基于SIP的VOIP应用 。使用时要包含..和..权限
3、如果在中显示仅支持VOIP API幸好的手机的话 , 发布时需要在.xml中加入和
4、要支持SIP API
(1)仅.3或更高版本平台支持
(2)不是所有设备都提供SIP支持 , 确保你的APP只安装在支持SIP的装置上
5、根据官方DEMO项目来扩展的概念
二、类及方法描述
1、一个基本的VOIP项目至少需要三个类(对SIP的基本设置身份验证)、(登录到SIP设备供应商 , 注册去处理来电 , 拨打电话 , 在通话过程中用户界面管理)、(监听传入的SIP电话 , 然后传递这些SIP电话给控制)
2、
A、.()-->此方法中首先判断是否支持SIP API , 若支持则new。构造函数中 , 实例化了一个(运用的公式:
b =.(.); //获取系统相应的服务
= .Stub.();)
上面这两句代码其实是使用了AIDL,就以为例 , 步骤如下

1、编写aidl文件:.aidl,并定义使用的接口(就等同于一样)
2、使用生成与之同名的JAVA文件 , .java,此类继承 .Stub并实现接口定义的方法或者在,并代码中加入
.stub= new .stub(){