【附源码】基于环信鸿蒙IM SDK实现一个聊天Demo

项目背景

本项目基于环信IM 鸿蒙SDK 打造的鸿蒙IM Demo,完全适配HarmonyOS NEXT系统,实现了发送消息,添加好友等基础功能。代码开源,功能简洁,如果您有类似开发需求可以参考。

源码地址:https://github.com/easemob/easemob-support/tree/dev/Harmony/Harmony_demo

运行本项目前,需登录环信console获取自己的APPKEY

效果演示

鸿蒙Demo

项目主要结构

复制代码
└─entry 
  ├─ libs // 本地包路径
  │  └─ chatsdk-1.2.1.har // 环信sdk
  └─ src
     └─ main
        └─ ets
           ├─ connon //公共组件
           │  ├─ AudioRecorder // 录音类(用于发送语音消息)
           │  ├─ CommTitleBar // 导航条封装组件
           │  ├─ FriendRequest // 首选项存取(用于保存好友请求的数据)
           │  ├─ FsUtil // 视频生成缩略图类(用于发送视频消息需要传缩略图使用)
           │  ├─ KVStoreManager // kv数据库类(用户保存用户信息,注意是用户头像和昵称)
           │  ├─ PlayAudio // 播放音频文件(用于播放语音消息)
           │  └─ Utils // 工具类
           ├─ model //model
           │  ├─ ConvListData //会话列表model
           │  └─ MessageListData //消息列表model
           ├─ page //页面
           │  ├─ ChatPage //聊天页面 
           │  ├─ ContactPage //联系人页面
           │  ├─ ConversationPage //会话页面
           │  ├─ FriendRequestPage //好友请求页面
           │  ├─ GroupPage //群组页面
           │  ├─ Index //登录页面页面
           │  ├─ MePage //个人中心页面
           │  └─ VideoPage //视频播放页面
           └─ view // view 

运行示例项

  • 1.在入口文件进行初始化,填写自己的appkey

  • 2.登录页面

  • 3.会话页面

  • 4.联系人页面

  • 5.个人页面

  • 6.聊天页面

补充说明

  • 发送语音消息时,需要使用真机,模拟器测试下来录音效果有问题
  • 发送视频消息时,需要使用真机,模拟器测试根据视频文件获取第一帧图片会报错
  • 联系人页面,先从本地获取数据,如果本地没有数据,就从服务器获取

参考文档:

相关推荐
诚实可靠王大锤21 小时前
react-native项目通过华为OBS预签名url实现前端直传
前端·react native·华为
程序员潘Sir1 天前
鸿蒙应用开发从入门到实战(五):ArkUI概述
harmonyos·鸿蒙
安卓开发者1 天前
鸿蒙Next ArkWeb网页交互管理:从基础到高级实战
华为·交互·harmonyos
爱笑的眼睛112 天前
HarmonyOS 应用开发:深入剖析声明式 UI 状态管理及其最佳实践
华为·harmonyos
SmartBrain2 天前
DeerFlow实践:华为LTC流程的评审智能体设计
华为·语言模型
猫林老师2 天前
HarmonyOS多媒体开发:音视频播放与录制全解析
华为·音视频·harmonyos
程序员潘Sir2 天前
鸿蒙应用开发从入门到实战(四):ArkTS 语言概述
harmonyos·鸿蒙
爱笑的眼睛112 天前
HarmonyOS 应用开发深度解析:基于 ArkTS 的现代化状态管理实践
华为·harmonyos
娅娅梨2 天前
HarmonyOS-ArkUI Web控件基础铺垫7-HTTP SSL认证图解 及 Charles抓包原理 及您为什么配置对了也抓不到数据
http·华为·ssl·harmonyos