鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

03-22 1335阅读

前言

随着移动互联网的普及,教育行业正在经历前所未有的变革。作为这场变革的一部分,家教市场正逐渐从传统的面对面教学模式向线上教学模式转变。在这样的背景下,开发一款专门的家教App显得尤为重要。

家教App将借助移动设备便捷、实时的特性,提供更加高效、个性化的学习体验。通过这款App,家长和学生可以轻松找到合适的家教,实现教育资源的优化配置。同时,家教App也将为家教提供者提供一个展示自己教学能力的平台,帮助他们更好地与学生和家长进行沟通交流。

本课程设计报告将详细介绍家教App的设计思路、功能模块、技术实现以及未来发展方向。通过这个项目,我们希望能够对移动教育领域进行更深入的探讨,并为后续的相关研究提供参考和借鉴。

感谢老师的悉心指导和同学们的帮助,让我们能够顺利完成这个课程设计。在未来的学习和工作中,我们将不断努力,以期在家教App领域取得更好的成绩。

随着信息技术的快速发展,操作系统作为连接硬件与软件的桥梁,其重要性不言而喻。近年来,中国的操作系统产业取得了一系列突破,其中鸿蒙操作系统就是其中的佼佼者。作为华为自主研发的操作系统,鸿蒙旨在提供高效、安全、智能的设备互联体验。为了进一步推广鸿蒙操作系统的应用和开发,本课程设计了涵盖鸿蒙开发全流程的一系列课程。

通过本课程的学习,学员将掌握鸿蒙操作系统的基本原理、开发环境搭建、应用开发、系统优化等方面的知识和技能。课程内容紧密结合实际,通过案例分析、实践操作等方式,使学员全面了解鸿蒙开发的各个方面。

此外,本课程还注重培养学员的创新意识和实践能力。在课程中,学员将有机会参与到鸿蒙开发的实际项目中,通过团队协作、问题解决等方式,提高自己的综合素质和实际操作能力。

我们相信,通过本课程的学习,学员将能够熟练掌握鸿蒙开发的相关知识和技能,为未来的工作和生活奠定坚实的基础。同时,我们也希望本课程能够为推动鸿蒙操作系统的发展和应用做出积极的贡献。

需求分析

前端

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

Deveco studio下载完成后创建项目,选择空白页进行下一步,这里先对项目命名,再选择SDK的版本,我选择的是3.1.0(API 9)版本。我选择的模型是FA模型,语言选择的是ARKTS语言。

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

该模型的UI都写在,entry/src/main/ets/pages目录下。为了能实现页面的定向路由跳转,所有的页面都得在entry/src/main/base/profile目录下的main_pages文件里进行页面的报备。

后端

后端我采用的是python3.10版本,并且通过在控制台输入如下的指令完成django的安装。

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

之后在通过django-admin startproject myFirstDjango、python manage.py startapp stu 两串命令完成对项目的创建和app的创建,创建完app后要在主项目同名的子目录下找到setting中的INSTALLED_APPS,在最后添加上app的名字。

为了方便后期的http报文的发送网址的分割,我采用了子路由的方式,使网站的命名更加有序。

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

在views文件里面,创建的所有视图都要到urls文件里进行路由的绑定,使输入对应的名字即可访问不同的界面。如图所示。

数据库

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

      在django框架中,所有相关的设置都是在与项目同名的目录下的setting文件中进行设置,在setting文件中找到DATABASES模块,在此处输入数据库的相关设置即可与数据库相连接。

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

在django框架中封装了许多的内容,包括与数据库相连的种种方法。在我们创建的app目录下的models文件是专门来封装数据库相关内容的,如图2.5.6所示,该串代码所示为创建teacher表相关的代码。定义完成后在控制台输入python manage.py makemigrations后会生成迁移文件,最后输入python manage.py migrate,如果连接成功,控制台会输出迁移成功。

数据库的设计

数据库我选择的是MYSQL8.0,我创建了以下几个表格:

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

Teacher表中的属性分别是:

  1. id:教师的主键,使用25个字符长度的字段存储。
  2. phone:教师的电话号码,使用25个字符长度的字段存储,可以为空。
  3. gender:教师的性别,使用2个字符长度的字段存储,可以为空。
  4. name:教师的名字,使用25个字符长度的字段存储,可以为空。
  5. address:教师的地址,使用255个字符长度的字段存储,可以为空。
  6. teaching_experience:教师的教学科目,使用255个字符长度的字段存储,可以为空。
  7. grade:教师的等级,使用25个字符长度的字段存储,可以为空。

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

因为该app面向的对象主要为家长,所以我把用户表的名字设置为了parent:

  1. id:家长的主键,使用25个字符长度的字段存储。
  2. phone:家长的电话号码,使用25个字符长度的字段存储,可以为空。
  3. password:家长的密码,使用255个字符长度的字段存储,可以为空。
  4. address_info:家长的地址信息,使用255个字符长度的字段存储,可以为空。

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

该表用于在数据库中存储预约信息。

  1. id:预约的主键,使用25个字符长度的字段存储。
  2. parent_phone:家长的电话号码,使用25个字符长度的字段存储,可以为空。
  3. teacher_phone:教师的电话号码,使用25个字符长度的字段存储,可以为空。
  4. teacher_name:教师的名字,使用25个字符长度的字段存储,可以为空。
  5. subject:预约的科目,使用25个字符长度的字段存储,可以为空。
  6. reserve_time:预约的时间,使用25个字符长度的字段存储,可以为空。

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

