# 网易云通信安卓 Demo 结构说明
网易云通信 Demo 工程基于网易云通信 SDK,演示了 SDK 聊天、群组、白板、实时音视频等功能接口的使用方法。Demo 工程依赖于 UIKit 工程,UIKit 实现了基本的消息收发,群组服务以及通讯录等功能,包含有完整的界面显示。开发者可以直接调用UIKit 中的接口,来进行功能开发,加快开发速度。用户可参照该 Demo,将网易云通信 SDK 接入自己的 APP。
## <span id="工程导入指引"> 工程导入指引</span>
- [Eclipse导入Demo](http://note.youdao.com/groupshare/?token=7565E66468734B5C89D114AFD7AAB493&gid=14302436 "target=_blank")
- [Eclipse导入UIKit](http://note.youdao.com/groupshare/?token=8F876090BE4E4D55B88A9ED04E8513F2&gid=14302436 "target=_blank")
- [Android Studio导入Demo](http://note.youdao.com/groupshare/?token=94E0368010384F5FB2D6E1E2C5855AA8&gid=14302436 "target=_blank")
- [Android Studio导入UIKit](http://note.youdao.com/groupshare/?token=9C35BEC0231C4E80B1DBF76FBDC54161&gid=14302436 "target=_blank")
- [UIKit集成示例](http://note.youdao.com/groupshare/?token=F0EF37ECED6541E58634EF0AFBB451CF&gid=14302436 "target=_blank")
- [Android视频教程源码及说明](http://note.youdao.com/groupshare/?token=72C14A95D15144259B5E5C01D583D639&gid=14302436 "target=_blank")
## <span id="下载编译 Demo"> 下载编译 Demo</span>
用户可在下载页面进行下载 Demo 源码工程。
总体环境需求:
- 我们的部分代码会针对不同系统版本做优化,在新的平台上使用新的 API。编译运行该 Demo 的 build tools最低版本要求为19。
- 由于 Demo 中使用到了部分 java7 以上的特性,因此 JDK 请使用 JDK7 或以上版本。
如果你使用的 IDE 是 Android Studio,可直接在 IDE 中打开 Demo 工程,然后将工程目录下 gradle.properties 文件按照注释修改,就可以直接编译运行。
- 如果你是第一次使用 Android Studio,导入时会从 gradle 网站下载 gradle 发布包,在国内下载可能会比较慢。这时你也可以通过 Android Studio 设置,不使用 gradle wrapper,改为使用 local gradle distribution。
如果你使用的 IDE 是 Eclipse,可直接在 IDE 中打开工程,做如下修改后,即可编译运行。
- 由于在 Eclipse 配置 libs 外的 jar 包比较麻烦,且不能配置 jni 库的位置,因此你需要把 libs-sdk 的所有文件夹移动到 libs 目录下(Demo 1.5版本及以后不需要)。
- 注释掉 AboutActivity 中 initViewData() 函数的函数体。这行使用 Android Studio 编译期添加 BuildConfig 字段的特性,在 Eclipse 上无法完成,直接注释掉即可。
- 如果你需要试验发送地理位置功能,请将 AndroidManifest 中的 {AMAP\_KEY} 替换为 demo/build.gradle 文件中 buildTypes 内对应的值。在 Android Studio 上会在编译器自动替换。
- 由于需要使用 JDK7 编译,旧版本的 ADT 插件仅支持到1.6,因此你需要使用最新的 ADT 版本(23.0及以上)才能正确编译 Demo。
- 将 UIKit 下 AndoridManifeset 文件下所有 Activity 声明复制到 APP 工程的 AndoridManifeset 文件中。
- 将 UIKit 下 assets 目录下所有资源复制到 APP工程的 assets 目录下。
>由于 google 已经将 Android Studio 作为官方开发工具,不再提供 ADT Bundle 下载,继续使用 Eclipse 开发会让你错过很多新特性,因此我们强烈建议你使用 Android Studio 开发基于网易云通信 SDK 的 APP,该 Demo的很多自动化特性也将只有 Android Studio 才能体验到。
## <span id="源码结构"> 源码结构</span>
由于 Demo 依赖于 UIKit 进行开发。分为 Demo 工程和 UIKit 工程。分别介绍这两个工程的源码结构。
- Demo日志地址:**/{外卡根目录}/{app\_package\_name}/log/**
### <span id="Demo源码结构"> Demo源码结构</span>
- Application 入口:NimApplication, 包含 SDK 的初始化,UIKit的初始化以及配置示例。
- 登录相关:login 包,包含一个比较典型的从第三方 APP 授权,然后登录到网易云通信服务器的例子。
- 主界面:main 包,包含最近联系人列表和好友/群组列表。该包作为各个功能的入口点,内含获取和管理最近联系人,获取群组列表,收发自定义通知等 SDK 接口使用示例。
- 消息相关:session 包,包含消息历史,聊天信息和搜索消息界面。消息的具体展示和收发都在 UIKit 中。可以使用 NimUIKit 直接展示和使用。也可以使用 SessionHelper 进行消息界面的定制。
- 群组相关:team 包,包含搜索群组和加入群组界面。包含创建高级群和讨论组的接口使用示例。
- 音视频通话相关:avchat 包,包含音视频通话界面。内含网络通话功能的 SDK 接口使用示例,以及一个完整的网络通话流程示例,开发者可直接参考开发音视频通话功能。
- 实时会话(白版):rts 包,包含白板教学的示例,支持实时音频、白板数据收发。
### <span id="UIKit源码结构"> UIKit源码结构</span>
- UIKit 调用接口:NimUIKit,包含构建好友和群的缓存,打开聊天窗口,打开联系人选择器,打开群资料。
- 基础组件相关:common 包, 包含 Activity、Fragment 和 Adapter的基类,一些自定义 UI 控件以及系统工具类。
- 消息相关:session包,包含单聊/群聊界面,内含收发消息,上传下载消息附件,使用高清语音,管理消息历史等 SDK 接口使用示例。该包还有消息展示,使用 emoji 表情,发送图片等示例代码,可供开发者参考。
- 群组相关:team 包,包含群组信息界面。内含展示群资料,修改群资料,展示群成员列表,管理群成员列表等 SDK 接口使用示例。
- 最近联系人相关:recent 包,包含最近联系人列表界面
- 通讯录相关:contact_selector 包和 contact 包,包含联系人选择器和通讯录。内含用户信息等 SDK 接口使用示例。
## <span id="修改Demo为己用"> 修改Demo为己用</span>
网易云通信 Demo 实现了一个 IM 软件的所有基础功能,开发者可直接以 Demo 为基础开发自己的 IM 软件,也可以稍作修改,用于前期流程验证,也可以作为 SDK 开发的参考和指南。
- 如果你已经在网易云通信官网上注册了 APP,你需要修改 AndroidManifest 中的 “com.netease.nim.appKey” 为你自己的 appkey,否则登录会失败。
## <span id="聊天界面代码说明"> 聊天界面代码说明</span>
### 结构说明
- BaseMessageActivity:聊天界面基类。封装了 MessageFragment 和 actionbar 相关操作。
- MessageFragment:聊天界面基类 Fragment。
- MessageListPanel:消息收发模块。包括收发消息的显示,消息列表相关操作。
- InputPanel:底部文本编辑,语音等模块。包括文本,语音的消息发送和更多中的 action 操作。
- ActionsPanel:更多操作模块。
- P2PMessageActivity:点对点聊天界面。
- TeamMessageActivity: 群聊界面。
- SessionCustomization:聊天界面定制化参数。
- MessageLoader:MessageListPanel 中的内部类,用于加载消息。
- MsgItemEventListener: MessageListPanel 中的内部类,用于重发消息,长按消息相关操作等。
## <span id="音视频代码说明"> 音视频代码说明</span>
### 结构说明
- AVChatActivity::音视频界面
- AVChatUI:音视频管理类, 音视频相关功能管理,内含音频管理,视频管理,视频绘制管理。还包括了网络连接状态等监听事件的处理,具体见开发手册。
- AVChatAudio:音频管理, 音频界面初始化和界面相关操作管理
- AVChatVideo:视频管理, 视频界面初始化和界面相关操作管理
- AVChatSurface:视频绘制管理
- AVChatNotification:音视频聊天通�
没有合适的资源?快使用搜索试试~ 我知道了~
android 视频通话实例源码
共2000个文件
png:797个
java:710个
xml:558个
5星 · 超过95%的资源 需积分: 12 21 下载量 72 浏览量
2018-12-31
15:06:09
上传
评论 4
收藏 53.27MB ZIP 举报
温馨提示
android 视频通话 实例源码,采用网易云信sdk开发,开发环境idea.
资源推荐
资源详情
资源评论
收起资源包目录
android 视频通话实例源码 (2000个子文件)
gradlew.bat 2KB
proguard.cfg 6KB
njrmf360.crt 5KB
index.dat 41KB
t_avchat_loading.gif 3KB
t_avchat_loading.gif 2KB
build.gradle 4KB
build.gradle 2KB
build.gradle 1KB
build.gradle 1KB
build.gradle 1009B
build.gradle 996B
build.gradle 719B
script.gradle 175B
settings.gradle 127B
gradlew 5KB
page.html 6KB
demo.iml 21KB
avchatkit.iml 12KB
uikit.iml 12KB
rtskit.iml 11KB
jrmfRpWalletlib.iml 10KB
faceunity.iml 10KB
nim.iml 880B
nim-lucene-5.5.0.jar 1.38MB
AMap2DMap_3.0.0_AMapSearch_3.6.1_AMapLocation_3.2.1_20161228.jar 1.05MB
nim-basesdk-5.5.0.jar 941KB
nim-basesdk-5.5.0.jar 941KB
nim-basesdk-5.5.0.jar 941KB
JrmfRpWallet-2.2.0.jar 690KB
MiPush_SDK_Client_3_6_2.jar 667KB
nrtc-sdk.jar 653KB
nrtc-sdk.jar 653KB
okhttp-3.6.0.jar 344KB
alipaySingle-20170510.jar 259KB
fastjson-1.1.34.android.jar 255KB
fastjson-1.1.34.android.jar 255KB
gson-2.2.4.jar 186KB
nim-avchat-5.5.0.jar 126KB
nim-avchat-5.5.0.jar 126KB
nim-chatroom-5.5.0.jar 115KB
nim-rts-5.5.0.jar 112KB
nim-rts-5.5.0.jar 112KB
java-json.jar 83KB
okio-1.11.0.jar 78KB
nim-push-5.5.0.jar 55KB
gradle-wrapper.jar 49KB
nama.jar 7KB
SuperSwipeRefreshLayout.java 55KB
AdvancedTeamInfoActivity.java 54KB
MessageListPanelEx.java 48KB
BaseQuickAdapter.java 44KB
NetworkUtil.java 31KB
NetworkUtil.java 31KB
TeamAVChatActivity.java 31KB
BaseFetchLoadAdapter.java 31KB
BaseFetchLoadAdapter.java 31KB
SessionHelper.java 30KB
AVChatVideoUI.java 29KB
InputPanel.java 28KB
OnlinePeopleFragment.java 27KB
AVChatActivity.java 26KB
RTSActivity.java 26KB
RecentContactsFragment.java 25KB
UserProfileActivity.java 25KB
NormalTeamInfoActivity.java 24KB
PinYin.java 24KB
CaptureVideoActivity.java 23KB
BaseZoomableImageView.java 23KB
SettingsActivity.java 23KB
NimUIKitImpl.java 22KB
PagerSlidingTabStrip.java 21KB
ContactSelectActivity.java 21KB
AdvancedTeamMemberInfoActivity.java 21KB
LoginActivity.java 21KB
NimUIKit.java 20KB
WatchMessagePictureActivity.java 20KB
WatchVideoActivity.java 19KB
AVChatController.java 19KB
ChatRoomMsgListPanel.java 18KB
SystemMessageActivity.java 17KB
OnlineStateEventManager.java 16KB
ImageUtil.java 16KB
AVChatAudioUI.java 15KB
ContactsFragment.java 15KB
BaseViewHolder.java 15KB
BaseViewHolder.java 15KB
FaceULayout.java 15KB
PickerAlbumPreviewActivity.java 15KB
MsgViewHolderBase.java 15KB
MessageFragment.java 14KB
MultiSelectDialog.java 14KB
DoodleView.java 14KB
PreviewImageFromLocalActivity.java 13KB
EmoticonView.java 13KB
DropCover.java 13KB
UserProfileEditItemActivity.java 13KB
ChatRoomMsgViewHolderBase.java 13KB
FaceU.java 13KB
NavigationAmapActivity.java 12KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
- 周维易2021-04-26比较有用,可以跑起来
yzhg2012
- 粉丝: 14
- 资源: 46
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功