依托第三方平台的轻断食健康养生APP研究
Research on a Light Diet Health and Wellness APP Based on Third-Party Platforms
DOI: 10.12677/CSA.2023.137131, PDF, HTML, XML, 下载: 189  浏览: 347  科研立项经费支持
作者: 孙浩宇, 贾美娟, 李 欣, 姜 珊, 王 宇, 李 佳:大庆师范学院计算机科学与信息技术学院,黑龙江 大庆
关键词: 轻断食健康养生APPJAVA语言Android StudioLight Diet Healthy Health Preservation APP JAVA Language Android Studio
摘要: 轻断食健康养生APP是一款依托第三方平台(IOS平台或安卓平台)、在手机客户端运行的软件,根据用户类型分别针对普通用户及VIP客户的减脂需求规划日常减脂套餐,且对VIP客户提供相应的餐食配方或制作视频。该软件基于手机客户端运行,用户使用方便、操作简单,后台数据处理简单快捷。
Abstract: The Light Food and Health App is software that relies on third-party platforms (IOS or Android ) and runs on mobile clients. It plans daily fat reduction packages based on the fat reduction needs of or-dinary users and VIP customers according to user types, and provides corresponding meal formulas or video production for VIP customers. This software is based on a mobile client, making it easy for users to use and operate, as well as simple and fast background data processing.
文章引用:孙浩宇, 贾美娟, 李欣, 姜珊, 王宇, 李佳. 依托第三方平台的轻断食健康养生APP研究[J]. 计算机科学与应用, 2023, 13(7): 1333-1342. https://doi.org/10.12677/CSA.2023.137131

1. 引言

餐饮外卖不仅方便了民众的生活,推动了餐饮产业的线上线下融合,在疫情期间更是发挥了“保民生、保供给、促就业”等方面的积极作用。这些年间相继产生的订餐APP就有数十家,其中领头的有饿了么、美团等。虽然订餐APP多种多样,但目前市面运行的大多数APP均是以日常食谱为主,缺少针对性和目标性;而人们生活条件的日益丰富,也让各年龄段的人均有饱受肥胖煎熬的经历,迫切希望既能享受美食的快乐,又能保持身体的健康。

本文讨论依托第三方平台(在此主要是指安卓平台),在手机客户端实现轻断食健康养生软件,该软件不仅能针对普通大众的减脂需求规划日常减脂套餐,还能根据特定客户的特定需要合理规划相应的减脂套餐,且对VIP客户提供相应的餐食配方或者餐食制作视频。

2. 研究现状分析

健康类APP是指拥有可以帮助用户记录分析健康数据、指导健康锻炼饮食、引领健康生活方式等功能的智能手机或可穿戴设备第三方应用程序 [1] 。目前健康类APP主要存在以下几个问题:

1) 内容相似度高,差别不大

目前我国的移动APP市场已处于爆发性增长时期,各行各业的从业人员利用APP推广自己的产品 [2] [3] ,由于监管机构与法规约束的滞后,导致各种APP出现恶性竞争、相互模仿、直接抄袭等情况。针对健康类的APP也存在同样的问题,APP之间差异性较少 [4] ,没有针对自己产品的特色或者没有针对特定人群的APP,用户使用任意一款健康类APP获取到的信息几乎一样,缺乏个性化设计。

2) 功能单一,实用性不强

虽然智能手机的发展推进了基于手机平台的软件的快速发展,但就目前市面上使用的关于健康类APP而言,大多以传播健康知识为主要功能,或者充当健康记录员的工作。并没有一款APP能够提供通过饮食搭配指引使用者改善身体状况或者健康减肥 [5] 。

轻断食也称为“5 + 2断食法”,是由英国医学博士麦克尔·莫斯利发起。轻断食是通过两天采用低热量饮食,使得体内脂肪加速分解,弥补由于食物短缺带来的热量缺口。轻断食模式可以加速机体脂肪动员、降低并稳定血糖水平,经过轻断食模式干预后超重者的体质量较干预前明显减轻,同时体脂百分比、舒张压也明显下降,但收缩压在干预前后无明显差异。

