基于Android 平台的微班信系统设计与实现
2015-07-13杨垚婷等
杨垚婷等
摘要:随着因特网的飞速发展,网络已经走进了普通人的生活当中,网上聊天也已经成为了人们交流沟通的一种途径,具有时效性和便捷性。该软件分为服务器端和客户端两个部分,客户端通过服务器进行连接通信。服务器端主要实现了对客户端请求的处理和信息数据的传递;客户端主要实现了用户注册、登陆、查找并添加好友、实时语音对讲、群聊、文本聊天等功能。该聊天软件采用线程池技术,可以支持多用户操作。
关键词:微班信;安卓;数据库;聊天软件
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)13-0108-02
1 概述
近几年来,网络技术迅猛发展,网络聊天工具已经成为了人们日常生活工作中进行信息传递、感情交流的一个重要途径。现在已经存在的聊天软件种类繁多,比如QQ、飞信、MSN等,实现了及时的网络通信等一系列功能,给人们的生活和工作带来了很大的便利。但是此类软件也存在以下不足:没有针对专门的人群;没有实现特定人群需要的某些功能。因此,设计一款针对专门的人群并且拥有特定功能的聊天软件也是非常必要的。微班信主要针对班级学生和老师开发,充分考虑到班级学生的需求,主要实现班级同学的相互添加好友,进行文字聊天、语音聊天或者在聊天室中进行班级事务的商讨、班委和老师下发通知等功能,力求开发一个界面亲切、功能完善、用户体验良好的班级聊天软件。
2 本系统的主要功能和开发技术
2.1 系统功能
微班信的实现是基于Socket的集中式通信,它的实现需要用户登录到统一的服务器[1]。,它主要有两个角色:客户端和服务器,多客户端需要登陆到统一的服务器当中,服务器将客户端的请求进行分发或者推送到其他的客户端。微班信实现了如下功能:
1)开启服务器,连接数据库;2)用户注册账号;3)用户登录微班信;4)用户和软件交互,进行文字信息传送或者语音对讲;5)查找并添加好友;6)接收查看通知;7) 接收离线消息或消息广播; 8)聊天室群聊和好友对讲;9) 获取推送信息并显示;10)娱乐工具的使用。
2.2 开发技术
本系统在开发过程中,主要用到了Android、数据库技术、多线程开发技术、网络传输协议及网络编程技术和客户端/服务器模式(C/S架构)等技术。首先,Android代码是开源的,允许开发人员对其进行修改并且硬件配置丰富且方便,使开发人员的开发效率增强。其次,采用MySQL数据库管理系统,因为该数据库可以在网络的任何地方完美运行[2]。然后,采用多线程技术可以把不同的任务放到后台处理,使程序的运行时间减少,最后,C/S架构将一些操作放到客户端运行处理,客户端处理完成以后再发送给服务器,这样能够充分的利用客户端的处理能力,从而提高系统的工作效率,加快系统反应速度[3]。
3 微班信主要功能模块设计和实现
3.1 系统核心功能模块设计
微班信以班级内的学生为主要服务对象,由服务器端和客户端两部分组成。本系统的各功能模块如图1所示。
此外,考虑到微班信是多用户同时操作,需要用到多线程进行管理,从而提高程序的效率,并能够实现多用户的并发操作。
3.2 系统主要功能模块实现
1)服务器模块的实现:服务器配置是服务器端和客户端通信成功的重要组成部分,用户对服务器的配置主要是IP和端口号的配置,由于该服务器是Java服务器,并且需要配置的IP和端口号是固定的,所以在服务器端的代码编写的时候已经将其封装[4]。配置服务器固定的IP和端口号,这样客户端就能成功连接到服务器,从而进行一系列的消息交互操作。服务器配置完成以后便可以开启服务器的相关服务。
2)文本信息和接收当前消息和离线消息:本软件可以实现一对一的信息发送和一对多的信息发送即消息广播。消息广播是该用户对自己所有的好友发送文本消息,从而实现一键使消息及时传达功能。此外,该系统还实现了用户接收当前消息和离线消息的功能。用户登陆后,会首先获得离线消息,然后对于在线好友的消息,或直接在聊天窗口显示,若用户此时不在聊天窗口,则会在通知栏显示提醒好友查看消息。
3)好友语音对讲:微班信具有实时的语音对讲功能,登陆成功的用户不仅可以与好友进行文字聊天,更可以进行实时的语音聊天。该语音对讲功能与电话功能的区别在于不能同时两个人讲话,只能当一个人讲完以后另一个人才能够讲话。
4)聊天室:本软件的聊天室功能正是实现了一对多的通信,这样的设计可以很好的满足班级同学在利用此软件商量班级事务的需求。该聊天室功能并不是只有好友才能进入,是所有微班信用户都可以进入,这样可以打破各个班级之间的局限性,从而可以广交朋友,并且对于班级来说,可以很好的满足利用互联网随时随地地商讨班级事务。
5)班级通知功能:微班信提供一个文本信息的发送平台,即微班信的班级通知功能。微班信设立了一个专门的发送通知的用户(admin),班级中如果有人想发送通知,可以登录这个专门的账户去发送通知,该专用账号提供了三个功能:发送通知、清空通知和查看通知。
部分功能模块的实现效果图如图2所示。
3.3其他功能模块
1)利用推送工具实现推送功能:极光推送在本软件系统中可以作为老师发布消息和通知的一个平台,老师通过登录极光推送的官网,能够很方便快捷的实现推送通知和发布任务的功能。只要在客户端进行相关的推送配置,就能成功实现对于消息和各种通知的及时推送,推送速度比较快[5]。当有消息要通知到每一个同学的时候,管理员可以登陆极光推送主页登陆到开发者平台发送通知,这样只要当用户登陆成功进入主界面的时候,推送的消息将在客户端的主界面自动显示出来。
2)娱乐:该软件并不是仅有通信功能,同时还提供了一些小的附加功能,当大家累了的时候可以点击该软件的娱乐界面并进入相应的小游戏娱乐放松一下,该娱乐模块包含你画我猜和消灭灰太狼两个小游戏。
4 总结
微班信界面的设计比较简洁,主界面通过ViewPager实现页卡的滑动切换和界面上方的点击切换,从而实现微班信各个功能模块之间的灵活切换。各个页面的功能显示主要通过简单适配器设置,用户可以点击各个功能名称,进入到相应的操作界面。同时根据各个界面需求的情况,选择是否显示标题栏和全屏幕。
微班信为班级同学之间提供了一个实时信息交互的平台。通过它,同学们可以注册成为用户,并相互查找成为好友。大家之间可以通过微班信发送文本信息,大家也可以在微班信的聊天室中畅所欲言,大家更可以通过微班信提供的语音对讲功能实时语音聊天。通过它,同学们再也不用担心遗漏班级的通知,班长等班干部可以登录微班信的通知发送平台,去发送通知,这样大家就可以在自己的微班信客户端查看最近的通知。班主任也可以登录极光推送的官网,向班级成员推送通知或者消息。当大家累了的时候,还可以玩游戏休息一下。
参考文献:
[1] 文显琼,张继荣.基于Socket的网络编程及其实现[J].软件导刊,2012,11(2):85-98.
[2] 王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2005.
[3] 雷托迈耶 Android 4高级编程(3版) [M].北京:清华大学出版社,2013.
[4] 陆明刚.Java性能优化权威指南[M].北京:人民邮电出版社,2012.
[5] 杨思琦.局部网聊天软件的设计[D].北京:北京邮电大学,2008.