对Xabber源码解析的过程(1)工程目录分析

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源码解析的过程(1)工程目录分析)