本课题将“轻断食”概念引入到健康养生领域,利用大多数目前采用的外卖点餐的方式,在点餐APP的菜单中提供能够帮助人们实现“轻断食”目的食谱,以满足人们真正的需求为基础,不仅为大众提供正常的餐饮服务,还帮助广大人民解决生活中遇到的减脂、养生问题,方便生活中人们所追求的通过食物保持健康身体的问题。使人们既能享受美食的快乐,又能保持身体的健康。

3. 系统需求分析

3.1. 用户需求分析

为明确人们对轻断食健康养生概念的观点及看法,课题组首先针对不同年龄层人们的不同需求进行了调研。调研对象为500位不同年龄区间、不同工作性质、不同性别的参与者,组成结构为:100位年龄在20上下的大学生;100位年龄在30岁上下的上班族;100位40岁上下的家庭主妇(夫);100位50岁上下的中龄人群以及60岁往上的退休人群。其中每组100人中分别为男女比例接近1:1。为了全面了解每位参与者的情况,对这500位参与者进行无记名式问卷调查,发放问卷,全部收回。事后对调查问卷进行分析,主要分析结果如下:

1) 从调查结果中看,针对于问卷第六个问题“你有在外卖软件上购买过减脂餐嘛?”,20~40岁人群中只有近30%的人群在外卖软件上购买过减脂餐;50岁往上的人群在外卖软件购买减脂餐的比例不超过5%。由此可见,目前人们对减脂餐的购买需求并不大。但是从问卷的第十二个问题“您对于低脂食品的印象是什么?”有45%的人选择了口味不好。还有20%选择了不了解。由此可知人们对减脂餐的购买需求并不大的直观原因是对目前世面上提供的减脂餐不满意或者对健康减脂并不了解。

2) 从调查结果可以看出,在参与调查问卷的500位参与者中,无论是年轻的大学生还是年迈的退休人员,接近70%的参与者对减脂餐的认知不完善。大多数人认为减脂就是少吃或者不吃,或者仍停留在最基础的减脂餐组合,即“大米饭 + 蔬菜”。

3) 针对于问卷中的第四个问题“您是否有过减肥或者健身的经历?”绝大多数人都选择了“是”。说明人们还是比较看中自己的身材管理及健康管理的。

通过对调查问卷分析可以确定:对于一款具有多功能的减脂APP,大家还是有较大期待的,有70%的人愿意去尝试了解这款APP;有60%的人愿意通过这样一款APP软件上看视频自己动手学习做减脂餐。可见大家对减脂餐APP还是给予很大的期盼的。

通过此次问卷调查,结合最初对减脂APP的设计及人们所提出的共性需求,课题组最终确认了该款减脂APP为“轻断食健康养生APP”,主要功能模块图如图1所示。

Figure 1. Main functional module

图1. 主要功能模块图

3.2. 系统可行性分析

3.2.1. 经济可行性

系统底层环境使用的是Android开发环境,使用的主要软件包都是开源的,开发环境包括安装JDK、Eclipse||MyEclipse、Android SDK及ADT插件等,这些在一台笔记本电脑即可满足需求。因此,从经济层面可以确定该软件的开发是可行的。后期,当软件运行后可以升级为高性能服务器作为大量用户的支撑。

3.2.2. 技术可行性

本项目旨在Android平台上构建一个快速、方便、高效的面向各年龄层的轻断食健康养生系统。从技术层面上出发,Android开发环境包括安装JDK、Eclipse||MyEclipse、Android SDK及ADT插件 [6] ,Android的四大组件分别为:Activity、Service、Broadcast Receiver、Content Provider。

