Android源码导读
更新时间: 2024/08/23 10:24:52
网易云信在线教育工程集成网易云信 SDK,展示组合了在线教育语音视频通话功能的应用场景。
源码导读
工程结构说明
源码主要分成四个 package :base、im、thirdparty 和 meeting。
- base:封装一些 UI 基类,工具类等。
- im:包含登录页面及登录、注册业务逻辑( activity / business / config 子包下)、基础 UI 组件( ui 子包下)、 会话页面相关组件( session 子包下)。
- meeting:在线教育相关的页面和业务逻辑。
下面具体介绍 meeting 包下的子包结构:
- activity:所有 Activity。
- adapter:聊天页面数据源适配器等。
- helper:聊天室成员缓存,控制消息发送,聊天室通知消息构造等帮助类。
- module:收发消息模块、自定义消息、网易云信在线教育 Demo Http Client(与云信 Demo 应用服务器通信)。
- viewholder:界面相关 ViewHolder。
重点类说明
- ChatRoomActivity:在线教育界面。封装了 ChatRoomFragment。包括聊天室的进入/离开的操作,监听聊天室在线状态和监听聊天室被踢出状态,。
- ChatRoomTabFragment:在线教育内 tab fragment 的基类。
- ChatRoomFragment:在线教育 Activity 包含的顶层 Fragment。包括加入/离开音视频频道的操作,音视频图像的显示与移除,监听音视频状态。 包括界面上方界面和下方的 viewpager。viewpager 包含3个 tab fragment,分别是:MessageTabFragment (讨论区 tab), OnlinePeopleTabFragment (在线成员 tab),ApplyForSpeechTabFragment (举手发言 tab,这个tab只在观众端显示)。
- MessageTabFragment:讨论区基类 fragment。内嵌 ChatRoomMessageFragment (讨论区 fragment)。。
- OnlinePeopleTabFragment:在线成员基类 fragment。内嵌 OnlinePeopleFragment (在线成员 fragment)
- ApplyForSpeechTabFragmet:举手发言基类 fragment。内嵌ApplyForSpeechFragment (举手发言 fragment)
- ChatRoomMessageFragment:讨论区fragment。包括消息的收发相关操作。
- OnlinePeopleFragment:聊天室在线人数 fragment。包括开启音视频的控制。
- ApplyForSpeechFragment:举手发言 fragment。包括成员举手,正在发言的相关操作
- ChatRoomMsgViewHolderFactory: 聊天室消息项展示ViewHolder工厂类。包括消息展示 ViewHolder 的注册操作。
- IdentifyActivity: 选择主持人或观众身份界面
- EnterRoomActivity: 主持人创建聊天室和音视频频道进入房间。观众搜索聊天室id进入房间。
流程说明
主播: 1、创建聊天室 2、创建在线教育房间 3、进入聊天室 4、进入在线教育房间 同时 创建白板房间并进入白板房间
观众: 1、进入聊天室 2、进入在线教育房间 同时 进入白板房间
此文档是否对你有帮助?