基于Android的聊天软件,Socket即时通信,实现用户在线聊天

基于Android的聊天软件,Socket即时通信,单聊,聊天室,可自行扩展功能,完善细节。
【实例功能】

1.运行程序,登录界面, 注册账号功能
2.进入主界面,有通讯录, 个人信息。
3.点击好友会话框,进入单人聊天
4.点击右上角,进入多人聊天
5.可以发送文字及表情(注:聊天界面及表情仿微信)

效果演示:
登录页面:
在这里插入图片描述
注册页面:
在这里插入图片描述
主页面:
在这里插入图片描述
单人聊天:
在这里插入图片描述
还有群聊,个人信息等页面,详细请下载源码。
功能实现:
服务器端:
1.启动Socket服务器,设置监听端口,不断监听客户端连接
2.服务器输入流不断读取客户端的消息,输出流写入消息,对其它用户广播
客户端:
1.连接服务器
2.发送数据给服务器
3.接收服务器发来的数据
4.退出连接
效果展示:
用户cyh与用户Hi之间聊天
用户cyh与用户Hi之间聊天
用户cyh与Ccc聊天,由于当前对方登录者为Hi,所以消息不会影响到Hi与cyh的聊天中。显示需要登录Ccc进行接收。
在这里插入图片描述
群聊:用户cyh,用户Hi,用户hr01
在这里插入图片描述
用户cyh,用户Hi,用户hr01
1.cyh,Hi与hr01通信,Hi的消息被过滤
在这里插入图片描述
2.cyh,Hi与hr01通信,cyh的消息被过滤
在这里插入图片描述
(说明:页面风格仿微信,表情资源可直接分享,更多表情可自行添加,这里只是简单实现了聊天功能。
用户注册数据保存位置自行改正(如保存本地,数据库等)
注册时需要为每个模拟器都注册相同用户,注册完即默认为好友)
关注公众号获取(非免费资源)在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/536088.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用Docker搭建Elasticsearch集群

用Docker搭建Elasticsearch集群 对于用Docker搭建分布式Elasticsearhc集群的一个介绍,以及一些实施中遇到问题的总结 搜索服务简述 结合业务的场景,在目前的商品体系需要构建搜索服务,主要是为了提供用户更丰富的检索场景以及高速&#xf…

Go实现简单的RESTful_API

Go实现简单的RESTful_API 何为RESTful API A RESTful API is an application program interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. A RESTful API – also referred to as a RESTful web service – is based on representational state t…

Docker使用Dockerfile构建简单镜像

Docker使用Dockerfile构建简单镜像 首先确保系统已经安装docker 构建镜像 安装基础镜像 sudo docker pull ubuntu 查看镜像是否已经拉取成功 REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu …

Weave Scope安装

Weave Scope安装 首先确保已经安装docker 实时了解Docker容器状态 查看容器基础设施的概况,或者专注于一个特殊的微服务。从而轻松发现并纠正问题,确保你的容器化应用的稳定与性能。 内部细节与深度链接 查看容器的指标、标签和元数据。 在一个可扩展…

MYSQL导入数据出现ERROR 1049 (42000): Unknown database 'n??;'

MYSQL导入数据出现ERROR 1049 (42000): Unknown database ‘n??;’ 背景 我需要将一个csv表中的数据导入数据库创建好的表中,产生的问题如下: 原因寻找 因为我并没有使用’n??;的数据库,所以很好奇这个错怎么来的,尝试如下…

Win10忘记ubuntu子系统密码

Win10忘记ubuntu子系统密码 目前新版win10已经支持ubuntu子系统,如果忘记子系统密码怎么办? linux单用户模式 在ubuntu中如果忘记密码,可以在启动的时候,在grub内更改用户为root进入,这样就可以使用最高权限的单用户…

蓝桥杯练习系统,入门训练,Java版