Activity:从视觉效果来看,一个Activity占据当前的窗口,响应所有窗口事件,具备有控件,菜单等界面元素。从内部逻辑来看,Activity需要为了保持各个界面状态,需要做很多持久化的事情,还需要妥善管理生命周期。

Service:服务,相当于剥离了界面的Activity,它们在很多Android的概念方面比较接近,都是封装有一个完整的功能逻辑实现,只不过Service一般在后台运行,通过消息与前台交互。

Broadcast Receiver:在实际应用中,我们常需要等,等待系统抑或其他应用发出一道指令,为自己的应用擦亮明灯指明方向。而这种等待,在很多的平台上,都会需要付出不小的代价。在Android中,充分考虑了广泛的这类需求,于是就有了Broadcast Receiver这样的一个组件。每个Broadcast Receiver都可以接收一种或若干种Intent作为触发事件。

Content Provider:是Android提供的第三方应用数据的访问方案。Content Provider屏蔽了内部数据的存储细节,向外提供了上述统一的接口模型,这样的抽象层次,大大简化了上层应用的书写,也对数据的整合提供了更方便的途径 [7] 。Content Provider内部,常用数据库来实现,Android提供了强大的Sqlite支持,但很多时候,也可以封装文件或其他混合的数据。

JDBC数据库访问技术:用户执行结构化查询语句SQL的Java驱动程序接口,可以用于对各种关系型数据库进行访问。JDBC提供了各种由Java语言编写的类和借口组成的入口,还提供了一种标准准则,用于构建更高级的借口,使系统开发人员更方便的编写数据库应用程序代码。

3.2.3. 操作可行性

Ansible awx平台运行时界面清晰易懂,执行任务时会打印出执行日志,便于运维人员查看任务执行结果,且定义好模板和项目后可以重复执行,Zabbix前端页面模块清晰,官方自带的模板中有很多监控项和触发器可以参考,即便是运维小白也可以很快地上手,所以该系统满足操作可行性。

此外,该软件是基于手机客户端运行的,用户使用方便、操作简单,后台数据处理简单快捷,无论是从客户需求方面还是从商业运营方面来说,既经济、智能,又具有很好的可操作性及可维护性。

4. 项目结构及部署

课题通过http/ip网络协议实现连接服务器。首先由APP端向SSM框架在Tomcat部署的服务器端发送json信息请求,服务器端通过所对应的SSM后台代码请求来具体实现对于本地数据库MySQL中内容的增删改查操作。并通过部署在Tomcat上的服务器将从数据库查询到的数据通过json回传到APP端,再由APP端对json内容进行解析并展示出来。APP端通过解析服务器端传回来的json数据,再进行具体的操作。

4.1. 部署图

APP运行在Android系统上,服务器端是通过SSM框架所编写的后台代码部署Tomcat服务器上所形成的后台服务器,从而实现对数据库中数据的操作。项目部署如图2所示。

Figure 2. Project deployment

图2. 项目部署图

4.2. APP端框架

AndroidManifestxml:整个APP的组件类,APP中所应用到的每个activity界面都需要在这个文件中申明,才可使用。

Activity:在APP中是起到与用户交互的作用,同时也是展现每个APP界面的重要文件,每个界面如何显示都可以在其中修改。

Fragment:中activity的另一种表现形式,不过是展现在activity内,相当于activity的子集。

Util:自定义工具类,用于存储各种自定义的用户类、新建button类、算法工具类等等,以方便每次轻松的调用。

Layout:APP内中最为重要的一个最为突出的布局文件,所有的activity界面的样子,表现给用户看的样子都是此文件表现出来,所以,开发人员可以在layout界面看到当前activity的预览图。

Drawable:存放APP中所有自己用到的图片另外还有一些自己用到的自定义的控件。

Adpter:存放APP中各种自建adapter适配器,比如listview存放的数据适配器、日历适配器等等。

4.3. 系统硬件环境

CPU:AMD Ryzen 3 3200G或i5-10310U;

内存:8 GB;

