这门课解决什么问题
很多做 Android 开发的人,写过几个页面、调过几个接口,但一碰到“长连接、消息推送、实时聊天”这类需求就卡壳。HTTP 轮询太耗电,自己从零写一套 Socket 协议又容易在断线重连、消息顺序上踩坑。这门课聚焦的场景很明确:用 XMPP 协议搭一个能跑起来的 Android 聊天客户端。它不教你怎么写一个完整的 IM 平台,而是带你从零接 Openfire 服务器,用 asmack 库把登录、会话、消息收发这条主线打通。如果你手头正好有社交、客服、企业内部通讯类的项目要做,或者想补上长连接通信这块短板,这门课能直接帮你把架子搭起来。
适合什么基础,学完能独立做什么
这门课不适合完全没碰过 Android 的人。默认你已经能独立写界面、懂 Activity 生命周期、会基本的网络请求。在这个基础上,它补的是协议和长连接这一块。资料里包含了 Windows 和 Mac OS 两个环境下的 Openfire、Spark 安装演示,说明它对开发环境是做了区分的,不会让你在搭服务器这步卡死。学完之后,你应该能独立做这几件事:在本地或服务器上部署一套 Openfire 实例;用 asmack 连上服务器完成用户登录;建立会话并收发文本消息;理解 XMPP 的 stanza 结构,知道怎么扩展自定义消息体。简单说,就是给你一个能用的 IM 客户端雏形,后续要加头像、群聊、离线消息,你至少知道往哪个方向查资料。
建议怎么看,资料怎么配合练习
建议别一上来就跳到登录代码。先把前面几节简介和功能演示看完,对 XMPP 协议和最终要做成什么样有个整体印象,再看 Openfire 的安装。服务器搭好、能用 Spark 测通之后,再开始跟代码。资料里的工程结构简介那节值得反复看,因为 asmack 的依赖和工程配置在不同版本 Android Studio 下容易出问题,先搞清楚结构能省掉很多编译报错的时间。练习时建议这样配合:一边看登录窗口的实现,一边自己建一个空工程跟着敲,不要直接拿源码跑。自己写一遍布局、自己连一次服务器,遇到连接失败先看 Openfire 后台日志,再看客户端异常。这种长连接的调试习惯,比单纯把课里的代码跑通更重要。
本课程将让读者学习Openfire的设置方法,以及如何使用asmack开发基于XMPP的Android聊天客户端。
课程目录
* 01 Android聊天客户端简介/
* 01 XMPP简介.mp4 14:54
* 02 基于XMPP的Android聊天客户端功能演示.mp4 09:29
* 03 OpenFire和Spark的安装和使用(Windows版).mp4 13:57
* 04 OpenFire和Spark的安装和使用(Mac OS X版).mp4 03:05
* 05 ASpark工程结构简介.mp4 05:42
* 06 开发前的准备工作.mp4 11:50
* 02 用户登录/
* 01 登录功能实现(1):创建登录窗口.mp4 09:06
* 02 登录功能实现(2):登录界面布局.mp4 26:36
* 03 登录功能实现(3):连接聊天服务器.mp4 08:59
* 04 登录功能实现(4):存储登录信息.mp4 13:05
* 05 登录功能实现(5):登录聊天服务器.mp4 15:10
* 06 登录功能实现(6):存取登录信息.mp4 24:12
* 03 用户注册/
* 01 用户注册(1):准备工作.mp4 07:46
* 02 用户注册(2):校验用户输入的信息.mp4 08:29
* 03 用户注册功能实现(3):注册新用户.mp4 19:41
* 04 用户注册功能实现(4):可能的内存泄露.mp4 11:06
* 04 好友信息/
* 01 好友列表界面功能实现(1):添加好友【1】.mp4 07:35
* 02 好友列表界面功能实现(2):添加好友【2】.mp4 07:56
* 03 好友列表界面功能实现(3):显示好友信息【1】.mp4 10:32
* 04 好友列表界面功能实现(4):显示好友信息【2】.mp4 11:16
* 05 好友列表界面功能实现(5):显示好友信息【3】.mp4 07:08
* 05 点对点聊天/
* 01 聊天功能实现(1):显示聊天窗口.mp4 07:08
* 02 聊天功能实现(2):准备工作.mp4 06:35
* 03 聊天功能实现(3):发送文本聊天消息.mp4 08:26
* 04 聊天功能实现(4):接收聊天消息.mp4 07:58
* 05 点对点聊天功能实现(5):显示聊天记录的基础理论.mp4 07:28
* 06 点对点聊天功能实现(6):ChatListAdapter实现【1】.mp4 05:12
* 07 点对点聊天功能实现(7):ChatListAdapter实现【2】.mp4 12:53
* 08 点对点聊天功能实现(8):显示发送的聊天记录.mp4 05:19
* 09 点对点聊天功能实现(9):显示接收的聊天记录.mp4 05:32
* 10 点对点聊天功能实现(10):自动呼出聊天窗口【1】.mp4 15:06
* 11 点对点聊天功能实现(11):自动呼出聊天窗口【2】.mp4 04:03
* 06 表情/
* 01 表情功能实现(1):准备工作.mp4 05:03
* 02 表情功能实现(2):根据资源名获取资源ID.mp4 04:29
* 03 表情功能实现(3):实现FaceListAdapter【1】.mp4 05:32
* 04 表情功能实现(4):实现FaceListAdapter【2】.mp4 05:15
* 05 表情功能实现(5):实现FaceListAdapter【3】.mp4 03:35
* 06 表情功能实现(6):显示表情图像.mp4 05:07
* 07 表情功能实现(8):将TextView中的文本更新成表情图像.mp4 12:28
* 08 表情功能实现(7):在EditText中插入表情图像.mp4 21:30
* 07 群聊/
* 01 群聊功能实现(1):准备工作.mp4 06:01
* 02 群聊功能实现(2):编写ChatServiceListAdapter类.mp4 09:35
* 03 群聊功能实现(3):显示聊天服务.mp4 06:27
* 04 群聊功能实现(4):显示聊天室【1】.mp4 06:32
* 05 群聊功能实现(5):显示聊天室【2】.mp4 08:43
* 06 群聊功能实现(6):显示聊天室【3】.mp4 06:01
* 07 群聊功能实现(7):创建新的聊天室.mp4 15:49
* 08 群聊功能实现(8):刷新聊天室列表.mp4 05:53
* 09 群聊功能实现(9):发送和接收群聊消息.mp4 06:07
* 08 其他功能/
* 01 注销当前用户.mp4 05:20
* 02 删除好友.mp4 03:17






