Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >微信聊天项目

微信聊天项目

原创
作者头像
大发明家
发布于 2021-12-18 03:36:55
发布于 2021-12-18 03:36:55
2.1K0
举报
文章被收录于专栏:技术博客文章技术博客文章

效果图

登录/会话界面/通讯录/聊天界面/自定义表情/更多界面

群聊详情/好友详情/添加朋友/发送位置

深色模式/音视频通话界面

已有功能

  • 登录注册,退出
  • 更改用户昵称,头像
  • 添加好友,群
  • 发送消息:支持文本,图片,视频,文件,Emoji,大表情,位置,语音
  • 支持单聊,群聊音视频通话
  • 群聊功能:创建群聊,解散群聊,更改群聊资料,设置禁言,设置管理员,邀请/移除成员,设置群名片
  • 消息离线推送:目前集成了小米推送
  • 转发消息:因为SDK不支持,目前只能转发文本消息
  • 引用消息:因为SDK不支持,目前只能引用文本消息
  • 全局搜索:因为SDK不知道,目前只能本地搜索我添加的好友,添加的群聊
  • 二维码:显示我的,好友,群聊二维码,并支持扫描二维码
  • 其他聊天功能:会话置顶,会话免打扰(因为SDK不支持,单聊离线消息无效),标记未读,设置聊天界面背景
  • 统计服务:集成了Umeng,支持总用户,活跃,崩溃统计
  • 其他功能:文件预览,深色模式

已经实现的功能

  • 重构音视频通话封装:目前封装用的官方Demo提供的代码,个人觉得他们封装的不是很好,期望封装后,能实现支持关闭通话界面:类似微信那样,同时通话中邀请人加入,在群里界面能主动加入等。
  • 聊天界面表情和键盘切换会有跳动,可以参考这个两个开源项目(好像没有这问题):SmartKeyboardManager,MyEmjkeyBoard。
  • 预览当前位置媒体文件,其他位置视频媒体会播放。
  • 重写图片选择框架,主要是重构代码,和布局,让功能更完善,界面更美观,扩展性更强,期望最后能单独开源。
  • 重构对话框功能,主要是重构代码,和布局,让功能更完善,界面更美观,扩展性更强,期望最后能单独开源。
  • 重构选择文件功能,主要是重构代码,和布局,让功能更完善,界面更美观,扩展性更强,期望最后能单独开源。
  • 重构群聊天界面,和我不相关的音视频通话消息,消息为加群那样的简单提示。
  • 重构项目,将大部分功能更改为更适合Jetpack规范的实现。
  • 内测泄露和性能优化:目前项目还有些地方有内存泄露,部分功能写法性能也不是很好。
  • 禁言后不能在转发消息到该会话。
  • 应用后台,如果应用被系统杀死,再返回,直接调用腾讯SDK会报错未登陆,需要腾讯SDK,但如果每次调用前都检查是否登录,会比较复杂,目前还没找到好的解决方法。
  • 如果是点击音视频通话通知进入启动界面,不要显示等待时间。

还未实现的功能

  • 转发消息时能预览消息,类似微信,QQ转发消息效果。
  • 播放语音消息时,实现类型微信,钉钉那样靠近耳朵时切换听筒播放。
  • 实现能从系统分享各种型类型消息到我们应用,类型微信,QQ等。
  • 集成其他厂商离线推送通话。
  • 支持转账,发送红包。
  • 实现类型微信公众号基础功能:例如:后台可以设置某个账号为公众号,然后可以配置菜单,并能自动做出一些回复。

期望最终效果

  • 除了第三方SDK无法实现,或者不好实现的功能外,其他功能都能使用,并且能稳定,达到可以上线运营的状态。
  • 后面还有用融云即时通讯服务/WebSocket单独实现两个版本。

用途

  • 学习,毕业设计,面试项目
  • 基于该项目上线运营,或者做外包,或者内部私有聊天(这个版本音视使用第三方SDK,无法使用部署,后面WebSocket实现的版本才能);交互请勿直接商用。

开发环境

Android客户端:Android Studio 4.1 + Kotlin 1.4 + Gradle 6.5

Spring Boot服务端:IntelliJ IDEA 2020 + Java 15 + Gradle 6.7

服务端数据库MySQL,开发环境8.0 + 线上环境5.7