存储:128 GB;

硬盘:512 G;

显卡:GTX750Ti;

基于Windows7开发,使用Android13版本和Java8。

5. 系统设计与实现

5.1. 系统设计

通过上述详细的需求分析,可以设计出系统的基础功能,包括用户注册、登录,查看、搜索、点餐等基本功能;高阶功能包括对餐品的介绍,通过餐品中的介绍,使用APP的人们可以了解到当前所浏览的餐食适合的人群、食物本身热量、是否适合运动后立即食用等信息。而且注册后的用户可以通过订餐历史记录专门记录每天摄入的热量,若热量超标通过推荐的方式“奖励”用户一套刘畊宏的本草纲目健身操视频。

积分功能是指每次下单订购或观看菜品制作视频或拍照上传制作将会获得相应积分,积分可以在积分商城中兑换奖品;

系统设置模块主要包括菜单管理和角色管理,可设置管理员自己喜欢的界面颜色和更换头像等内容;

分析功能是指注册后的用户可以通过输入自身身体数据,如身高、体重,身体状况,如血压血糖等,系统通过数据库数据分析后为用户推荐最适合的减脂餐食;

VIP客户功能是指VIP客户能够查看全部餐食的配方、制作视频等,而普通用户能够查看部分餐食的配方等内容。系统总体架构如图3所示。

5.2. 数据库设计

本系统采用SQLite作为数据库。SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目,其设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合 [8] ,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,SQLite比这两个数据库管理系统的处理速度都快。因此,本系统先用SQLite作为数据库。

Figure 3. System architecture

图3. 系统总体架构

5.3. 系统实现

该课题基于Android实现手机端界面的布局与使用,手机客户端功能实现和框架的建立,以下为布局界面各个框架:

1) 登陆界面:将用户注册的账号信息存储到数据库中,以方便用户登录,只有用户登录成功后才有权限访问本系统;

2) 滑动侧边栏:利用drawlayout控件创造滑动侧边栏以显示个人信息以及个人的喜爱、收藏和空间,同时可设置个人喜好界面;

3) 主界面:利用LinearLayout控件将产品一一列出;

4) 餐品界面:利用ImageView控件存入餐品图片,并一一列出相应的卡路里和制作视频;

5) 搜索界面:利用Button与TextView控件进行设计搜索引擎,搜索出相关餐食;

6) 分析功能:输入身体数据通过算法推算出BMI值,从而推荐给用户合适餐食;

7) 积分功能:通过冒泡算法来计算每个积分点,每日限定获得固定积分,兑换奖品消耗所需要的积分;

8) VIP功能:给予VIP用户特殊权限,可以查看全部内容。

课题利用RelativeLayout控件与TextView控件设计注册、登陆界面,Button与Fragment控件设置点餐界面,点击头像进入餐品信息界面,主要界面如图4~6所示。

Figure 4. System architecture

图4. 系统总体架构

Figure 5. System architecture

图5. 系统总体架构

Figure 6. User homepage

图6. 用户主页界面

6. 系统测试

本文主要采用黑盒测试,根据程序功能的要求规范设计测试用例,并推导出测试结果的准确性。主要分为单元测试、集成测试、权限测试三部分。

1) 单元测试:单元测试由一组独立的测试构成,每个测试针对软件中的一个独立的软件单元,用于检验被测代码所实现的一个独立功能的正确性。本文对系统的5个管理员管理单元以及客户端单元进行了测试,测试结果正常,说明系统独立单元功能正常。

2) 集成测试:集成测试是在单元测试基础上进行的一种有序测试,测试目的是验证软件单元之间、软件单元和集成的软件系统之间的接口关系,并验证已集成软件系统是否满足设计要求。本文对客户端中的搜索模块、购物车模块、商品浏览模块以及管理员模块功能进行测试,结果均为正常,说明系统各单元之间能顺利传输数据、协作运转,各功能模块运行正常,系统能完整实现需求。

