您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 手机/mobile开发 > Android客户端解析引擎流程说明
1、用户点击界面上的按钮/列表/九宫格等,进行业务请求。2、请求事件处理2.1处理请求对象。2.1.1判断是由界面发送的请求,还是弹出框发送的请求。如果是界面发送的请求则进行界面输入框格式校验(绘制界面时把界面上的输入框格式要求放到了当前界面对象封装类的列表中)。若校验不成功(如输入字符,最小长度等不符合),则给出弹出框提示用户。如果是弹出框发送请求,不做校验(弹出框不能有输入框)。2.1.2把请求对象中需要setvar保存的变量进行保存或更新。2.1.3处理请求地址url。如果里面有“?”+“参数对”,则把相应的参数对放入到请求对象的postfield列表中。然后处理url是否为完整通讯路径,如果是相对路径则从配置文件对象相关路径补齐。2.1.4处理请求对象postfield列表中的值,把变量替换为具体值(先从页面控件获取,再从setvar获取)。2.2判断请求对象的地址是否正常。如果通讯地址url不存在,则更新当前页面。2.3判断请求参数中是否有local属性。2.3.1如果有local属性,则传递local属性给控制中心,调用控制中心取本地页面方法。2.3.1.1取得到页面,在控制中心进行页面预处理(页面预处理详见下面描述),返回ui数据给ui模块。2.3.1.2取不到页面,则进入2.3.2步骤。2.3.2如果没有local属性,传递请求对象给控制中心,通讯获取结果页面。3、发送请求获取页面3.1获取本地页面方法(不显示弹出框,只给一层蒙板屏蔽用户操作)。由本地资源管理对象在读取相应页面内容,读取不到则返回空。读取得到则进行页面预处理,返回ui数据给ui模块。3.2通讯获取页面方法(显示弹出框,屏蔽用户操作)。调用通讯对象获取页面数据,获取不到则提示通讯异常,获取得到则进行页面预处理,返回ui数据给ui模块。4、处理通讯对象获取通讯结果4.1生成通讯对象,设置通讯参数(请求参数,通讯方式post/get,通讯超时,通讯头数据)。4.2返回通讯结果。通讯异常(超时,无法连接等)返回空,否则返回页面流。5、页面预处理5.1采用kxml解析引擎,对返回的数据流根据xml格式进行解析,返回dom树(标签节点列表)。5.2判断是数据页面还是视图页面。(数据页面是function标签返回的列表数据)如果是数据页面,直接返回列表,如果是视图页面进行预处理。5.3标签预处理。5.3.1预处理wml标签,判断是否需要本地化。5.3.2预处理sql标签,执行sql操作,得到相应sql数据,并删除sql标签节点,重构列表。5.3.3预处理loop标签,替换的子标签属性或者子标签显示文本等从数据库取值的变量为具体值,并删除loop节点,重构列表。5.3.4预处理if标签,重构列表。5.3.5生成ui数据,返回。6、ui解析按照标签规范(即有规定子标签的只处理子标签,无规定的则任意子标签),解析标签,生成ui相应视图。7、显示视图。
本文标题:Android客户端解析引擎流程说明
链接地址:https://www.777doc.com/doc-7027079 .html