【附源码】基于环信鸿蒙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.聊天页面

补充说明

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

参考文档:

相关推荐
讯方洋哥1 小时前
HarmonyOS应用开发-样式复用多态
harmonyos
摘星编程1 小时前
CANN内存管理机制:从分配策略到性能优化
人工智能·华为·性能优化
天聚数行5 小时前
华为鸿蒙系统(HarmonyOS)调用天聚数行 API 教程
华为·php·harmonyos·tianapi·天聚数行
BlackWolfSky6 小时前
鸿蒙加解密
华为·harmonyos
融云6 小时前
融云 4 款 SDK 首批通过 GIIC 鸿蒙生态评测
华为·harmonyos
讯方洋哥6 小时前
HarmonyOS应用开发—页面路由
华为·harmonyos
鸿蒙开发工程师—阿辉7 小时前
HarmonyOS 5 高效使用命令:HDC 基本使用
华为·harmonyos
梧桐ty7 小时前
鸿蒙 + Flutter:构建万物互联时代的跨平台应用新范式
flutter·华为·harmonyos
m0_685535089 小时前
光机结构设计
华为·光学·光学设计·光学工程·镜头设计
梧桐ty9 小时前
鸿蒙 + Flutter:破解“多端适配”困局,打造万物互联时代的高效开发范式
flutter·华为·harmonyos