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、进入在线教育房间 同时 进入白板房间

此文档是否对你有帮助?
有帮助
去反馈
  • 源码导读
  • 工程结构说明
  • 重点类说明
  • 流程说明