基于Android的运动达标APP
2021-06-30孙寒飞蒲婧
孙寒飞 蒲婧
摘要:随着社会的发展体育在满足人民日益增长的美好生活需要方面发挥着不可替代的作用。全民健身已然到来,锻炼成为了我们的一种生活方式,然而据我们在大学中调研情况来看,大多数学生身体素质并不达标。导致这种情况原因有很多,但其中一个重要原因是没有一个科学的运动计划的制定。因此我们制作了这样一个APP。本文研究的运动达标APP主要包括登录注册、我的目标、社区、教学、运动排行榜、我的等功能模块,主要面向大学生用户,支持运动目标的制定,运动社区交流,健身教学视频的学习,运动排行榜点赞,及个人信息的修改等功能。本文是基于android操作系统,开发出一款android运动达标客户端应用程序,通过Eclipse,Apache Tomcat9.0,Mysql,三者共同作用开发出的android客户端手机软件。此APP使用的是面向对象的语言java编译语言,并采用了Spring MVC框架。开发此软件会给同学们制定一个合理的标准,使学生不会感到厌倦的情况下从而能坚持每天的运动,提高学生的身体素质,保持良好的生活状态,因而我们设计此APP来实现这一构想。
关键词:Android MVC;运动达标;交流平台
2019年9月17日国务院办公厅印发《关于促进全民健身和体育消费推动体育产业高质量发展的意见》。其中指出,体育产业在满足人民日益增長的美好生活需要方面发挥着不可替代的作用。
据我们在本校和其他院校的学生调研的情况来看,我们学生大多的身体素质都不达标,这其中与手机有关。许多人的大学是颓废的,无聊而刷“朋友圈”“看点”,追剧。使人们久坐不运动,从而使人们的身体素质逐渐下降。形成这一不良现象的原因一个因素就是我们的运动标准达标评定制度较为单一。其中体育课程教学缺乏一体化设计,导致学生运动技能水平低,直接影响学生对体育锻炼的参与热情,影响着体育锻炼习惯的养成。不能以多样化的形式较为综合的检测学生运动是否达标。另一因素就是由于多样的原因致使大多数学生并没有掌握一两项运动技能,致使人们的运动积极性并不高。仅仅靠体测并不能提高人们的积极性。同时,自律性差。学院强制要求也不能从源头让人们提高积极性。如果我们换一种方式,比如每天跑5圈,走10000步等要求坚持一学期就不用体测,是不是可以换种方式提高人们的积极性呢?我们正是缺少一个这样的APP。
开发此软件会给同学们制定一个合理的标准,使学生不会感到厌倦的情况下从而能坚持每天的运动,提高学生的身体素质,保持良好的生活状态。如果用户到浏览器端进行搜索,会受到网速的影响,相对与客户端推送来说,手机客户端简化了烦琐的搜索过程,将信息直接打包呈递给用户,满足了学生的需求,给用户带来了便捷和更好的体验。如果人们每天能坚持运动就能使人们走出宿舍,使人们自律,能控制好学习和娱乐的度,使老师上课更加轻松,会有更好的学风,从而使大学生活更加精彩。
1 需求分析
1.1 需求提出
根据用户对软件需求,软件主要目的是:以手机客户端的形式建立一套完整的个人日常运动评价体系,该软件会结合不同学生的课表作息时间来制定一个合理的体系进而建立一个每日目标,并通过手机检测使人们知道自己一天的运动量,以及是否达标。同时提供相关运动的教学视频。主要功能包括:每日目标、社区、教学、运动排行榜、我的。
1.2 需求描述
1.2.1 功能描述
每日目标功能主要是对学生进行私人定制每日运动量的目标并检测学生的运动是否达标;教学功能为运动者提供教学视频;社区功能中人们能发一些运动有趣的帖子,为运动者们提供交流;运动排行榜功能主要是显示今天好友的运动量排行榜,可以互相点赞等;我的功能修改个人信息。
1.2.2 性能描述
该软件占用的内存较小,能够在绝大多数Android的手机中流畅运行兼容性好,对Ram需求较小,会有一定的延迟,但基本可以保证流畅运行。
1.2.3 数据描述
此APP的数据有多种形式,其中数据主要包括:视频、PPT、用户信息、其他拓展运动知识资料。各数据类型建立相应数据子库,存放于数据库。
1.3 需求评审
1.3.1 确定系统边界
整个软件只针对大学的各专业。输出信息类型只包括视频和文本。软件提供需求提出的功能,而具体的功能需要用户来选择。
1.3.2 将来用户提出的需求
根据用户将来可能提出的需求,在设计软件时,增加其功能实现接口,以备将来增添新功能时使用。
1.4 软件定位及功能
1.4.1 软件定位
核心用户:(1)不爱运动长期在宿舍的大学生。(2)所有对运动的爱好者。
1.4.2 核心思想
(1)改变学生运动标准评定方法。(2)为学生制订一个合理的运动计划,让大学生能够了解自己一天的运动量。换一种方式来促使学生们运动,提高学生们身体素质自律生活。(3)让大学生能够离开宿舍放下手机。
2 软件的设计
2.1 核心功能
作为一个检测软件通过每日步数,如跑步、自行车、趴楼梯等方式来检测学生们每日的运动是否达标,改变过去只是通过体测来检测学生身体素质的单一的学生素质评定方法。
2.2 辅助功能
(1)提供社区功能,使人们能够分享和交流运动信息。
(2)为运动者们提供正确的教学方法。
(3)显示大家每日的运动量。
该应用主要分为五大模块,分为我的目标、社区、教学、运动排行榜、我的。采用MVC的方式进行开发,采用五层架构方式进行布局。
2.3 客户端设计
该应用主要分为六大模块,分为注册与登录,我的目标、社区、教学、运动排行榜、我的。
(1)注册与登录。分为可管理员登录和普通用户登录两个模块用户登录,对用户注册的用户名的要求,不同的用户要求有不同的用户名。(以学号作为入口,以自己的手机号码进行绑定来确定一个人)
(2)我的目标。以多种形式并进行综合的方式来检测学生每日的运动量是否达标,其中包括步数、跑步、骑行、俯卧撑、平板支撑、和其他等形式来检测每日的运动量。而达标量是根据每位学生体测的成绩,以及不同的课表和作息时间并结合国际锻炼时间标准而制定的合理的运动量,以及合理的运动时间。从而改变单一的运动达标检测方式。
(3)社区。包含两个大的功能模块,一个是发帖功能,其中包括热门、我的关注。另一个是交流功能,其中包括朋友和消息两个子模块。此模块主要为了提供分享功能。可以给大家“秀”出今天的运动量,同时可以记录生活的作用,而且还可以为运动者提供交流的一个平台。
(4)教学。模块包括三个子模块,分别为计划、视频、为你推荐。计划是根据每位学生不同的课表和作息时间制定的合理的锻炼时间,以及合理的运动量,使每位学生不会对运动感到太大的压力。而每个人可以在计划中合理地更改自己的运动时间等。视频为你提供你想学的正规的教学视频,为你推荐则根据你的喜好来推荐相关的文章、帖子、视频等内容。
(5)运动排行榜。模块显示我的我的好友的步数排行,可以互相点赞,可以点开我的主页显示近几天的运动数据,以及设置背景的功能,可以给每天运动的人互相激励。
(6)我的。模块由个人信息、运动数据、我的收藏三个部分组成。个人信息中有注册时填写的个人信息、爱好、运动信息。也可以之后进行修改个人信息,上传头像,更换背景等;目标可以制定自己的目标。关注是显示自己关注的和收藏的信息。
3 项目实现
3.1 总体设计
(1)Android客户端采使用Toobar+DrawerLayout+NavigationView+抽屉式导航,采用沉浸式状态栏的效果。
(2)服务器采用ViewPager+TabLayout+Fragment。通过Retrofit、RxJava以及OkHttp的结合。采用RxJava和Retroifit结合的方式,返回的数据json格式。
3.2 系统组件和开源组件
最外层布局是DrawerLayout,里面嵌套了两个布局,一层是FrameLayout,其中通过include进来的主界面内容,第二层是侧滑的内容,即Navigation View。
主界面布局先是Coordinator Layout嵌套了App BarLayout以及ViewPager。AppBarLayout中嵌套了ToolBar以及TabLayout。在Activity中让ViewPager和TabLayout关联,实现ViewPager页面滑动时对应标签的联动。
(1)getItemViewType()方法判断不同的布局,返回判断结果。
(2)创建不同的ViewHolder类,针对不同的布局类型,进行对应的布局内控件的初始化。
(3)onCreateViewHolder()方法根据第一步的判断结果,得到viewType,根据viewType值,实例化不同类型的ViewHolder对象。
(4)onBindViewHolder()方法判断holder所属类型,进行相对应类型的布局内控件内容的赋值。
3.3 项目实现及相关步骤
(1)前期需求规划与信息。首先,制定出一个完整的需求文档,功能文档,流程图,时序图。
(2)交互设计、UI设计。本项目需要设计出基本且完善的原型图和APP基础的交互设计效果之后,再根据这些设计出完整的UI界面进行切图,并做自适应的素材图片需要做点patch。这里还需要px,pt和dp之间的换算,屏幕密度的换算和相互之间的系数,以便Android app应用能完美适应不同分辨率设备。用到Axure等交互工具的使用,UI设计需要Photoshop和Illustrator等操作。
(3)本文使用ADT之类的开发环境进行APP软件开发,使用的是java语言,以及android环境和机制。
(4)本文用到服务器,掌握WebService相关知识和开发语言,用到了ASP.Net、PHP、JSP等。
(5)建立数据库。软件以SQL server数据库为数据支撑,主要数据库包括运动视频库、运动资料库、运动信息库、用户注册信息库等。最后通过应用与数据库链接构成完整系统。
(6)本项目的开发,某些功能需要做算法。
(7)API接口开发,本文使用自行开发API的能力以及调用第三方API的经验。
(8)TCP/IP,socket等网络协议和相关知识。
(9)APP发布的流程,真机调试技巧,证书,打包,上架,一个完整的Android手机APP才能安全上架。
4 总结
随着互联网的发展,已经进入万物互联的时代。互联网+运动将会越来越普及。科技方便了我们的同时,也是我们更加懒惰。基于Android运动达标APP却能够缓解这一现象。在我们通过个性化的设计为用户制定了适合用户的运动计划方案。因此能够达到引导学生正确运动的目的。从而达到循序渐进的适量运动,不断提高我们的身体素质。
参考文献:
[1]李艳国.基于Android的移动终端在智能图书馆中的应用[J].科技情报开发与经济,2012,22(15):23-25.
[2]萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,1991.
[3]夏帮贵.基于Android平台的图书馆服务系统设计与实现[J].现代图书情报技術,201l(6):85-89.
[4]百度文库.Android[EB/OL].[2011-03-01].http://baike.baidu.com/view/1241829.htm.
[5]DUBOISP.MySQL网络数据库指南[M].北京:机械工业出版社,2000.
项目:西北民族大学国家级大学生创新创业训练计划资助项目(项目编号:202010742063)
作者简介:孙寒飞(1998— ),男,汉族,河北保定人,本科,现就读于西北民族大学数学与计算机科学学院软件工程专业,研究方向:软件工程;蒲婧(1999— ),女,苗族,云南红河人,本科,现就读于西北民族大学数学与计算机科学学院软件工程专业,研究方向:软件工程。
指导老师:王书文。