官方文档

了解导入机制-各部分代码作用

了解导入机制

开始

在开始之前,我们需要了解小爱课程表是如何导入的。以及接下来的哪些步骤需要具体地深入。

小爱课程表的导入流程

根据上图可以得知:代码的运行分为两部分>>>Provider和Timer在手机的本地执行,Parser在服务器中执行。所以代码的运行是在两个不同环境中运行的,服务器环境缺少了大部分的Webview API

因此Parser许多能在本地使用的解析方法就不能用在服务器中,例如 document、DOMparser等

为了能在电脑中尽量解决大部分问题,也因为手机端的错误追踪相对困难,我们建议你模拟服务器的环境

虽然代码的运行并不强求这个步骤,也可以正常运行。但我们仍然建议你开启,否则,无法模拟手机端的正式运行效果。(Parser中的部分代码可能在电脑正常运行,手机无法运行)

各部分代码作用

例如,我们给出一份示例数据如下

[ { skxq:"1-11", sksj:"3-4", kcmc:"大学生心理健康教育", skjs:"A老师", skdd:"A1-1012" } ]

在这段json数据中,保存了上课时间、课程名称、授课老师、上课地点等信息

Provider的作用就是从服务器或者是本地获取这串数据,再将数据解析成初步的字符串格式

Parser则将这串字符串解析,将每节课的信息以object的方式记录,并返回为包含数据的Array组

Timer的作用则是在课表初步导入后,进一步设定时间,例如开学时间、周次信息和课程节次等

其中,Timer对项目影响较小,Provider和Parser是项目的核心文件