项目报告(最终版)
2015-12-06 23:15
253 查看
简单聊天系统项目报告
二十一世纪将是信息化、网络化的年代,以简捷、快速为代表的即时通讯工具,已经成为当前网络用户最喜爱的沟通工具。2007年11月,Google推出了一个专为移动设备设计的软件平台——Android。Android手机平台的应用正是在这种需求中不断发展壮大。Android应用用需求的增加,已经吸引无数软件开发厂商投身其中,Android的开放性使其比苹果、黑莓、windows等对年轻人更具吸引力,同时Android还具有应用程序无界限、应用程序轻松嵌入网络、应用程序可并行运行等众多出色的品质,使其具有其他于机平台无法比拟的优势和发展空削。近两年,移动端的应用不断深入日常生活,2015天猫“双11”全球狂欢节交易额超912亿元,其中移动端占比 68% 。再创历史新高。结合现有资料,作为一个Android平台开发的初学者,本次选择完成一个基于Scocket通信的简单聊天软件的实现。一、项目简介
1.1 Adroid性能特点
(1)开放源代码Android平台开放源代码是它的主要优势之一,任何移动终端厂商都可以不受限制的加入到Android联盟中。显著的开放性吸引了众多优秀的开发者加入联盟,随着日益丰富的应用和用户人数的不断增加,一个崭新的平台日臻成熟。
(2)自由的开发商
Android平台为第三方开发商提供了一个非常白由、宽泛的环境。开发商因此不会受到各种条款的制约,这样促使了众多别致新颖的软件诞生,软硬件资源变得无限丰富。但其也存在缺点,比如暴力、血腥、情色等不利于青少年健康成长的游戏和程序同时应运而生,如何解决这类负面影响正是留给Android系统一大难题。
(3)Goog1e应用的完美结合
Google公司发展到现在已经走过10余年历史。从最初的搜索引擎到全面互联网的应用,Google服务如邮件、搜索、地图等已经成为连接互联网和用户的重要桥梁,而这些优秀的Google服务可以完美的结合到Android 平台手机上。
1.2 实验环境
JDK 1.8+ ADT + Eclipse二、 需求分析
2.1 功能需求
本项目是简单的聊天系统的实现,预期所具备的的功能有用户注册和登陆功能以及及时聊天功能。2.2 性能需求
能够在真机上以软件方式运行,且运行速率不能过慢。2.3 预期未来需求
查找添加功能:能够通过账号查找好友,并进行添加;分组功能:能够对好友进行分组,便于快速查找好友;
群聊功能:可以将多个好友拉入群,开启多人聊天模式。
2.4 需求类图
2.5 用户UI设计
UI设计流程图:UI原型设计:(具体动态效果需要参考Axure文件)
三、系统设计
3.1 Socket通信基础
socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。
服务器:
使用ServerSocket监听指定的端口,等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。
客户端:
使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。
0~1023的端口号为系统所保留,例如http服务的端口号为80,telnet服务的端口号为21,ftp服务的端口号为23, 所以我们在选择端口号时,最好选择一个大于1023的数以防止发生冲突。
3.2 C/S模式下的Scocket通信
本聊天系统,采用客户机/服务器(C/S)体系结构,C/S结构包括一个客户端和一个服务器。在Intemet通信中,使用TCP面向连接的套接字来建立服务器端和客户端两个IP地址端点之间的会话。如下图所示:服务器端主要完成用户信息的存储、客户端命令的响应与接受、信息转发等功能。客户端主要完成登录、聊天信息的接受及发送等功能。客户端必须在服务器启动以后才能连接成功,用户登录以后聊天室的客户端会显示用户已登录,可以与服务器进行即时聊天。
四、实现
登陆界面
聊天界面
五、系统测试
5.1 功能测试
经测试,登陆功能完善,注册、聊天功能还存在小问题。5.2 测试用例
六、 总结
项目报告阐述了在Android应用程序架构下简易聊天系统的开发过程,实现了Android系统聊天室的注册、登陆和聊天功能。但由于系统本身的复杂性,对很多可能出现异常的情况没有处理,存在一定的欠缺。在后续的修改完善中,方便用户的再次登陆,在服务器端可以通过SQL数据库,保存注册用户的用户名,密码和各个用户的聊天记录,以便能够实现往用户注册或登录时检查相应的情况。最后,本系统的界面最后来自于QQdemo,可以自己对UI做美化,以达到最佳效果。代码托管在开源中国Github,欢迎各位指正 代码托管
相关文章推荐
- 第二百四十八天 how can I 坚持
- 利用svn的blame功能查出代码的每一行是谁写/改的
- 安装 kali live usb
- dede之瀑布流添加心得
- SVM(一)问题的提出
- Android群英传之Android控件建构与自定义控件详解知识点总结
- java 多线程 CountDownLatch用法
- eclipse_jee启动tomcat无法访问tomcat首页,但项目首页却可以打开
- 如何实现arcgis图层属性字段物理顺序的修改
- Java中关于先有鸡还是先有蛋的问题----Class&Object
- VS2008 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- Word中使用通配符
- 关于flexpaper不能读取web应用外的swf文件解决方案
- Android开发日记(六)
- Javascript操作DOM常用API总结
- 2015第49周日
- 20135333苏正生——信息安全系统设计基础第十二周学习总结
- 5.1&&5.2字符大小写转换 加密 'A'+13=N,'Z'+13=M
- Ubuntu15.10下安装Nginx,PHP5(及PHP-FPM),MySQL
- ubuntu安装eclipse