基于安卓(Android)的即时实时聊天APP软件 |
您所在的位置:网站首页 › 安卓开发系统app › 基于安卓(Android)的即时实时聊天APP软件 |
安卓即时聊天软件
实习目的及要求
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()文件的监听实习的结果与讨论结果测试均是在公网下测试登录界面和注册界面: 好友列表和群列表显示:(底部的菜单栏可以切换好友列表和群列表)
好友列表侧边的滑动菜单,以后可以设置为用户个人信息
群聊测试(由自己发信息都是猫头像,别人发都是狗头像,所以其实那两条狗是两个人发的信息):
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |