基于APICloud的“校园健身达人”APP设计与实现
2016-10-31陈思徐晨飞
陈思+徐晨飞
摘要:随着移动信息技术的高速发展和全民健身浪潮的到来,“互联网+健身运动”的新型生活方式迅速的渗透到我们的生活中,极大地改变了我们传统的运动健身方式。该文以高校用户为目标群体设计并实现了基于APICloud开发技术的跨平台移动应用程序:“校园健身达人”APP。其具备了场地预约、健身活动发起、“达人”排行榜等功能模块,该APP对激发大学生的健身热情,帮助他们养成良好的健身习惯进行了很好的尝试。
关键词:APICloud;校园健身;移动应用
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)22-0051-03
Abstract: A new lifestyle called "Internet + Fitness exercises" is permeating our everyday life, which has been greatly changing our traditional ways of fitness exercises, with the rapid development of mobile information technology and the arrival of the tide of the national fitness. This paper designs and implements a cross-platform mobile application on APICloud platform, "School Fitness Talent", which targets college students. The main functions of the APP are sports site reservation, initiating fitness campaigns, ranking list of talent and so forth. The APP is a good try of stimulating enthusiasm for college students exercise of fitness and developing their habits of fitness.
Key words: APICloud; School Fitness; mobile applications
1 背景
在当今的信息时代,移动互联网逐渐成为主流应用,移动网民的数量远远大于传统电脑端网民的数量,移动应用程序迅速崛起。目前,各类健身运动类APP迅速抢占市场,仅在Apple Store健康健美类栏目下就有上百种运动健身类APP。如此庞大数量的健身类APP一方面为全民健身活动的发展提供了帮助,另一方面由于同质软件开发过多,内容重复,企业缺乏准确的客户分析与市场定位,导致相关APP并未取得市场预期。通过调研发现,大多数此类APP均具备运动数据记录、运动目标设置和监测、运动社交等功能,但目标用户均未细分,以校园学生为目标客户群体的APP寥寥无几。本文实现的“校园健身达人”APP,不仅能引导大学生选择健康的生活方式,还可促进国家提倡的“全民健身计划”在高校中更好地开展与实施。
2 系统开发相关技术分析
2.1 跨平台移动应用开发
跨平台移动应用开发是指开发不依赖于操作系统与硬件环境的移动应用程序,具备开发语言抽象,硬件控制力低等特点。在一个平台上开发的基于某系统的应用程序,在其他系统中依然可运行。随着智能手机的快速发展,移动应用占据了主流市场,移动操作系统主要以iOS、Android、WP三大系统为主。由于各系统之间接口互不兼容,每一种应用程序在开发过程中都需进行多系统开发,耗费一定的工力与时间。跨平台开发可实现应用程序的系统兼容性,目前市场上较为成熟的跨平台移动应用开发框架有PhoneGap、Titanium和Rhodes等。
2.2 APICloud
APICloud是中国首个“云端一体”的移动应用云服务提供商。API中封装了大量的函数和方法,将所有后台数据的存储过程,逻辑结构隐藏,大大简化了操作流程,可帮助开发者快速实现移动应用的开发、测试、发布、管理和运营等全生命周期管理。
APICloud的“端API”封装了大量移动应用程序所需的主要功能,便于开发者之间调用接口实现功能,通过JavaScript语言,一个模块的代码可同时兼容iOS平台和Android平台,充分体现了其跨平台开发的优势。APICloud官网还提供多人提交代码调试、团队协作开发的途径和方法,代码公开,详细记录代码更新信息和模块调用信息,使开发者能清晰地了解开发进程。
APICloud的“云API”提供包括数据服务、推送、云端修复和大数据分析等服务;极大的简化了开发者的开发过程,可以自动生成移动应用程序所需的各种云服务接口。其典型的“云”特性和“大数据”特性,为App开发者提供云端的API服务和数据存储服务,动态生成RESTful API,在线NoSQL数据表设计、API调试及用量分析等;同时还提供推送、云修复、大数据分析等服务, 极大的简化了服务器端开发工作。
2.3 开发工具
本文采用的开发工具为Sublime Text3与APICloud Studio。在Sublime Text中可安装APICloud为开发者提供的开源扩展插件,其具有应用管理、应用框架、页面模板、代码提示、代码管理、Widget打包、真机同步、日志输出、管理自定义AppLoader等功能。APICloud Studio是基于Eclipse和Aptana Studio3的扩展,集成了包括应用管理、模版框架、云端同步、代码管理、代码提示、本地打包、真机同步、AppLoader管理,编译自定义AppLoader等功能。
3 系统平台设计
3.1 功能模块设计
本文开发的APP功能模块主要包括健身会校友、轻松预约健身场地、健身达人成长记录以及个人展示等四个核心模块。在各模块的功能支持下,使用者不仅可轻松搜索到校园内有相同爱好及运动需求的同学一起参与健身活动,还可了解到校园周边健身场馆的信息,提前预约;此外还可通过系统收集的运动健身数据实时掌握自己的运动量,探索自己的运动潜能,并通过“达人排行榜”与校园其他同学进行社交互动。具体数据流程图如图1所示。
在“健身会校友”模块中,用户可发布校内各类运动健身活动的信息,注册用户可自主发布与报名参加各项活动。通过活动的参与,与志同道合的人一起去健身,健康乐观的创建新型校园绿色生活。
在“健身场地预约”模块中,用户可找到校园附件健身场馆详细资料信息,包括场馆的地理位置分布、场地预约情况,场地空闲信息等,用户可提前预约自己所需运动场地。
在“达人排行榜”模块中,系统根据用户的综合健身情况与相关数据分析得出排行榜单,用户可了解自己在校园内的排行情况,促进用户健身的积极性。
在“个人信息展示”模块中,用户可编辑自己的相关资料信息,也可查看已发布的活动以及好友信息,此外还有一系列用户身份认证的设置也在此模块中完成。
3.2 数据库设计
APICloud的云端服务器提供了Nosql数据库。在云服务器上,APICloud将所有数据表的内部结构、属性设置、表关联等信息都隐藏了,简洁的界面简化了操作。本文根据系统功能结构设计在云数据库中创建了7张表格,分别为:用户(user)表、活动信息表(NamesSchoolActivityList)、预约场地信息表(OrderFields)、附近场馆信息表(SurroundingsInfo)和意见反馈表(Feedback)。
4 系统实施
4.1 用户系统注册与登录
在移动端登录界面,用户可进行注册和登录,注册时设定了确认密码,两次输入密码相同时才能正确登录,同时提供了邮箱验证;登录之后可以设置性别、常住地等个人详细信息。
APICloud在端API中拥有云服务对接功能,分为mam、msm、mcm和push功能。此处主要调用的是mcm模块。该模块拥有四个对象:model、uquery以及user对象。JavaScript代码调用云API中的user对象,该对象拥有封装好的register、login、logout等方法,可实现注册和登录功能。用户注册成功后自动返回至登录页面,并且带入页面参数,如用户的注册昵称等,此时用户可直接输入密码登录。此外,对用户输入信息行为可进行安全控制。注册界面如图2所示。
4.2 “健身会校友”模块
该模块首页可以看到健身运动分类,在一级分类下面有相关的活动,在活动信息界面可以参与活动,同时活动的相关信息会进行更新;也可发起活动,设置健身活动的名称、活动时间、活动类型、参与人数等。所有发起的活动按发起的时间顺序进行排序。具体界面如图3,4,5所示。
4.3 “达人成长”模块
在本模块中,从服务器端获取用户参加活动和发起活动的次数,进行运算得出实时榜单列表,相关JavaScript代码如下,具体截图如图6所示。
[ function fnDecideTalent() {
var userInfo = $api.getStorage('userInfo');var userid = userInfo.userId;
var username = userInfo.account; var client = new Resource(appid, appkey);
var User = client.Factory("user");
User.query({ "filter" : {"where" : {"id" : userid }, "skip" : 0,"limit" : 20,
"include" : ["talentPointer"] } }, function(ret, err) {
if (ret[0].talent) { fnUpdateCountUserLanch(); } else { fnCountUserLanch();}})}; ]
4.4 “健身场地预约”模块
本模块第一个窗口是预约健身场地,在第一级分类下显示相关场地信息,同时在第一级分类下的frame界面可以预约场地,同时更新数据。在附近健身场馆信息界面,可以发布场馆的名称、价格、地址、联系电话和简介等信息。具体界面如图7、8所示,预约健身场地重要代码如下:
[function fnUpdateState1(IdInfo) {
var userInfo = $api.getStorage('userInfo');var userid = userInfo.userId;
var username = userInfo.account; var client = new Resource(appid, appkey);
var OrderFields = client.Factory("OrderFields");
OrderFields.save({"_id" : IdInfo}, {"orderuser1" : username, "_method" : "PUT" }, function(ret, err) { window.location.reload(); }); }; ]
4.5 “个人信息展示”模块
在本模块中,可从数据库中读取用户设置的昵称、个人照片及其他相关设置内容。如图9所示。
5 结束语
目前,基于大学校园的健身类软件并不多见,本文设计的APP突出“校园健身达人”概念,具有一定的创新性,可促进在校学生积极参加各类健身活动,实现“互联网+”背景下健康的校园生活方式。未来,笔者将继续完善细节,加强界面交互等功能,给用户带来更好的体验。
参考文献:
[1] 张晓军. 基于HTML5+CSS3.0+jQuery在移动电商APP开发中的应用[J]. 通讯世界, 2015(265): 57.
[2] 祁瑾. 基于苹果手机的爱运动应用程序的设计实现[D]. 长春: 吉林大学, 2015.
[3] 沈华英. 基于开放云API的移动App设计研究[J]. 电脑编程技巧与维护,2015(338): 45-46.
[4] 余成成, 高凯. 运用APICloud进行融资价值评估系统的开发[J]. 电脑知识与技术,2015(11): 77-79.
[5] 张海潘. 软件工程导论[M]. 北京: 清华大学出版社,2005: 47.
[6] 王珊. 数据库系统概论[M]. 北京: 高等教育出版社,2005: 14-17.