基于安卓(Android)的即时实时聊天APP软件

您所在的位置:网站首页 安卓开发系统app 基于安卓(Android)的即时实时聊天APP软件

基于安卓(Android)的即时实时聊天APP软件

2024-07-02 10:26:05| 来源: 网络整理| 查看: 265

安卓即时聊天软件 实习目的及要求

Android 开发提高:

提供6个基础样例代码,发挥想象力和创造力对其中一个进行改进和提高,比如:增加程序的功能,改进程序的人机交互性,以及提高程序运行的性能等。

实习选题的背景及目标

背景:安卓(Android)是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。伴随着Android版本不断的升级,Android在全球的市场份额不断提升,已经占用绝对的优势,本次实习,编写安卓小程序,练习安卓开发。

目标:

熟悉 Android 开发环境和基本操作;编写 hello world 程序。

进一步熟悉 Android 开发环境和基本操作;修改并增加程序的功能。

设计方案

类图:

在这里插入图片描述

流程图:

在这里插入图片描述

对各种类的介绍:

类名功能XmppConnection连接的实现类,采用单例模式,连接的协议是;XMPP协议,在利用asmack包的apiRegisterActivity注册类,实现了注册功能,注册者需要输入邮箱、账号、用户名、密码,完成注册LoginActivity登录类,实现了登录功能,登录者需要输入用户名、密码,完成登录FriendActivity好友显示类,在里面显示好友列表,可以点击好友进行聊天AddFriend加好友的类,输入账号即可添加GroupActivity好友群类,在里面显示群的列表,可以点击进行聊天AddGroup加群的类,输入群的名字即可添加ChatActivity聊天的类,实现了文字和图片的发送。在好友列表和群的列表都可以进入。

实习环境与主要步骤描述

硬件平台:lenovoR720 操作系统:Windos10、Android、Centos7 使用的软件:Android Studio 开发语言:java

主要步骤:我采取的是使用基于XMPP协议的方式进行通讯,服务器使用已经写好的openfire软件,并且可以部署到云服务器上,实现跨局域网通讯。客户端使用asmack的开源库进行开发,asmack是一套很好的开源即时通讯api,是基于Xmpp协议的实现。

①首先写连接类XmppConnection,采用的是单例模式,全局共享一个连接。下表是XmppConnection的一些属性和方法介绍。

属性:

属性名介绍XMPPConnection connection和服务器的连接,实现功能主要考它FileTransferManager fileManager用于文件发送,目前只实习了图片发送MultiUserChat multiUserChat用户群聊

方法:

方法名参数返回值功能介绍XMPPConnection getConnection()XMPPConnection类型;的连接返回连接boolean createRoom(String roomName, String password)roomName:房间名字 password:密码Boolean类型,返回是否创建成功这里的房间就是群组,功能是创建群组FileTransferManager getFileTransferManager()FileTransferManager 类型,用于文件发送返回文件控制;类,实现文件传输

②编写注册类RegisterActivity,实现普通的注册功能。下表是对RegisterActivity 的一些属性和方法介绍:属性:

属性名介绍EditText etEmailEmail输入框,用于输入EmailEditText etAccount账号输入框, 用于输入账号EditText etName用户名输入框, 用于输入用户名EditText etPassword密码输入框, 用于输入密码Handler handler用于控制界面的信息

方法:

方法名参数返回值功能介绍void init()初始化控件,以及一些监听器void register()用于实现注册功能

③编写登陆类LoginActivity,实现登陆功能。下表是对LoginActivity的一些属性和方法介绍:

属性:

属性名介绍EditText etUser账号输入框,用于输入账号EditText etPassword密码输入框,用户输入密码Button btnLogin登录按钮Button btnRegister注册按钮Handler handler用于控制界面的信息

方法:

方法名参数返回值功能介绍void init()初始化各种控件,以及设置监听器void login()用于实现登录的功能

④编写朋友显示类FriendActivity,实现好友数量的显示。下表是对FriendActivity 的一些属性和方法介绍:

属性:

属性名介绍ListView friend_list好友列表显示的控件ArrayList m_friends好友的姓名BottomBar mBottomBar底部的菜单栏,用于切换到群聊Handler handler用于控制界面的信息

方法:

方法名参数返回值功能介绍void init()初始化各种控件,以及设置监听器void loadFriends()加载好友列表void ;addSubscriptionListener()添加监听器查看是否有人加你

⑤编写AddFriend类,实现添加好友的功能。下表是对AddFriend的一些属性和方法介绍:

属性:

属性名介绍EditText et_friend_name输入框,用于输入好友姓名Button btn_addfriend添加好友

方法:

方法名参数返回值功能介绍void init()初始化各种控件,以及设置监听器void addFriend()用于加好友功能实现

⑥编写GroupActivity类,实现群的显示功能。下表是对GroupActivity的一些属性和方法介绍: 属性:

属性名介绍ListView group_list;群显示列表ArrayList m_groups群的名字的列表BottomBar mBottomBar底部的菜单栏,用于切换到好友聊天Handler handler用于控制界面的信息

方法:

方法名参数返回值功能介绍void init()初始化各种控件,以及设置监听器void loadGroups()用于加载群组的名字

⑦编写AddGroup类,实现添加群的功能。下表是对AddGroup的一些属性和方法介绍:

属性:

属性名介绍Button btn_add_group;EditText et_group_name;

方法:

方法名参数返回值功能介绍void init()初始化各种控件,以及设置监听器add_group(){用于加群的实现

⑧编写ChatActivity类,实现聊天的功能。下表是对AddGroup的一些属性和方法介绍:属性:

属性名介绍EditText et_input;内容的输入框RecyclerView msgRecyclerView用于内容的显示ChatManager chatMan个人聊天使用的管理MultiUserChat muc群聊使用的管理

方法:

方法名参数返回值功能介绍void init()初始化各种控件,以及设置监听器void openAlbum()打开相册void ;addChatListener()单人聊天消息的监听void ;addGroupListener()群聊天消息的监听void ;addFileListerer()文件的监听

实习的结果与讨论结果测试均是在公网下测试登录界面和注册界面:

在这里插入图片描述

在这里插入图片描述

好友列表和群列表显示:(底部的菜单栏可以切换好友列表和群列表)

在这里插入图片描述 在这里插入图片描述

好友列表侧边的滑动菜单,以后可以设置为用户个人信息

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

群聊测试(由自己发信息都是猫头像,别人发都是狗头像,所以其实那两条狗是两个人发的信息):

在这里插入图片描述

在这里插入图片描述 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