3) 权限测试:本系统用户划分为普通用户、VIP用户及管理员三种,进行权限测试的目的是检查是否出现用户越权行为。由于系统已划分为普通用户端、VIP用户端以及管理员端三个不同的版本分别实现,只需在用户登录时检查用户角色是否具有登录当前版本的权限即可。测试结果正常,说明用户可以正确登录对应版本完成相应操作。

7. 系统部署与安装

1) 搭建Android应用运行环境:Android应用的运行主要在Android Studio上的模拟设备以及真实的物理设备上进行。Android Studio基于IntelliJ IDEA,为开发者提供集成的Android开发工具,便于应用程序的开发与调试。搭建Android应用的运行环境包括模拟器运行与物理机运行。

2) 模拟器运行:Android Studio中的设备模拟器提供多种虚拟设备供开发者调试运行项目,本文选用Pixel 2API 30进行模拟运行。点击“Run”按钮后,Android Studio会在该虚拟设备上安装并运行应用包。经过模拟运行测试,APP能在虚拟设备上正常运行,运行页面如图7所示。

Figure 7. Virtual device operation interface

图7. 虚拟设备运行界面

3) 真机运行:真机运行使用USB数据线连接安卓手机与电脑,物理机匹配成功后点击“Run”按钮,Android Studio会在该物理设备上安装并运行应用包。经过模拟运行测试,APP能在真实物理设备上正常运行。

4) 发布应用:测试通过后,需要将应用发布到应用商城中。Android 系统要求签名机制,所有安装在Android系统上的软件都必须经过签名,目的是使用签名辨别软件的开发者。使用Android Studio在工程目录下成功创建APP-release. apk和testjsk.jsk文件后,即可将签名成功的apk文件发布到应用商城。

8. 结论

项目组提出的减脂餐食APP,是一款依托第三方平台(IOS平台或安卓平台)、在手机客户端运行的软件,不仅能够针对普通大众的减脂需求规划日常减脂套餐,还能根据特定客户的特定需要合理规划相应的减脂套餐,并且对VIP客户提供相应的餐食配方或者制作视频。此外,该软件是基于手机客户端运行的,用户使用方便、操作简单,后台数据处理简单快捷,无论是从客户需求方面还是从商业运营方面来说,既经济、智能、可维护性,又具有较好的经济效益预期,是一款值得推广的软件。

基金项目

黑龙江省大学生创新创业训练项目(S202210235040X);全国高等院校计算机基础教育研究会计算机基础教育教学研究项目(2022-AFCEC-228);黑龙江省教育科学“十四五”规划2022年度重点课题(GJB1422347)。

参考文献

[1] 刘忻曈, 毛明志. 基于Android系统的大学生心理健康服务APP的设计与实现[J]. 现代计算机, 2023, 29(1): 74-80.
[2] 沈旭, 刘新明. 基于Android的学生助手App设计与开发[J]. 岭南师范学院学报, 2018, 39(6): 73-78.
[3] 蒲路遥, 柏陈城, 赵娟, 等. 基于Android的“作息学习提醒助手” APP的开发[J]. 科学技术创新, 2018(19): 66-67.
[4] 左莉, 谢妞妞. 基于Android平台的邻里助手APP的设计与实现[J]. 现代信息科技, 2019, 3(6): 94-96.
[5] 刘亚丽, 黄世宏, 王萌, 李爽, 魏韶锋. 健康类APP现状分析与研究[J]. 科技视界, 2016(5): 27+44.
[6] 何东. 基于Java语言的安卓软件开发研究[J]. 通讯世界, 2020, 27(4): 62-63.
[7] 张得震. 基于现代安卓系统的开发、技术创新及市场化发展研究[J]. 数字技术与应用, 2020, 38(1): 200+202.
[8] 李国才. 基于Android的数据库学习系统设计[J]. 电脑编程技巧与维护, 2019(11): 69-70+78.