项目开发环境:macOS 11.2 + Java 15

核心知识点

Kotlin,Jetpack,MVVM,Flow,MVC,矢量图,Lifecycle,动态权限,Emoji,EventBus,高德地图,视频播放,Hilt依赖注入,内存泄漏检测和修复,腾讯即时通讯,腾讯实时音视频

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
暂无评论
推荐阅读
编辑精选文章
换一批
微信圣诞前的重磅更新,网友似乎后悔了
抓住了2018年的尾巴微信迎来一次重大改版,这次不是内测版,而是大版本更新,直接从 6.7.4 飞到 7.0.0。
IT小侠公社
2019/06/12
7440
微信圣诞前的重磅更新,网友似乎后悔了
使用腾讯云IM搭建应用内类微信社交聊天模块实践
社交模块是目前主流应用程序最常见的功能之一。有了社交模块,用户在您的应用内,可以自由的交流互动、添加好友、关注其他用户……这可在很大程度上,促进您应用程序的活跃度,吸引用户留存、获取更多新用户,拓展应用的业务范围。 例如: 交友软件- 核心是社交聊天模块,用于匹配对话及用户关系链维护,让更多的用户相聚、相识; 教育软件- 用社交模块打通 "学校-教师-家长" 循环,促进家校互动,形成家校社三合力,更大程度发挥教育影响作用,保证教育的一致性与连贯性; 医疗软件- 聊天及社群模块可以降低医患间交流成本,提升问
腾讯云音视频
2023/02/27
3.3K0
使用腾讯云IM搭建应用内类微信社交聊天模块实践
想要按头安利,就用QQ这个新功能!
鹅粉们是不是都有过下面这样的经历? 激动安利好友心水的歌,后面聊起来时,对方却完全没有听过的亚子!!! 假如能按着好友的头,喂ta吃自己的安利该多好!!! 嘿嘿!本Q懂鹅粉们的小心思,在这次更新的8.1.3版本里,出了个按头安利的“大杀器”!!! 安利强推大法:“一起听歌”模式 在QQ聊天界面点击右上角设置按钮, 进入聊天设置/群聊资料页面, 开启“一起听歌”模式~ ▼ 在群聊中点击聊天输入框“+”号, 找到耳机图标,也可一键开启~ ▼ 场景一 真正的友情,哪怕山重水远, 也会在Q
腾讯大讲堂
2019/08/29
8390
想要按头安利,就用QQ这个新功能!
Vue实现的聊天系统
Vue、Vuex、Element-UI、React、axios、sass、ES6、WebSocket、Node等。
码农编程进阶笔记
2021/07/20
1.7K0
Vue实现的聊天系统
开源分享-高仿微信
该项目目前已经开源,作者也在对未完成的功能进行开发,后续包括视频消息,地理位置,点赞回复,聊天模块抽离等。
程序员阿杜
2021/03/22
2.5K0
微信团队分享:微信每日亿次实时音视频聊天背后的技术解密
2012 年 7 月,微信 4.2 版本首次加入了实时音视频聊天功能,如今已发展了 5 年,在面对亿级微信用户复杂多变的网络和设备环境,微信多媒体团队在每个技术细节上不断地深耕细作,为微信用户提供了高质量的视频通话。
JackJiang
2018/08/29
6K1
社交临场感 | QQ音视频产品体验设计
‍‍ 面对国内外竞品崛起,QQ音视频如何寻求突破,制定对用户有价值的策略,赢得数据增长和用户口碑。 SITUATION ANALYSIS 现状分析 要突破用户增长停滞的困境,需从全局角度思考,对问题所处的系统进行分析与洞察,找出拓展应用场景的机会点,提供技术或价值创新的功能与服务。 SWOT分析 首先,针对QQ音视频所处行业的竞争态势进行全面、系统的分析,包括内部优劣势,以及外部机会和威胁,以此制定相应的策略与计划。 用户洞察 关注竞争对手,更要研究用户,通过用户调研洞察用户需求,找出QQ音视频应
腾讯ISUX
2021/05/11
1.3K0
IM即时通信探索(一)-- IM的即时通信初见
大家好,我是黑眼圈云豆。这个系列的文章主要是针对IM功能进行探索,逐步实现一个相对功能较为完整的IM项目。
黑眼圈云豆
2020/07/06
2.8K0
新版微信大变样,网友:又要重新教爸妈
几个出现在新功能的关键词「时刻视频」「看一看」「强提醒」,让我们一起来看看有哪些变化?
钱塘数据
2018/12/29
7720
新版微信大变样,网友:又要重新教爸妈
视频社交APP开发功能特点优势分析
人口红利在给移动互联网带来增长机遇的同时,还推动着智能移动终端的普及,以及带动国内移动社交应用覆盖设备规模的逐渐扩大,目前预计覆盖了10.41亿部终端,包括陌生人社交和熟人社交,其中陌生人社交用户规模达3.5亿。 视频社交APP开发能为用户带来什么 视频社交APP开发是一种更快速的即时通讯工具,具有零资费、跨平台沟通、显示实时输入状态等功能,与传统的短信沟通方式相比,更灵活、智能,且节省资费,它的优势是: 1、基础社交,社交最基本的需求就是可以发语音、发图片、发文字。目前的一般通讯工具APP都可以实现该功能。 2、私信,典型案例是微信,在微信刚开始只是作为一个基础社交的文字,后面发展到语音,文件。现在能够实现实时视频通话。 3、实时客服,这个主要应用在特殊行业上,如医疗、教育、证券开户等行业,通过移动端的客服服务,及时解决客户的需要。 4、群聊,如蜻蜓FM,他为每个音乐电台创建了一个聊天频道,大家在这个频道里面进行聊天。 视频社交APP开发特点 1、陌生交友:从多个市场的下载量数据分析,很多视频社交APP开发公司热衷于进入到陌生交友领域,尤其是在垂直细分的陌生交友领域,该类应用存在着生存空间。 2、社会关系链整合:社交APP能将多种关系整合,并且展现为简捷的界面,类似于微信APP对多种社会化关系进行了深度整合。 3、熟人圈:移动互联网的发展给熟人关系领域搭建沟通桥梁,从目前该领域的情况来看,无疑腾讯、新浪遥遥领先,而腾讯通过移动QQ、微信、朋友网等应用,在关系深度上更胜一筹。 视频社交APP开发功能 1、聊天:支持发送语音短信、视频、图片(包括表情)和文字,是一种聊天软件,支持多人群聊(最高40人,100人和200人的群聊正在内测)。 2、添加好友:搜号码,然后输入想搜索的号码,然后点击查找即可 3、实时对讲机功能:用户可以通过语音聊天室和一群人语音对讲,但与在群里发语音不同的是,这个聊天室的消息几乎是实时的,并且不会留下任何记录,在手机屏幕关闭的情况下也仍可进行实时聊天。 4、语音提醒:用户可以通过语音告诉Ta提醒打电话或是查看邮件。 5、私信助手:开启后可接收来自QQ微博的私信,收到私信后可直接回复。 6、查看附近的人:微信将会根据您的地理位置找到在用户附近同样开启本功能的人。 7、语音记事本:可以进行语音速记,还支持视频、图片、文字记事。 8、账号保护:微信与手机号进行绑定,该绑定过程需要四步:1.在“我”的栏目里进入“个人信息”,点击“我的帐号”;2.在“手机号”一栏输入手机号码;
用户4551288
2019/04/17
1.6K0
视频社交APP开发功能特点优势分析
5大功能解锁神级办公效率,企业微信让你在老板前直起腰板
但很多时候,有些办公场景下需要的功能太多元,并且得不到很好地解决,比如:群聊只有500人、传送文件大小有限制……
曾响铃
2019/05/10
7370
5大功能解锁神级办公效率,企业微信让你在老板前直起腰板
QQ 大更新!语音进度条来了,还有这 5 个新变化
来源 / 知晓程序(ID:zxcx0101) 作者 / 刘凌歌 4月,QQ迎来了8.0.0 for iOS的更新。 在其App Store的更新描述中可以看到,本次更新不仅升级了QQ的界面、优化了多人语音和转发消息的体验,语音消息还支持暂停和进度拖动了。 我们第一时间对新版本QQ进行了一番体验,具体表现如何,就让我们接下来一起看看吧! 界面和图标升级 1.登录界面 在升级到8.0.0 for iOS版本后,你可以明显看到登录界面中,输入框由之前的横线变为了圆角。当你填写完毕账号密码后,输入框下
腾讯大讲堂
2019/05/16
1.7K0
QQ 大更新!语音进度条来了,还有这 5 个新变化
微信放大招!再也不用担心员工离职流失企业资源了
早上 9 点,微信突然宣布重磅消息:企业微信发布内测申请,将和微信正式打通!简短的消息推送,包含了满满的信息量: 企业微信用户和微信用户可以互相添加为好友,并支持单聊; 企业使用企业微信提供的 API 接口,对接自建 CRM 应用,可以管理微信客户关系。 这种互通意味着什么? 消息互通,让微信和企业微信无缝连接,用户可以根据不同的场景(工作和生活),清晰界定和无缝切换身份,同时,企业可以实现对客户的完善管理,提供规范、持续的服务。 企业终于可以真正把客户资料系统管理起来了,服务得到保障和延续。 公司员工终于
知晓君
2018/07/04
9920
99%的人都不知道微信这11个小技巧,每个都让人眼前一亮!第8个太赞了!
也不知道是微信bug还是有意为之,留了一份反悔药:一方删除,对方是不会收到提醒的,除非他不凑巧的给你发了消息。
Python数据科学
2019/12/03
1.3K0
腾讯云音视频Web体验馆升级,音视频全场景能力免费体验试用
为了帮助开发者最直观易懂地理解音视频的各种场景及产品,更好地完成产品选型,提升开发效率,腾讯云音视频在发布1V1音视频通话场景体验馆后,又一次全面升级,推出包含1V1音视频通话、多人音视频会议、会话聊天、美颜特效、视频播放五大场景的音视频全场景Web体验馆。 除扩充场景外,体验馆还追加了详细的体验步骤指引、接入文档入口以及免费测试资源领取,您仅需30分钟就可在体验后极速打造出自己的同款音视频场景应用。 腾讯云音视频Web体验馆地址(建议PC端体验):https://web.sdk.qcloud.com/co
腾讯云音视频
2023/02/13
4.5K0
腾讯云音视频Web体验馆升级,音视频全场景能力免费体验试用
开源分享-高仿微信
该项目目前已经开源,作者也在对未完成的功能进行开发,后续包括视频消息,地理位置,点赞回复,聊天模块抽离等。
程序员阿杜
2021/03/26
1.5K0
使用腾讯云IM搭建应用内类微信社交聊天模块实践
社交模块是目前主流应用程序最常见的功能之一。有了社交模块,用户在您的应用内,可以自由的交流互动,并添加好友,关注其他用户等等。
腾讯云音视频
2023/02/24
8.2K1
你问我答 | 即时通信IM 第五季
即时通信IM 你问我答 第5季 本期共解答15个问题 Q1:即时通信 IM全球加速点分布是怎样的? 即时通信 IM全球接入加速点分布如下: 中国:华南、华北、华东、香港、台湾等; 其他国家(或地区):亚洲:新加坡、印度尼西亚、阿联酋、泰国、马来西亚、日本、越南、印度、韩国、菲律宾等; 欧洲:英国、荷兰、法国、德国、意大利、挪威、法国、俄罗斯、西班牙等; 南美洲:巴西等; 北美洲:美国、加拿大、墨西哥等; 大洋洲:澳大利亚等; 非洲:南非、尼日利亚等。 Q2:即时通信 IM支持哪些群聊类型? 即时通
腾讯云音视频
2022/07/12
3.3K0
你问我答 | 即时通信IM 第五季
可能是效果最像的微信复刻项目
微信已经成为大家平常生活中离不开的一个工具,今天TJ君就给大家分享一个可能是效果最像的微信复刻项目
程序猿DD
2021/12/15
7190
可能是效果最像的微信复刻项目
QQ现状深度剖析:你还认为QQ已经被微信打败了吗?
移动端的时代里,微信占据了社交领域的半壁江山,不得不让人想起曾经PC时代里的王者“QQ”,微信的爆发和QQ的停滞让很多人认为微信已经彻底将QQ打败,QQ已经不再适合这个时代了。
JackJiang
2018/09/11
1.9K0
推荐阅读
相关推荐
微信圣诞前的重磅更新,网友似乎后悔了
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档