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

ops/2024/12/29 17:16:35/

项目背景

本项目基于环信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.聊天页面
    在这里插入图片描述

补充说明

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

参考文档:

  • 注册环信IM:https://console.easemob.com/user/register

  • 环信鸿蒙SDK下载:https://www.easemob.com/download/im


http://www.ppmy.cn/ops/139584.html

相关文章

Word2vec、词向量是什么? |Gensim中word2vec模型的参数定义

前言: 最近在忙毕设,要学习一些AI的技术。很多资料看来看去,感觉只是在大脑皮层表面略过了一下,遂还是决定采用老方法,写博客!!!对了,我也只是一个萌新,博客的…

网络原理之 UDP 协议

目录 1. UDP 协议报文格式 2. UDP 的特点 (1) 无连接 (2) 不可靠 (3) 面向数据报 (4) 全双工 3. 基于 UDP 的应用层协议 前文是:UDP 的使用 首先了解一下基础知识: 1. UDP 协议报文格式 传输层最重要的协议有两个,一个是 TCP&#x…

vscode通过ssh连接虚拟机进行开发

虚拟机自带的vscode很卡而且画质感觉不行,所以用这种方法解决 1.VSCODE安装扩展Tabnine(AI代码补全),Remote Development 2.虚拟机终端ifconfig查看本机ip 192.168.43.197 开启ubuntu的SSH服务 sudo apt-get install openssh-server 配置vscode的ssh …

登Nature子刊!华中师范大学提出DigFrag,用AI精准分割分子片段,并生成44个药物/农药分子

过去几十年,基于片段的药物发现 (FBDD) 通过识别与靶标蛋白有微弱相互作用的小分子片段,并优化这些片段的结构信息,可以开发出活性更高的先导化合物,在新药研发中发挥了重要作用。 尽管 FBDD 在药物发现和开发领域扮演着关键角色…

springai结合ollama

目录 ollama 介绍 使用 下载: 安装: 点击这个玩意next就行了。 运行 spring ai使用ollama调用本地部署的大模型 加依赖 配置yml 写代码 ollama 介绍 官网:Ollama Ollama是一个用于部署和运行各种开源大模型的工具; …

热点数据失效 详解

热点数据失效详解 热点数据失效是指在分布式系统中,缓存中某些被频繁访问的热点数据在某个时间点同时失效,导致大量请求直接涌向数据库或后端服务,造成系统瞬间高负载甚至宕机。热点数据失效问题常见于高并发的业务场景(如秒杀、…

挑战用React封装100个组件【008】

项目地址 https://github.com/hismeyy/react-component-100 组件描述 这次的组件有点简单,这个卡片是可以控制视频播放的,用于展示一些比较小的视频动画。 样式展示 代码展示 VideoCard.tsx import { useRef, useState } from react import ./Video…

洛谷P4387 【深基15.习9】验证栈序列(c嘎嘎)

题目链接:P4387 【深基15.习9】验证栈序列 - 洛谷 | 计算机科学教育新生态 题目难度:普及/提高 解题思路:首先这道题很明显是要用栈来解决的(题目都已经明示了),我们得利用好栈的后进先出的特点来模拟这道…