com.netease.nim.uikit
├── api #UIKit 数据接口、定制化接口
├── business #业务相关,P2P,Team,ChatRoom
├── common #通用 ui 组件、utils
├── impl #数据接口、定制化接口的默认实现
└── support #第三方库封装
以层次划分的形式,看一下各个模块之间如何交互,各自的角色和定位
api 模块定义了 UIkit
的功能扩展接口、业务数据接口,提供了 UIkit
能力输出类 NimUIKit。APP 与 UIkit
交互只需要关注这个模块的接口。
impl 是 UIkit
一些抽象接口的默认实现,如会话定制接口、用户信息接口,当 APP 不设置任何定制化时,也能保证 UIKit
组件正常运转。
business 模块实现了 IM 相关的功能,例如联系人、单聊、群聊、聊天室等,能力以 Activity
或者 Fragment
形式展现。开发者可以通过 NimUIKit
提供的接口来启动 Activity
,以 xml 或者 java 代码的方式集成 Fragment
。
common 模块是一些通用 ui 组件、工具类等等,与业务无关。
support 是基于第三方库对业务的封装等等。