怎么来学习Sipdroid,如果说你不制定目标和战略就想啃下Sipdroid,那么我只能说你太强了。 Sipdroid目前呢,有24个包,140多个java文件,光弄明白里面每一个类是干哈的,都足够累死人了,下面跟大家分享一下我是怎么来学习Sipdroid. 首先学习Sipdroid,至少得明白Sipdroid是怎么玩的,实现的主要功能是什么,具体的流程操作是怎么执行的。 先整理下下面的问题: 一: Sipdroid的数据流程怎么发送的?参考文档:http://www.shouyanwang.org/thread-5-1-1.html 二: Sipdroid中采用的是什么协议? 这点非常的重要,因为Sipdroid采用的是RFC3261协议,大家看了RFC3261协议后,你就会明白,Sipdroid中对于Message的封装是如何完成,那么Message的封装和生成这块所涉及到得设计模式和代码,你基本就可以弄明白 参考文档: http://www.shouyanwang.org/thread-3-1-1.html 三: 分块来弄Sipdroid 首先Sipdroid的架构真是设计的是非常的人性化以及牛X,为什么呢,功能块是完全独立和分开的,高内聚低耦合,Sipdroid本身来说就像一座非常难以攻克的堡垒,但是咱们只要一块一块的攻,不久就发现整做城堡都被搞定了。 一般来说,应该这么做: 1.研究注册流程 参考文档:http://www.shouyanwang.org/thread-35-1-1.html 2.研究会话邀请流程 3.视频通话通话流程 (一二三大家研究个一周左右的时间或者更短绝对有时间分开进行单独的提炼出来) 4.整理Sipdroid的架构 5.提取有用信息,比如视频和声音的编解码库,协议的封装和设计模式等 好处多多。 转自 http://www.shouyanwang.org/thread-49-1-1.html