蓝桥杯练习系统,入门训练,Java版序列求和圆的面积Fibonacci数列希望大家提建议我加以修改序列求和 import java.util.*; public class Main {public static void main(String[] args) {Scanner cinnew Scanner(System.in);long ncin.nextLong();System.…

SVG入门理解

SVG入门SVG 元素简单的形状rectcircleellipselinetextpath SVG 样式分层和绘图顺序透明度 SVG入门 当我们用SVG生成和操作一些炫酷的效果时,D3是最佳选择。使用div和其他原生HTML元素绘图也是可以的,但是太笨重,而且会受到不同浏览器的限制&#xff0c…

【哈佛幸福课笔记】【1】

【哈佛幸福课笔记】【1】 ​ ​ 一个月的时间看完了哈佛幸福课,正如Tal所说课程的结束才是学习的开始。对于课程观点的思考,对于个人习惯的培养,对于思维模式的转变还需要花大量的时间去练习。这个系列的帖子将作为我个人的读书笔记&#x…

Angular 6+ 之新版service

Angular 6+ 之新版service Angular 6已经发布了,Angular 6中有一些新功能,其中一个就是提供service的共享实例。 回首Angular 5- 下面是一段熟悉的代码,可以为整个应用程序提供服务。我们将它添加到AppModule中的providers[]。 自定义服务类 // data.service.ts export c…

Angular CDK Layoout 检测断点

Angular CDK检测断点 Angular CDK有一个布局包,其服务可以轻松检测窗口大小并与媒体查询匹配。这使得你可以完全控制UI并适应不同的屏幕尺寸。 让我们快速了解一下如何使用CDK的布局模块。 Setup 首先,您需要确保在您的应用中安装了Angular CDK: $ npm install @angular/c…

Angular Render2

Angular Render2 Renderer2类是Angular以service的形式提供的抽象,允许操作应用程序的元素而无需直接触摸DOM。这是推荐的方法,因为它可以更容易地开发可以在没有DOM访问的环境中呈现的应用程序,例如在服务器上,web worker,或者原生移动上。 需要注释的是,现在已弃用原始…

数据分析方法

数据分析方法 什么是数据分析 从数据到信息的这个过程,就是数据分析。数据本身并没有什么价值,有价值的是我们从数据中提取出来的信息。 分类 分类分析的目标是:给一批人(或者物)分成几个类别,或者预测他们属于每个类别的概率…

RAID阵列基础知识

RAID阵列基础知识 独立硬盘冗余阵列 (RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。 RAID的种类 这里我们只介绍比较常用的RAID类型&am…

timeshift备份你的Linux系统

timeshift备份你的Linux系统 安装 打开终端(ctrl alt T)并逐个执行以下命令 sudo apt-add-repository -y ppa:teejee2008/ppa sudo apt-get update sudo apt-get install timeshift 创建 点击Create按钮 默认不能备份用户下的文件,所以…

Go语言vscode环境配置

Go语言vscode环境配置 此教程在GO已经安装成功的前提下。 安装vscode扩展 在vscode扩展里面搜索go,然后下载扩展。 安装go 插件 在$GOPATH目录下创建bin,pkg,src切换到$GOPATH/bin目录下,打开终端输入以下命令,不需要翻墙: go…

Angular实现悬浮球组件

Angular实现悬浮球组件 在手机 App 上,我们经常会看到悬浮球的东东,用着可能很舒服,但是 web 网页上却很少见,今天我们就通过 Angular 来实现,当然使用其他框架也是可以的。 功能要求: 支持设置直径支持点击触发信号支持设置鼠标按压时间实现的过程中省略的部分天填坑过…

Docker+Nginx部署Angular国际化i18n

Docker+Nginx部署Angular国际化i18n 在Angular项目中添加default.conf文件 default.conf 为了支持局域网,增加一个域名,即本地的局域网ip地址。 server {listen 80;server_name localhost;server_name 192.168.2.172;location / {root /usr/share/nginx/html;lo…

消息队列-Message Queue

消息队列-Message Queue 目前随着互联网的普及以及上网用户的增多,拥有一套 安全、稳定、低耦合、高性能的内部通信工具尤为重要。 什么是消息队列? 消息队列(英语:Message queue)是一种进程间通信或同一进程的不同线…

Angular 第一章 开始

第一章 开始 用 JavaScript 开发应用程序是一个很大的挑战。由于它的延展性和缺少类型检查,在 JavaScript 中构建一个适当大小的应用程序是很困难的。除此之外,我们对所有类型的处理都使用JavaScript,例如用户界面(UI),操作、客户端-服务器交互和业务处理/验证。因此,我们…