赵海龙 张旭
摘要:本项目采用基于Android开发,设计和实现了一款基于Android平台的社交软件,以实现同校大学生之间互帮互助,加强同校大学生之间互相交流,获取大学生相关信息等功能。为同校大学生提供一个可以交友、互助、获取信息的平台。
关键词:Android系统;社交软件;校园生活
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2018)24-0054-02
Abstract: This project uses Android-based development, design and implementation of a social software based on the Android platform to achieve the mutual help between college students, strengthen mutual exchange among college students, access to college students related information and other functions. Provide a platform for college students to make friends, help each other, and obtain information.
Key words: Android System;Social Software;School Life
1 引言
近几年来,随着中国移动网民规模不断增长,手机APP软件早已变成人们日常生活学习中必不可少的移动社交工具。根据中国互联网络信息中心(CNNIC)发布的最新《中国社交应用用户行为研究报告》[1]显示,即时通信应用已经成为第一大移动应用。伴随着人们不断改变的社交方式,各种不同类型的社交APP软件快速发展。然而,目前手机APP软件市场上的社交APP软件针对同校大学生之间的少之又少。
目前,大学生获取同校同学信息的方式主要有百度贴吧、QQ群、微信群等,并没有一款能够满足同校大学生相互交流、相互帮助、及时获取信息的应用软件。以上三种方式,往往使同校同学之间获取信息较慢,无法及时获取第一手信息;而且,以上方式信息分布广,大学生往往只通过其中一种或两种方式获取信息,少有的同学能通过此三种方式,因此,同学们获取的信息常常因不全面而浪费时间。此三种方式也无法很好地增强同校同学之间的感情。
针对此种情况,设计及实现一种能够整合同校大学生之间获取信息方式统一综合起来的APP软件,不仅可以加强信息的流通速度,使同学们快速获取信息,还可以加强同校同学之间的感情交流。因而,本项目的APP软件旨将学校所涉及的和学生发布的信息整合到一起,方便同校同学及时获取信息。
2 关键技术
2.1 Android系统
当下流行的Android系统,相比ios,是一个开放的平台,可以为移动设备提供包含操作系统、中间件和应用程序的软件叠层架构,受到众多运营商和设备商的全面支持,可以根据用户需求进行高度定制化的二次开发。随着Android移动设备的配置增强和系统优化,操作运行流畅,同时价格逐渐降低,用户普及率日益提高,已经成为主流的移动操作系统[2-3]。Android手机的普及,也让Android系统得到了进一步的推进,Android市场的扩大,各种Android应用也层出不穷。2008年9月23日Android1.0發布,一直到现在最新发布的版本为Android4.4.2-KitKat。
2.2 SQLlite数据库技术
SQLite是一款轻型的数据库。SQLite的设计目标是嵌入式的,而且现在已经在很多的嵌入式产品中使用[2]。因为SQLite在嵌入式设备中只需要占用几百KB的内存空间就可以了,所以它所占用的资源很少。SQLite基本上可以支持所有常见的操作系统,并且能够跟C#、PHP、Tcl、C++、JAVA等很多种语言相结合。相对于MySQL、PostgreSQl、SQL server这些数据库,SQLite的处理速度要远高于其他数据库。由于占用资源少、零管理成本和良好的性能,SQLite作为嵌入式数据库更易于使用,有利于加快程序的开发,且对于开发小型应用程序至关重要。
3 系统实现
3.1 系统总体框架
通过系统分析和需求分析,该系统设计并实现了登录注册管理、聊天功能、联系人、群聊功能、发帖功能以及服务器的搭建。
3.2 登录注册管理
用户首次使用需选择注册或是登录。用户注册填写手机号进行短信验证码注册。注册时登录的密码、用户手机号等必填项,用户可选填性别、家乡和学校等个人信息。系统会自动在数据库里进行查找该手机号码,若未查找到该手机号,即注册成功,同时在数据库里新增该用户注册信息[4];若能查找到该手机号,则新增失败注册失败。
用户登录时,用户需填写手机号码以及相应的登录密码,点击“登录”按钮,系统会自动查询用户手机号和相应的登录密码是否存在数据库的数据里,如果查找成功即登录成功进入首页;若是查找失败,则显示“用户手机号或密码错误”。用户需重新输入正确的手机号以及相应的登录密码。
用户在登录软件时若忘记了登录密码,则可点击页面下方的“忘记密码”转跳到重置密码页面[5],用户使用注册手机号获取验证码进行重置密码,重置密码时需两次输入同一密码。密码重置成功后返回登录页面重新登录。
3.3 用户系统实现
用户在与好友或群聊时,聊天内容可以是文字、表情以及语音。聊天时用户还可以进行语音电话、发送文件等操作,运行效果如图1所示:
3.4 好友功能
用户可搜索已添加的好友和已加入的群聊,还可搜索并申请添加好友或申请添加好友。搜索好友时,可按好友的名字拼音顺序进行排序,用户可根据该顺序进行选择要聊天的对象,如图2。点击右上角加好可进行查找添加好友,如图3。用户可在申请与通知处查看添加好友和申请。
3.5 群聊功能
群聊功能为多用户聊天。用户可根据自身喜好加入或创建群聊,用户可邀请好友进行群聊[6]。用户群聊的聊天界面同用户与好友聊天页面一样,可进行文件以及位置等发送。
在此功能模块开发时使用了相关SDK,大大加快了开发速度。
使用group.getMembers ()方法来获取群成员信息,调用blockGroupMessage()方法进行对群聊的消息屏蔽等,如图4。
调用createPublicGroup ()创建群聊,新建群聊时,提填写群名称,可选填群简介,选择公开情况等设置,如图5。
3.7 发帖功能
实现发帖功能是用的PullToRefreshView,PullToRefreshView是第三方类库,其优点是自动补全和实现refresh方法,只需修改部分即可。
用户通过点击社区页面的按钮进入朋友圈,通过点击右上相机按钮进入发帖页面,页面提供设置悬赏金按钮[7],输入需求或信息后,点击发送按钮即可发送帖子到服务器,随后再刷新朋友圈。如图6。
3.8 服务器搭建
服务器搭建,使用habernate和spring框架。
容器搭建需要创建相应的servlet以实现客户端的不同请求方式。客户端通过发送请求的url,来确定不同需求。
而服务器端通过@WebServlet("/RegisterServlet")来区分不同的servlet,相应需求后,通过doget或者dopost方法处理数据,最后通过PrintWriter pw = response.getWriter();pw.print(bool);方法将数据传递回服务器,服务器端数据库采用mysql[8-9]。
数据库优化可以防止以后遇到更换数据库需要修改代码等问题,所以服务器并没有直接将数据库的驱动信息字符串写入代码中,而是从配置文件中读取,这样作为以后更换数据库或修改代码增加了方便[10]。防止以后遇到更换数据库需要修改代码等问题,所以服务器并没有直接将数据库的字符串、用户名、密码、驱动字符串写入代码中,而是从配置文件中读取,这样作为以后更换数据库或修改代码增加了方便。
4 结束语
校园信息共享APP应用MySQL、Java EE等技术,实现了校园APP的用户管理功能,用户通过注册登录后使用校园APP;实现了发帖功能,整合了校园内优质的学生资源,让学生给学生送快递,满足大部分人需求的同时,也让学生的闲暇精力得到充分的利用,实现了点赞、收藏及用户评价等功能。
在设计与研发校园信息共享APP的过程中,发现还存在一些问题。功能也比较简单,距离真正商用还有一定的差距,
参考文献:
[1] 赵亮,张维.基于Android技术的界面设计与研究[D].徐州:徐州建筑职业技术学院,2001.
[2] 陈璟,陈平华,李文亮. Android内核分析[M].现代计算机:专业版,2009(11):112-115.
[3] 韩超. Android经典应用程序开发[J].人力资源出版社,2011:5-18.
[4] 吴亚峰,索依娜.Android核心技术与实例讲解[M].北京:电子业出版社,2010.
[5] Bruce Eckel .Thinking in java(java 編程思想)[M].4版.北京:机械工业出版社,2011.
[6] 王珊,陈红.数据库系统原理教程[M].北京:清华大学出版社,2004
[7] 林城. Android 2.3 应用开发实战[J].北京:机械工业出版社,2011:17-321.
[8] 卞慧敏.浅议Java网络聊天工具设计[J].科技展望,2015,36:120.
[9] 熊刚.基于.Android的智能手机的设计与实现[D].武汉:武汉理工大学,2010
[10] RaghavSood. Pro Android AugmentedReality[M].California:Apress,2012:27-28.
【通联编辑:唐一东】