鸿蒙移动应用开发倾心家教(Arkts、Python和Mysql8.0)
媒介随着移动互联网的遍及,教育行业正在经历亘古未有的厘革。作为这场厘革的一部分,家教市场正渐渐从传统的面临面讲授模式向线上讲授模式转变。在这样的背景下,开发一款专门的家教App显得尤为紧张。
家教App将借助移动装备便捷、实时的特性,提供更加高效、个性化的学习体验。通过这款App,家长和学生可以轻松找到符合的家教,实现教育资源的优化配置。同时,家教App也将为家教提供者提供一个展示自己讲授能力的平台,帮助他们更好地与学生和家上举行沟通互换。
本课程计划报告将具体先容家教App的计划思路、功能模块、技能实现以及将来发展方向。通过这个项目,我们盼望能够对移动教育范畴举行更深入的探究,并为后续的相关研究提供参考和鉴戒。
感谢老师的悉心引导和同砚们的帮助,让我们能够顺利完成这个课程计划。在将来的学习和工作中,我们将不断努力,以期在家教App范畴取得更好的成绩。
随着信息技能的快速发展,操作体系作为连接硬件与软件的桥梁,其紧张性不言而喻。比年来,中国的操作体系产业取得了一系列突破,其中鸿蒙操作体系就是其中的佼佼者。作为华为自主研发的操作体系,鸿蒙旨在提供高效、安全、智能的装备互联体验。为了进一步推广鸿蒙操作体系的应用和开发,本课程计划了涵盖鸿蒙开发全流程的一系列课程。
通过本课程的学习,学员将把握鸿蒙操作体系的基本原理、开发环境搭建、应用开发、体系优化等方面的知识和技能。课程内容紧密联合实际,通过案例分析、实践操作等方式,使学员全面相识鸿蒙开发的各个方面。
此外,本课程还留意培养学员的创新意识和实践能力。在课程中,学员将有机遇到场到鸿蒙开发的实际项目中,通过团队协作、问题解决等方式,提高自己的综合素质和实际操作能力。
我们相信,通过本课程的学习,学员将能够熟练把握鸿蒙开发的相关知识和技能,为将来的工作和生活奠定坚实的基础。同时,我们也盼望本课程能够为推动鸿蒙操作体系的发展和应用做出积极的贡献。
需求分析
前端
https://i-blog.csdnimg.cn/blog_migrate/76cc3ef76f8d81bc52438c7950e26ccb.png
Deveco studio下载完成后创建项目,选择空白页举行下一步,这里先对项目命名,再选择SDK的版本,我选择的是3.1.0(API 9)版本。我选择的模型是FA模型,语言选择的是ARKTS语言。
https://i-blog.csdnimg.cn/blog_migrate/922ddaa124ba1f3a1dde2625444ad683.png
该模型的UI都写在,entry/src/main/ets/pages目次下。为了能实现页面的定向路由跳转,所有的页面都得在entry/src/main/base/profile目次下的main_pages文件里举行页面的报备。
后端
后端我采用的是python3.10版本,而且通过在控制台输入如下的指令完成django的安装。
https://i-blog.csdnimg.cn/blog_migrate/1276a16324ce42db329e5cc8d209b08e.png
之后在通过django-admin startproject myFirstDjango、python manage.py startapp stu 两串命令完成对项目的创建和app的创建,创建完app后要在主项目同名的子目次下找到setting中的INSTALLED_APPS,在最后添加上app的名字。
为了方便后期的http报文的发送网址的分割,我采用了子路由的方式,使网站的命名更加有序。
https://i-blog.csdnimg.cn/blog_migrate/52223fdbc2aa26601d1a7e3f99e39a04.png
在views文件里面,创建的所有视图都要到urls文件里举行路由的绑定,使输入对应的名字即可访问不同的界面。如图所示。
数据库
https://i-blog.csdnimg.cn/blog_migrate/5c998b94d33ad98fff89127060d100e0.png
在django框架中,所有相关的设置都是在与项目同名的目次下的setting文件中举行设置,在setting文件中找到DATABASES模块,在此处输入数据库的相关设置即可与数据库相连接。
https://i-blog.csdnimg.cn/blog_migrate/78e7a71fb301fab1c903414d665f2a75.png
在django框架中封装了很多的内容,包罗与数据库相连的种种方法。在我们创建的app目次下的models文件是专门来封装数据库相关内容的,如图2.5.6所示,该串代码所示为创建teacher表相关的代码。界说完成后在控制台输入python manage.py makemigrations后会生成迁移文件,最后输入python manage.py migrate,如果连接成功,控制台会输出迁移成功。
数据库的计划
数据库我选择的是MYSQL8.0,我创建了以下几个表格:
https://i-blog.csdnimg.cn/blog_migrate/8b137d7642e41f1be981def9e8e225df.png
Teacher表中的属性分别是:
[*]id:教师的主键,使用25个字符长度的字段存储。
[*]phone:教师的电话号码,使用25个字符长度的字段存储,可以为空。
[*]gender:教师的性别,使用2个字符长度的字段存储,可以为空。
[*]name:教师的名字,使用25个字符长度的字段存储,可以为空。
[*]address:教师的地址,使用255个字符长度的字段存储,可以为空。
[*]teaching_experience:教师的讲授科目,使用255个字符长度的字段存储,可以为空。
[*]grade:教师的品级,使用25个字符长度的字段存储,可以为空。
https://i-blog.csdnimg.cn/blog_migrate/1c79f5f8bc870f2927deecd3f08010d0.png
因为该app面向的对象重要为家长,所以我把用户表的名字设置为了parent:
[*]id:家长的主键,使用25个字符长度的字段存储。
[*]phone:家长的电话号码,使用25个字符长度的字段存储,可以为空。
[*]password:家长的密码,使用255个字符长度的字段存储,可以为空。
[*]address_info:家长的地址信息,使用255个字符长度的字段存储,可以为空。
https://i-blog.csdnimg.cn/blog_migrate/45e6f74a50e6dfeffc71aa979a3c24e2.png
该表用于在数据库中存储预约信息。
[*]id:预约的主键,使用25个字符长度的字段存储。
[*]parent_phone:家长的电话号码,使用25个字符长度的字段存储,可以为空。
[*]teacher_phone:教师的电话号码,使用25个字符长度的字段存储,可以为空。
[*]teacher_name:教师的名字,使用25个字符长度的字段存储,可以为空。
[*]subject:预约的科目,使用25个字符长度的字段存储,可以为空。
[*]reserve_time:预约的时间,使用25个字符长度的字段存储,可以为空。
https://i-blog.csdnimg.cn/blog_migrate/447d4d11ac45cd5ba6685272b7ce4d10.png
该表用于在数据库中存储预约信息。
[*]id:预约的主键,使用25个字符长度的字段存储。
[*]parent_phone:家长的电话号码,使用25个字符长度的字段存储,可以为空。
[*]teacher_phone:教师的电话号码,使用25个字符长度的字段存储,可以为空。
[*]teacher_name:教师的名字,使用25个字符长度的字段存储,可以为空。
[*]subject:预约的科目,使用25个字符长度的字段存储,可以为空。
[*]reserve_time:预约的时间,使用25个字符长度的字段存储,可以为空。
我计划的流程为先举行身份核验,核验通过的才能进入到体系。进入体系会有四个主界面可以跳转,分别是主界面、搜刮界面、信息界面和个人信息界面。
https://i-blog.csdnimg.cn/blog_migrate/310b5c1c1575e7dcc23b4df60a152ff6.pnghttps://i-blog.csdnimg.cn/blog_migrate/4a5ecf6e746f143abcde5b557d625cab.png
主界面 搜刮界面
每个界面内会包罗若干功能,第一个界面,如图3.3,和第二个界面,如图3.4,重要是实现的是搜刮功能,即按照一定的关键词,把数据传输给后端。第一个界面中的第一行搜刮框出发时是向后端发送教师姓名然后举行处理,接下来的科目框点击后则是,发送一个科目信息给后端,后端在teacher表里搜刮teaching_experience,如果发送过来的数据和讲授经历雷同时则把此项记载的id、name和grade举行返回。
https://i-blog.csdnimg.cn/blog_migrate/6ae6b3403ca36af86cbfce55d40c550c.png
第三个界面是信息界面,包罗的内容为预约老师消息、我要提建议、消息论坛和优惠卷信息,每点击一个会触发一个相对应事件,该事件会向后端发送相应的请求,后端会到数据库中相应的表里举行数据读取。
测试分析
https://i-blog.csdnimg.cn/blog_migrate/7440555172845d2bdb9907ffe10580cd.png
登陆界面
这里是登录界面的流程图,首先Deveco会先渲染一个登录界面,如图
在输入完账号和密码之后,点击登录会触发一个http请求的发送,该请求包罗一个json数据格式,包罗了用户名和密码,请求会发送到django搭建的一个网址,服务器吸收到数据后,会到数据库中举行比较,如果账号存在且密码匹配则返回一个true,反之则返回一个false。
客户端吸收到数据后举行解析,如果正确则进入此app的主界面,否则弹出密码错误的弹窗。
https://i-blog.csdnimg.cn/blog_migrate/45242705bc047dbca427779cc130adc9.png
注册界面
这是注册界面,所有的输入框都完成输入且两次密码输入都正确后,点击注册会触发另一个事件,该事件会向后端的注册网页发送一个http请求,该请求会包罗此界面中的所有数据,后端吸收到数据后会对MYSQL8.0举行注入。
https://i-blog.csdnimg.cn/blog_migrate/44d89499791b09b9596f5e3127220606.png
用户表
我输入的账号、电话号码、密码和地址都为1,则数据库中会注入这些数据,如图3.4.
https://i-blog.csdnimg.cn/blog_migrate/cf6b40a67a9b21d39b374e71437bad22.png
主界面
登录验证完后进入的是一个主界面,如图。最上方是一个搜刮框,输入 教师的姓名后,点击右边的搜刮框,会触发一事件,即向后端发送一个http报文,内容为一个json格式,包罗教师姓名。后端吸收到数据后,用JSONrespose方法把搜刮到的教师数据全部返回给前端。前端会用一个用@state装饰器装饰的字符串数组吸收教师的姓名、id和执教年级。并跳转到第二个页面,并渲染出来,如图3.6。
https://i-blog.csdnimg.cn/blog_migrate/637f2783bf9f34e20b38ee99a2d0ba73.png
搜刮返回
下面的科目分栏,点击完会触发一个事件,会向后端发送一个数据,内容为点击的科目。如点击语文,则会向后端传输一个json数据,内容包罗科目信息,后端吸收到后会到数据库里举行搜刮,并把数据封装好返回给前,如图3.6。点击教师界面后会进入预约界面,如图4.7.
https://i-blog.csdnimg.cn/blog_migrate/6ad0218a64ccfdf9faa4d8b0a8429eba.png
预约界面
如果不举行预约,则点击返回按钮,页面会选择跳转到上一个界面中去。如果选择预约,则会向后端发送一个http请求,后端吸收到后会举行数据的处理,获得的家长id和教师id分别到parent表和teacher表中举行数据的获取,而且把最后获取的数据全部注入带reserve表中。
https://i-blog.csdnimg.cn/blog_migrate/1d4282be97784cf357b9c4b0a5ebeadc.png
信息界面
这是消息界面(图4.8),在这个界面中,会包罗很多的关于个人收发信息的先容,点击各个文本会触发一些事件,这些事件会向后端发送用户的id账号,并举行一些其他操作,如下面的提建议事件。
https://i-blog.csdnimg.cn/blog_migrate/706b1ef2db9caf6f98c2407609ff40d4.png
意见图
在这个界面,最上方有一个返回按钮,点击则会返回上一个界面,即消息界面,如果故意见或建议,则可填写教师的姓名,并在下面的文本输入框输入教师姓名,会有两个被@STAT装饰器装饰的三个字符串返来吸收家长id、教师id和意见,而且点击提交会触发有个事件。该事件会把数据发送个后端,后端吸收到数据后,回到背景举行比对。如果教师信息是存在的则会在意见表中注入一个记载。
https://i-blog.csdnimg.cn/blog_migrate/99a1fc0242b8c8779e6b30203447dcc9.png
个人信息
如图为个人信息界面,在该界面中有很多的模块,其中最上端的电话是在进入体系是赋值给一个共享数据的值,该值在整个应用中所有的事件都可以引用、读取。
下面依次为:
1.个人订单功能
个人订单重要是查询用户已经购买的书籍,包罗已经收到货的和未收到货的.
2.个人钱包功能
当用户单击“我的钱包”图标时,即可查看个人电子钱包信息,其中包罗了总额、余额、积分等信息。
3.奖学劵
点击时会出现奖学劵相关信息。
下面依次为我的老师、我的评价、我的答复、我的课程和学习计划与总结。
点击各个模块都会触发相应的事件,如点击我的钱包,前端会 首先把共享数据用户id给获取下来,发送http请求给后端,后端吸收到后会到相对应的表中读取数据。
https://i-blog.csdnimg.cn/blog_migrate/ea6edcadc0dc5b1a5c06b93b1fe94e0e.png
我的钱包
我现在触发的是我的钱包的事件,后端读取par_money表中的数据,而且把数据给封装成一个josn格式,并用JSONresponse举行返回,前端吸收到信息后会把数据渲染出来,如图4.11。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]