该表用于在数据库中存储预约信息。

  1. id:预约的主键,使用25个字符长度的字段存储。
  2. parent_phone:家长的电话号码,使用25个字符长度的字段存储,可以为空。
  3. teacher_phone:教师的电话号码,使用25个字符长度的字段存储,可以为空。
  4. teacher_name:教师的名字,使用25个字符长度的字段存储,可以为空。
  5. subject:预约的科目,使用25个字符长度的字段存储,可以为空。
  6. reserve_time:预约的时间,使用25个字符长度的字段存储,可以为空。

我设计的流程为先进行身份核验,核验通过的才能进入到系统。进入系统会有四个主界面可以跳转,分别是主界面、搜索界面、信息界面和个人信息界面。

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

                              主界面                                                            搜索界面

每个界面内会包含若干功能,第一个界面,如图3.3,和第二个界面,如图3.4,主要是实现的是搜索功能,即按照一定的关键词,把数据传输给后端。第一个界面中的第一行搜索框出发时是向后端发送教师姓名然后进行处理,接下来的科目框点击后则是,发送一个科目信息给后端,后端在teacher表里搜索teaching_experience,如果发送过来的数据和教学经历相同时则把此项记录的id、name和grade进行返回。

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

第三个界面是信息界面,包含的内容为预约老师消息、我要提建议、消息论坛和优惠卷信息,每点击一个会触发一个相对应事件,该事件会向后端发送响应的请求,后端会到数据库中相应的表里进行数据读取。

测试分析

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

 登陆界面

这里是登录界面的流程图,首先Deveco会先渲染一个登录界面,如图

在输入完账号和密码之后,点击登录会触发一个http请求的发送,该请求包含一个json数据格式,包含了用户名和密码,请求会发送到django搭建的一个网址,服务器接收到数据后,会到数据库中进行比较,如果账号存在且密码匹配则返回一个true,反之则返回一个false。

客户端接收到数据后进行解析,如果正确则进入此app的主界面,否则弹出密码错误的弹窗。

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

 注册界面

这是注册界面,所有的输入框都完成输入且两次密码输入都正确后,点击注册会触发另一个事件,该事件会向后端的注册网页发送一个http请求,该请求会包含此界面中的所有数据,后端接收到数据后会对MYSQL8.0进行注入。

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

用户表

我输入的账号、电话号码、密码和地址都为1,则数据库中会注入这些数据,如图3.4.

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

主界面

登录验证完后进入的是一个主界面,如图。最上方是一个搜索框,输入 教师的姓名后,点击右边的搜索框,会触发一事件,即向后端发送一个http报文,内容为一个json格式,包含教师姓名。后端接收到数据后,用JSONrespose方法把搜索到的教师数据全部返回给前端。前端会用一个用@state装饰器装饰的字符串数组接收教师的姓名、id和执教年级。并跳转到第二个页面,并渲染出来,如图3.6。

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

搜索返回

下面的科目分栏,点击完会触发一个事件,会向后端发送一个数据,内容为点击的科目。如点击语文,则会向后端传输一个json数据,内容包含科目信息,后端接收到后会到数据库里进行搜索,并把数据封装好返回给前,如图3.6。点击教师界面后会进入预约界面,如图4.7.

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

预约界面

如果不进行预约,则点击返回按钮,页面会选择跳转到上一个界面中去。如果选择预约,则会向后端发送一个http请求,后端接收到后会进行数据的处理,获得的家长id和教师id分别到parent表和teacher表中进行数据的获取,并且把最后获取的数据全部注入带reserve表中。

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

信息界面

这是消息界面(图4.8),在这个界面中,会包含许多的关于个人收发信息的介绍,点击各个文本会触发一些事件,这些事件会向后端发送用户的id账号,并进行一些其他操作,如下面的提建议事件。

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

意见图

在这个界面,最上方有一个返回按钮,点击则会返回上一个界面,即消息界面,如果有意见或建议,则可填写教师的姓名,并在下面的文本输入框输入教师姓名,会有两个被@STAT装饰器装饰的三个字符串回来接收家长id、教师id和意见,并且点击提交会触发有个事件。该事件会把数据发送个后端,后端接收到数据后,回到后台进行比对。如果教师信息是存在的则会在意见表中注入一个记录。

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

个人信息

如图为个人信息界面,在该界面中有许多的模块,其中最上端的电话是在进入系统是赋值给一个共享数据的值,该值在整个应用中所有的事件都可以引用、读取。

下面依次为:

1.个人订单功能

个人订单主要是查询用户已经购买的书籍,包括已经收到货的和未收到货的.

2.个人钱包功能

当用户单击“我的钱包”图标时,即可查看个人电子钱包信息,其中包含了总额、余额、积分等信息。

3.奖学劵

点击时会出现奖学劵相关信息。

下面依次为我的老师、我的评价、我的回答、我的课程和学习计划与总结。

点击各个模块都会触发相应的事件,如点击我的钱包,前端会 首先把共享数据用户id给获取下来,发送http请求给后端,后端接收到后会到相对应的表中读取数据。

鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)

我的钱包

我现在触发的是我的钱包的事件,后端读取par_money表中的数据,并且把数据给封装成一个josn格式,并用JSONresponse进行返回,前端接收到信息后会把数据渲染出来,如图4.11。

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]