树莓派提升计划 Android应用用MiniChat基本介绍总体架构

wuchangjian2021-11-14 19:40:39编程学习

2021SC@SDUSC

基本介绍

MiniChat是一款聊天软件,你可以通过此软件进行聊天, 本应用集成了融云模块,从而实现集成通讯。 主要功能是账号注册,登录,好友添加,好友间发送文字、文件信息。

总体架构

1.组成及功能 组成:

应用分为三个主要部分,客户端,即时通讯服务端,app 服务器端。 功能:客户端负责前端主要提供用户的功能使用。即时通讯服务端负责应用的通讯服务,负责消息处理,消息的转发。app服务器端负责个人信息维护,好友关系的维护。

2.流程

使用融云sdk体系

  1. App 需要同 App Server 之间进行信息交互,如:获取用户数据、用户好友关系,融云不维护 App 的用户系统和好友关系;
  2. App Server 只需要和 RongCloud Server 进行身份授权,不需要提交详细用户资料及好友关系;
  3. 开发者可根据自身的业务情况选择在应用加载或需要使用 IM 服务时进行授权;
  4. App 发送消息需要经过 RongCloud Server 转发给目标终端设备,因为目标用户的离线、通知等逻辑决定了消息必须经由服务器进行一次转发。

主要任务

我们需要完成四个部分的工作。

第一,我们需要设计app,app能够通过网络访问app server,从而获取个人信息,好友关系,并且将信 息存储到本地;第二,我们需要设计一个服务器,能够接受app的访问,连接数据库,返回用户所需信 息;第三,我们需要集成融云客户端,从而实现通信;第四,设计数据库供app服务器进行访问。

各结构模块组成 app端

网络信息处理+本地数据库存储+UI+前端时间处理 app server端:servlet设计+数据库访问设计+数据过滤、整理 IM 端:app端集成+聊天信息处理 数据库端:设计关系模式+确定逻辑与物理结构+账户设置

开发IDE与相关库

1.IDE app: Android Studio app server: Intellij IDEA 融云:Android Studio 数据库:mysql workbench 2.相关库 app:room(本地数据库sqlite工具库)、jetback(Android 官方库)、okhttp(http协议网络连接工 具)、glide(图片加载、缓冲库)、GSON(json处理工具) app server:tomcat(服务器)、GSON、mysql-connector-J 数据库:mysql IM:MKit、IMLib 

融云SDK体系

融云针对 即时通信(IM) 和 实时音视频(RTC) 两类经典业务需求,提供核心能力库、UI 库和若干插件,满足不同场景需求。

针对 IM + RTC 场景,融云还推出了场景化 SDK,结合融云技术优势,全能力赋能语聊房、视频直播等一系列热门应用场景。

即时通讯(IM)客户端 SDK

IMLib 与 IMKit 支持单聊、群聊、聊天室、系统通知等通信能力,安全可靠、全球互通。

  • IMLib SDK:包含单聊、群组、聊天室,可自定义消息的即时通信核心能力库
  • IMKit SDK:在 IMLib 基础上封装了一套交互方式类似微信的通用 UI 扩展库
  • LocationLib 插件:GPS 定位、实时位置共享的消息插件
  • RCSticker 插件:贴纸、表情的消息插件
  • Sight 插件:小视频插件

实时音视频(RTC)客户端 SDK

CallKit、CallLib、RTCLib 是融云 RTC 服务提供的三款经典的客户端 SDK。支持一对一、多对多音视频通话、服务端录像。流畅稳定、省钱省力。

  • RTCLib SDK:音视频核心能力库,可满足类似会议、直播等一对一、一对多业务场景需求,具备较高的扩展与定制属性。
  • CallLib SDK:在 RTCLib 基础上,增加了拨打、振铃、接听、挂断等一整套呼叫流程,支持一对一及群组内多人呼叫的通话能力库。适用于开发音视频通话(呼叫)业务。
  • CallKit SDK:在 CallLib 基础上,提供了呼叫相关的通用 UI 扩展库。适用于开发音视频通话(呼叫)业务。
  • Player 插件:CDN 插件,实现 RTMP 的拉流播放
  • FaceBeautifier 插件:提供美白、磨皮、滤镜等基础美颜插件

IM + RTC 场景客户端 SDK

针对场景设计,提供精简、高度封装的核心 API 与回调,降低学习成本,提升开发效率。

  • RCVoiceroomLib:针对语聊房场景设计的 SDK,支持麦位管理、多人连麦、跨房间 PK 等功能。
  • RCLiveVideoLib:专为视频直播场景设计的 SDK,可用于快速开发游戏直播、社交直播、电商直播等应用。

SDK 依赖关系

能力库和插件的依赖关系如下:

 

 

相关文章

Python 计算机视觉(十六)—— 图像和视频中的人脸识别

参考的一些文章以及论文我都会给大家分享出来 —— 链接就贴在原文,论...

Ajax 接口开发规范

# 一、接口开发规范(RESTful api) ### 1.1 简介 RESTful...

Redis的三种特殊类型

Redis的三种特殊类型

geospatial 地理空间 主要用于存储地理位置信息,并对存储的信息...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。