CSipSimple-trunk,这个下面有六个子目录
/home/jindegege/CSipSimple-trunk/ActionBarSherlock
/home/jindegege/CSipSimple-trunk/CSipSimple/home/jindegege/CSipSimple-trunk/CSipSimpleVideoPlugin
3、将第一个和第二个导入到eclipse
配置时ActionBarSherlock作为单独的lib,勾选
在主程序中加入ActionBarSherlock的引用
4、介绍下里面主要的几个类
com.csipsimple.ui SipHome.java 主界面,用TabHost管理打电话、通话记录和信息界面,菜单有账号、设置、帮助和断开。
com.csipsimple.utils PreferencesWrapper.java 配置信息管理,配置的默认值,获取和设置,恢复默认设置resetAllDefaultValues()(line 420)
com.csipsimple.api SipConfigManager.java包含很多公有的静态字符串常量,分别为:媒体、用户界面、网络、安全等配置信息保存在文件中的key值
com.csipsimple.utils Compatibility.java 编解码器默认优先级
目前编码器采用的是SILK/8000
resetCodecsSettings(PreferencesWrapperpreferencesWrapper)(line331)重置编解码器设置
com.csipsimple.widgets.Dialpad 拨号键盘R.layout.dialpad
通话中涉及的类:所在包com.csipsimple.ui.incall
InCallActivity主要界面R.layout.in_call_main
InCallControlsextends FrameLayout R.menu.in_call_controls_menu扬声器、静音、蓝牙、新增通话、媒体
InCallCardextends FrameLayout R.layout.in_call_card挂电话、呼叫保持、录音、通话时间、对方号码、对方sip地址
拨号的类:com.csipsimple.ui.dialpad.DialerFragment
从源码中我们可以看到项目还是比较大的,设计到许多协议、设计模式、跨进程的调用、NDK的开发、自定义组件、actionbar、fragment之间数据的传递等等。