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

基于安卓(Android)的即时实时聊天APP软件Android开发提高:提供6个基础样例代码,发挥想象力和创造力对其中一个进行改进和提高,比如:增加程序的功能,改进程序的人机交互性,以及提高程序运行的性能等

安卓即时聊天软件

实习目的及要求

Android 开发提高:

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

实习选题的背景及目标

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

目标:

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

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

设计方案

类图:

在这里插入图片描述

流程图:

在这里插入图片描述

对各种类的介绍:

类名 功能
XmppConnection 连接的实现类,采用单例模式,连接的协议是;XMPP协议,在利用asmack包的api
RegisterActivity 注册类,实现了注册功能,注册者需要输入邮箱、账号、用户名、密码,完成注册
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 etEmail Email输入框,用于输入Email
EditText 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() 文件的监听

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

在这里插入图片描述

在这里插入图片描述

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

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

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

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

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

在这里插入图片描述

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

今天的文章基于安卓(Android)的即时实时聊天APP软件分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/60908.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注