基于Android平台的学社APP设计与开发
2018-07-20邹镇安王兴柱朱志辉谢敏雷川
邹镇安 王兴柱 朱志辉 谢敏 雷川
摘要:为方便大学生的社交活动,利用网络改善生活品质,基于Android平台,Spring Boot微服务技术,token身份验证,Json数据传输解析,redis内存数据库,Mysql数据库等技术,设计并实现了一个简单的大学校园app,主要服务包括用户注册登录,举办校园活动,校园二手交易,校园任务发布等功能模块。
关键词:学社;Spring Boot;Jsoup;Mysql数据库;Android Studio
中图分类号:TP319 文献标识码:A 文章编号:1009-3044(2018)13-0064-03
1 背景
目前对国内外校园投入使用的APP数量没有准确的统计数字,可以肯定的是由于开发APP的技术门槛和成本要求都处于较低的水平,未来一段时间内在相应需求的推动下和国家鼓励大学生自主创新创业的政策引导下,投入使用的校园APP数量将进入一个快速增长的阶段。就目前的校园生活来看,缺少了很多目前互联网已存在,但没有普及的,方便人们生活的工具,因此在方便大学生活的设计目的下,为学生提供一套方便大学生生活的功能性软件就有较好的必要性了。设计的系统改变传统访问校园网站方式,基于Android的智能移动终端设备,依托校园网信息平台,利用无线移动网络,实现与校园网资源的交互与处理,为学生和教师提供随时随地、个性化的、恰当准确的校园服务。
2 需求分析
2.1 研究目的
学社,学习and社交,学社app开发的目的是想让学生以学校为单位,方便开展学生之间结伴活动,促进同学之间互相学习,拉近同学们之间的距离。软件的服务形式主要提供几个平台,如技能交换平台、二手物品交易平台、任务平台、活动集中营、学校周边信息一览等平台,方便学校内同学之间的相互交流,提供有效率的学习方式与新颖潮流的交友方式。
2.2 功能需求分析
学社APP将所有功能分为几个模块,方便开发人员开发。
对普通论坛APP而言,都有相应的用户功能模块,学社APP用户功能模块需要最基本的登录,注册,用户信息查询与修改,和内容举报。内容举报指在用户发现不良信息时,通过举报选项将内容发送给管理员。
技能交换功能模块:当用户有想要学习的某种技能时,在此模块发帖,寻求会此技能的相关用户,以“以物易物”的形式交换一些用金钱不好衡量的东西。当学生想多方面提升自己或者简单了解一个新领域时,他可以通过本平台用已拥有的知识和别人“交换”。如:我会跳爵士但我想学弹吉他,又不想報培训班,这时,我们可以通过此平台寻找会弹吉他的同学进行线下交易。
二手物品交换功能模块:在同一个校园里,用户距离一般不会太远,所以网上的二手交易并不需要的非常好的交易安全保证,软件只提供一个信息平台,具体交易在线下完成,完成后由用户自主关闭,或者有平台自动关闭。
对用户而言主要有以下优点:
1)以学校为中心,提供一个买卖家短距离的交易,使交易有保障。
2)让一些旧物品发挥余热,而不是直接进入垃圾桶或者回收站,在降低学生生活成本的同时提供更优质的服务。
校园任务发布功能模块:针对学生的各类服务需求如:修电脑,打扫,取包裹,买饭等,可以通过专用发布平台向同校学生发布,有意愿的同学可通过平台接单并提供服务。这样
对发放而言提供了一个解决问题新途径,对任务完成者来说也提供一种新的赚取学费生活费的方式,以减轻生活负担。
同校活动功能模块:让旅途不再孤单。提供一个活动发放平台,让有想法,爱活动的人聚集的一个圈子。如果不想一个人登山,徒步,骑行的人可以召集一群志同道合,一起玩。同时方便学生举办一些需要很多人一起弄的活动,如演讲比赛,学生自制公开课等。
学校周边信息一览功能模块:提供学校周边的物价,食品、学习和生活用品的价格,方便学子的生活。
2.3 性能需求分析
评价软件的质量除了看其是否满足用户的功能需求外,还应考量其性能指标,如任务的响应时间,系统的稳定性如是否经常崩溃等及安全性。系统性能的高低直接影响用户对软件的使用体验。对系统的性能评价主要看其占用运行平台的CPU 多少(越少越好),内存的占用率(越低越好)及用户请求的响应时间(越短越好)等。本系统的设计应将软件运行手机CPU 使用率控制在20%以下,内存控制在100M 以下即响应时间保持在2秒以内。
另一方面,还要求本系统在退出后应及时释放资源(CPU,内存等),以提高其他软件的运行速度,节省手机电量。若不及时销毁必要进程,则可能会对手机操作系统的造成越来越大的负担,最终导致操作系统的崩溃。
2.4 硬件需求分析
由于需要搭建服务器端和移动端,测试硬件需要PC机和Android 手机,测试所用硬软件至少需要以下配置:
1)作为服务器的PC 端配置
硬件方面:处理器要求主频在 2.0GHz以上,内存保证2G,硬盘要求不高,320G就足够;
软件方面:操作系统选用Windows Server或Linux ,数据库管理系统选择mySQL 5.6版本及以上;
2)移动端配置
硬件方面:本管理系统较小,硬件要求不大,主频只需1.5GHz 以上,内存2G,需要准备不同屏幕尺寸的手机;
软件方面:操作系统安卓5.1版本以上,该版本以下的用户不多。
3 总体设计
3.1 软件结构设计
3.1.1 软件结构图
如图1:
设计软件功能之初,由于没有考虑技术和耗时问题,笔者设计了非常详尽的功能,并用StarUML做了用例图(见上图)。然而作为研究性学习,这样做需要大量的人力及时间,项目团队在此基础上设计并初步实现的上述功能,其他更进一步的详细功能可在后续继续探讨。
3.1.2 客户端设计
如图2:
4 部分服务器接口设计
4.1 通用模块
1)登录:http(s)://ip:8080/user/login
功能:实现登录功能,输入账号和密码,正确则返回用户token和id,错误则返回fail;输入项目:用户账号(用户名、邮箱、手机)和密码;输出项目:正确则返回用户token标识和用户id,错误则返回登录失败。
2)注册:http(s)://ip:8080/user/register
功能:实现新用户的添加,并保存到数据库中;输入项目:用户名、邮箱、密码;输出项目:返回注册成功或者注册失败。
3)用户信息查询:http(s)://ip:8080/user/getUserInfo/userId=?
功能:实现用户的信息查询功能,查询用户的基本信息和所发过的帖子等;输入项目:用户id或者用户名;输出项目:用户id、用户名、性别、电话、QQ、邮箱、学号等。
4.2 技能交换模块
1)帖子列表,功能:实现显示所有帖子数;输入项目:无;输出项目:帖子创建者、帖子标题、创建时间。
2)帖子详情,功能:查询单个帖子的详细信息;输入项目:帖子id;输出项目:标题、详细描述、创建人、联系方式(QQ、电话)。
3)创建帖子,功能:实现帖子的新建功能;输入项目:标题、想学技能、已会技能、联系方式(QQ、电话);输出项目:正确则返回创建成功。
4)删除帖子,功能:根据帖子id删除单个帖子;输入项目:帖子id;输出项目:正确则返回帖子删除成功,反之则帖子删除失败。
4.3 二手物品交易模块
1)二手物品列表,功能:实现显示所有的物品数;输入项目:无;输出项目:标题、创建者、时间、价格。
2)物品詳情,功能:查询单个物品的详细信息;输入项目:物品id;输出项目:商品标题、描述、创建者、联系方式(QQ、电话)、价格、图片。
3)创建交易信息,功能:实现创建商品交易功能;输入项目:商品id,订单号,订单日期;输出项目:正确则成功,反之失败。
4)修改交易信息,功能:实现商品交易信息修改功能;输入项目:商品id,订单号,订单日期;输出项目:正确则成功,反之失败。
5)结束交易,功能:实现商品交易结束状态;输入项目:交易状态值;输出项目:正确则成功,反之失败。
5 数据库设计
进过分析讨论,系统使用了一款轻量级数据库MySQL作为数据存储。数据库的设计、数据导入使用的是mySQL 5.6 数据库管理系统。具体数据表设计如图3。
6 安装使用说明
6.1 安装说明
点击安装包,进入安装界面:
点击安装,app开始在Android手机上安装直到成功。如图4。
6.2 使用说明
安装成功后,启动系统进行注册登录,见图5登录界面,登录成功后见图6登录成功界面。接下来可使用软件相应功能,如发布图书出售见图7发布图书出售成功后界面。
7 结束语
系统实现后首先在湖南文理学院芙蓉学院进行测试运行,通过半年来的试运行,系统功能基本稳定,使用效果好,大部分同学感觉非常有用便捷。后续项目团队将在此基础上进一步结合实际使用完善软件功能,加强软件稳定性、可靠性、安全性方面的探讨,以推进软件向实用型方向发展。
参考文献:
[1] Jshua Bloch. Effective Java (中文版) [M]. 北京: 机械工业出版社, 2015.
[2] 武永亮. Android开发范例实战宝典[M]. 北京: 清华大学出版社, 2015.
[3] Bruce Eckel. Thingking in Java[M]. 北京: 机械工业出版社, 2015.
[4] 罗杰,王兴柱,冷迅,等.基于Android平台的校园助手APP的设计与实现[J]. 软件导刊, 2016(12).
[5] 丰生强. Android软件安全与逆向分析[M]. 北京: 人民邮电出版社, 2015.
[6] 陈哗. 大话移动APP测试Android与IOS应用测试指南[M]. 北京: 清华大学出版社, 2014.