基于Android 跑步辅助软件的设计与实现
2019-11-30陈彦伯严张凌四川大学锦城学院计算机与软件学院
陈彦伯 严张凌 四川大学锦城学院 计算机与软件学院
引言
从训练爆发力的百米冲刺,到减脂的有氧慢跑,从高中生的一千米体测,到如今盛行的半程马拉松、全程马拉松,跑步数据的记录、分享以及科学性、周期性地训练成为了智能化生活必不可少的一部分。根据国家体育总局2018 年印发的《马拉松运动产业发展规划》显示,2016 年在中国田径协会注册的马拉松赛事达328 场,参加比赛的总人次逾280 万,随着产业消费人口的进一步扩大,在2020 年马拉松运动产业规模将达到1200 亿元,各类路跑赛事参赛人数将达1000 万人次。另一方面,根据市场调研机构Counterpoint 今年5月的数据显示,2019 年第一季度国内安卓手机市场份额达到惊人的93%,随着以华为为首的一系列国产手机崛起,基于Android 开发软件也是大势所趋。
1 跑步人群现状分析
1.1 跑步的好处
首先,最显而易见的好处是,跑步对场地、器械和技巧的要求并不高。生活中能看到十到六十岁的人都在跑步,而且对于场地的要求很低:在几百米的小路上能够往返跑,或是在两三平米大小的跑步机上锻炼,或是在公园的跑道在学校的操场上,或是在上下班途中。如果是抱着适量运动的目的去参加跑步,那么衣着尽量宽松透气,鞋底尽量有弹性,即使这样粗糙的入门锻炼也能调用到全身肌肉,使肌肉更加发达,促进骨骼生长等好处。如果是专业的跑者,比如全程马拉松跑者,能够收获更多的好处。因为马拉松是一项有氧运动,能增强心血管功能,促进代谢,增强器官的功能。同时,马拉松也是一项考验毅力的运动,专业的跑者能锻炼自身意志力,对工作生活都有很大的帮助。
1.2 跑步人群大数据和科学建议
根据全球著名市场监测和数据分析公司尼尔森发布的报告显示,体育锻炼的人群具有高学历、高收入、高职位的特点,消费潜力巨大。随着我国经济的发展,越来越多的人将会投身于体育锻炼的浪潮中。报告显示,有71%的男性和69%的女性将跑步选为首要考虑的运动方式。在刚刚过去的618 电商大促活动中,各大电商给出的数据报告也证明了这一点:京东运动耳机前半小时的销量是去年同期的五倍、著名运动品牌耐克的天猫旗舰店4 分钟销售额破亿等等,都证明全民健身、全民运动的普及。针对此类人群开发一款跑步辅助软件极具前景。虽然跑步是大多数人运动的方式之一,但仍然具有风险。例如,在城市中,水泥地面并不是一个好的选择。因为水泥地面不像塑胶跑道或者草地具有弹性,会对膝盖产生伤害。另一方面,在跑步之前应该有热身活动。因为人体的肌肉具有粘滞性,适当的拉伸会降低抽筋拉伤的风险。不科学的跑步方式会加速疲劳、降低跑步成绩,对身体造成伤害。
跑步常用的衡量标准是配速,也就是跑者的每公里用时。例如,一个人跑10 公里用时一小时,那么他的配速就是六分钟每公里。通过配速的检测,可以长期记录跑者的跑步成绩和锻炼效果。对于一些以减脂为目的的跑者来说,太过快速的跑步反而达不到效果。慢跑是有氧运动,而快跑是无氧运动,只有有氧运动才会消耗脂肪。正常成年人在慢跑进行到半小时以后才会进入燃脂的状态。同时,在跑步的途中,例如在完成一公里的训练后,软件会通过语音播报的方式朗读配速。并且,周期性的跑步锻炼受天气、行程影响,所以根据科学的训练周期,定时提醒跑者坚持运动非常有必要。此类推送是基于当天的天气、用户的上一次训练量以及用户日历中的日程进行智能推送,为用户选择最好的锻炼时机。
2 设计与功能实现
2.1 设计思路与长跑周期训练计划
基于Android 的跑步辅助软件主要功能有计步计算配速、通知提醒和分享三个功能组成。计算配速是为了检测跑步数据,通知功能是为了提醒跑者进行周期性训练,而分享功能则是为了朋友之间互相监督打卡。跑步辅助软件的色调应该以高饱和度为主,刺激人的神经,达到激励的效果。同时,软件的按钮在不影响美观的情况下应尽可能的大,因为人体在疲惫状态下的操作精准度会下降。软件界面尽量选择色块作为背景,而不是繁乱的图案,以便区分和操作。
对于长跑训练,是在降低运动损伤的前提下达到效果。常见的运动损伤有跟腱疼痛、跑步膝等。膝盖是人体最脆弱的部位之一,膝盖受伤往往需要长达数月的修养,所以在跑步之外,还应该锻炼膝盖周围的肌群,例如靠墙半蹲,强化膝盖周围肌肉从而达到保护的目的。所以跑步辅助软件的建议计划是以尽可能降低运动损伤激励锻炼为目的。通常前两周建不应该以高负荷为目的。每周三次慢跑足够。第二阶段则应该以增加跑步距离和配速为目的,计划性、周期性地增加训练量。通常高强度训练后再进行舒缓训练,休息一天,调整状态进行下一个周期的训练。该跑步辅助软件依据该逻辑进行周期性训练提醒。
2.2 功能实现
现在市面上绝大部分智能手机都有三轴加速传感器,所以计步就是通过调用传感器实现。SensorManager 是系统级服务。通知功能主要在系统的下拉通知栏发送弹窗实现。通知的标题通过setContentTitle()设置,内容通过setContentText()设置,通知的时间则是用setWhen(System.currentTimeMillis())发出。分享功能主要通过系统自带的隐式intent 的功能实现。隐式intent 主要包含component、category、data、type 等属性。
3 结语
从Android 本身开源的优势,到跑步人群的剧增。基于Android 开发跑步辅助软件是大势所趋。在Android 目前极高的市场占有率下,应当顺势而为。但大部分用户可能暂时不明白锻炼时也可能受伤,不知道跑步的注意事项,也不知道周期性的训练甚至比每天坚持的效果会更好,向用户普及这些知识也是该软件的使命之一。也许用户觉察不到高饱和度色调带来的激励作用,也许用户不理解使用大比例按钮的意义,但这是一个软件设计者应尽的义务。也只有这样,才能让Android 软件生态更完美。