对Xabber源码解析的过程(1)工程目录分析
2016-04-21 20:27
489 查看
1.
想要看懂Xabber的源码,要首先了解的知识
JAVA–IM–XMPP基础知识–Smack包
2.
下载好Xabber之后放在AndroidStudio里面,配置gradle直到能运行,下载的时候可能会缺少MemorizingTrustManager和Otr4j这两个文件夹,单独下载即可
目录结构:Xabber-android工程下面代码目录xabber其中有三个依赖项目,包括emojicon,MemorizingTrustManager,otr4j,主要代码在src/main/java目录下
3.
java目录下有两个包,一个是xmpp一个是android
xmpp是对xmpp一些特有属性的封装,例如JID IQ Presence URI Message等供android包下面的类来调用
所以主要代码卸载android包下面
4.
android包下面包括/data,/receiver,/service,/ui,/utils
一些顾名思义能看出来的receiver,service,ui,是android常见的组件,utils下面包含三个类看上去很简单的样子,先不分析它
5.
然后就剩下一个/data了,点开吓一跳,又是好多包,看上去看麻烦的样子,挨个儿点了一边都看不大懂,
6.
看了Smack和XMPP的基础知识之后,再反回来看,看到了很多熟悉的字样,
–account猜想是Smack里面的accountManager对账号管理的工具吧,
–connection猜想是Smack里面的XMPPConnection吧
–entity猜不出来
–extension目测是Smack-extension这个包下面的,对XMPP的一些扩展试用
–intent 看不懂看上去也不像android的intent
–message估计是Smack里面的Message
–notification应该是android通知
–roster猜想是Smack里面的Roster
7.
所以关于Smack的就锁定在以下几个目录里/account,/connection,/extension,/message,/roster
根据学习Smack的时候的知识来决定应该从哪个开始分析
决定从conenction分析,因为要想完成即使通信,首先第一步是建立一个连接
想要看懂Xabber的源码,要首先了解的知识
JAVA–IM–XMPP基础知识–Smack包
2.
下载好Xabber之后放在AndroidStudio里面,配置gradle直到能运行,下载的时候可能会缺少MemorizingTrustManager和Otr4j这两个文件夹,单独下载即可
目录结构:Xabber-android工程下面代码目录xabber其中有三个依赖项目,包括emojicon,MemorizingTrustManager,otr4j,主要代码在src/main/java目录下
3.
java目录下有两个包,一个是xmpp一个是android
xmpp是对xmpp一些特有属性的封装,例如JID IQ Presence URI Message等供android包下面的类来调用
所以主要代码卸载android包下面
4.
android包下面包括/data,/receiver,/service,/ui,/utils
一些顾名思义能看出来的receiver,service,ui,是android常见的组件,utils下面包含三个类看上去很简单的样子,先不分析它
5.
然后就剩下一个/data了,点开吓一跳,又是好多包,看上去看麻烦的样子,挨个儿点了一边都看不大懂,
6.
看了Smack和XMPP的基础知识之后,再反回来看,看到了很多熟悉的字样,
–account猜想是Smack里面的accountManager对账号管理的工具吧,
–connection猜想是Smack里面的XMPPConnection吧
–entity猜不出来
–extension目测是Smack-extension这个包下面的,对XMPP的一些扩展试用
–intent 看不懂看上去也不像android的intent
–message估计是Smack里面的Message
–notification应该是android通知
–roster猜想是Smack里面的Roster
7.
所以关于Smack的就锁定在以下几个目录里/account,/connection,/extension,/message,/roster
根据学习Smack的时候的知识来决定应该从哪个开始分析
决定从conenction分析,因为要想完成即使通信,首先第一步是建立一个连接
相关文章推荐
- python 列表
- 从 Java 应用程序动态生成 PDF 文件
- 开启Mac系统原生读写NTFS分区功能
- 在静态类中定义一个泛型方法查找数组元素
- 发布自己的网站--------IIS
- 第九周周记
- 使用SurFaceView实现视频播放
- Fibonacci Again
- kali 2.0 Nessus扫描工具安装
- oracle中dblink创建
- socket理解
- R语言︱异常值检验、离群点分析、异常值处理
- 关于synchronized 和 线程间通信
- HTML
- EXT2 文件系统
- mnt/sdcard和storage/sdcard的区别
- POJ3691.DNA repair (Trie图 && DP)
- js基本语法--查找(二分查找)
- Ubuntu安装教程(VirtualBox虚拟机)ubuntu-12.04.5-alternate-i386.iso
- Asp.Net ORM