ActXmlFromProject

上传人:豆浆 文档编号:11123394 上传时间:2017-09-02 格式:PDF 页数:19 大小:827.67KB
返回 下载 相关 举报
ActXmlFromProject_第1页
第1页 / 共19页
ActXmlFromProject_第2页
第2页 / 共19页
ActXmlFromProject_第3页
第3页 / 共19页
ActXmlFromProject_第4页
第4页 / 共19页
ActXmlFromProject_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《ActXmlFromProject》由会员分享,可在线阅读,更多相关《ActXmlFromProject(19页珍藏版)》请在金锄头文库上搜索。

1、 1、项目名称 AXF (ActXmlFromFramework) 活动ANDROID页面展现框架。 2、项目概述 运用XML解析技术实现动态的ANDROID页面加载功能,让ANDROID的企业级开发变得如编写网页一样简单。它主要由 XML 页面,启动主 ACTIVITY 处理逻辑类和主页面程序组成,极大的提高ANDROID的开发效率,动态加载页面灵活方便,让客户在后台控制前端程序页面成为可能。 3、应用范围 本框架可广泛应用于金融、保险、政府、企业等项目的定制开发中,让开发变得简单,让企业实现灵活配置页面,让ANDROID项目优美展现。 4、代码示例 为了给大家一个直观的印象,先给大家看一个

2、页面代码和生成页面后的示例。 页面代码1 生成的页面效果:1 页面代码1中添加两个标签项目2: 修改后的代码生成页面的效果:2 点击“显示JSON数据”按钮,取得当前页面填写的数据: 5、项目基础框架介绍 5.1AXF框架的组成: 1、主页面支持类,也就是ANDROID应用的第一个 ACTIVITY。 2、动态XML标签页面。 3、AXF主控制类。 4、属性文件类。 5.2主页面支持类: 每一个ANDROID应用都有一个主ACTIVITY,我们在这个类中主要做以下几件事, 1、决定进入到哪一个页面,也就是下面这个变量 formNumber ,我在示例当中把所有的页面都做了编号,然后按顺序决定到

3、哪个页面,真正的项目当中可以按照包名和文件名来区分跳转的顺序; extras = new Bundle(); extras.putString(nextpage, axf + formNumber.getText().toString(); 取得相应的文件名称后将它装入到Bundle的”nextpage”属性中。 2、设置页面组件可编辑的模式,此变量为布尔值。布尔值为真时,进入到页面后页面组件为不可编辑状态。 extras.putBoolean(isreturn, isreturn); 3、装入初始的数据信息,AXF以JSON字符串的格式装入初始信息。其中JSON的属性名为页面当中定义的组件名

4、称,两者对应后当页面加载过程中AXF将数据注入到对应的页面组件。 extras.putString(jsons, jsons); 其中特别声明的一点的当JSONS中存在returnfield属性时,它的属性值为页面组件名称,所有出现有这个属性当中的页面组件名称在上面“isreturn”的值为真时,仍然可以编辑。 String jsons = returnfield:AXF001|AXF002|AXF003,cardName:中国人; 经过以上的初始设置后可以转入到AXF主控制类中动态加载页面了。 5.3动态XML标签页面 动态XML标签页面,顾名思义是一个XML文件,AXF支持标准的W3CXM

5、L文件格式。首先大家看一个示例文件: 这是一个标准的 XML 文件格式,以“”开头和结尾,下面由标签组成。目前做的 AXF 一个页面当中只支持一个标签。但 AXF 支持一个ANDROID页面当中加载多个动态XML标签页面。 首先来介绍一下动态XML标签页面的内部构成。 标签中提供了一组属性,其中 id、name 的属性是为了开发方便设计的,在AXF中暂时没有启用这两个属性。Passpage页面是本页面的上一个页面,如果为空则没有上一个页面。Nextpage 为当前页面的下一个页面。如果当前的页面当中定义了上一页和下一页按钮,那么在按钮事件当中会跳转到相应的页面,这里的属性值为动态XML标签页面

6、的文件名。 标签是一个页面的一行,相当于HTML 当中的TR标签,在AXF中它会定义页面的标签样式和方位。默认为横向显示。 标签为AXF的基本页面组件,AXF1.0当中只支持txet、radio、label、view、button、choice、numeric这七种组件。后面我会给大家详细介绍这七种组件的用法。 5.4AXF主控制类 AXF 只有一个主控制类,并且它是用户自定义的。用来加载页面和控制页面的流向并存取页面加载和处理数据。所有页面的所有逻辑都可以通过这个类来实现。直到退出AXF的控制范围。其实主页面支持类的功能也可以由此类来完成。 1、 取得AXF主控对象,actxml = new

7、 ActXmlActivity(this); 2、 按钮按名称绑定事件,示例中“submit”添加到主控类后,所有页面中所有名称为“submit”的按钮都将被绑定这个事件 actxml.addButtListener(submit, listener); 3、 加载页面,将上个页面的设置内容直接传递给AXF主控类actxml.disPlayForm(bundle); 4、 / 加载页面视图, setContentView(actxml.getSv() 5、 加载其它用户自定义的页面组件到当前要跳转的页面中。actxml.setMianView(butt); 5.5属性文件类 属性文件是 AXF

8、 的页面标签数据文件,指定的属性文件存在项目目录下的assets/diclist.xml,以标准 XML 格式存储数据,路径为 root/list/*来存储。比如页面组件类型为 radio,名称为“AXF006”,标签中需要展示男、女并赋值为0、1,默认选中男。那么在属性文件中定义如下: 男 女 今天就写到这里吧,时间也不早了,希望明天还有时间继续向大家介绍AXF。下周我会整理一个DEMO项目给大家直观的看一下AXF的具体样子。敬请期待。 6、动态XML标签页面 6.1表单的基础,FORM标签 所有的页面基础都是以一个FORM标签开始,相当于HTML的FORM标签,AXF限制一个页面当中只能出

9、现一对 FORM 标签。标签属性决定页面的流程,详细请看下面的说明。 示例代码: 标签属性 标签说明 应用示例 id 表单编号 name 表单名称, passpage 上一页表单名称,XML 标签页面文件名,页面中点击上一页按钮响应到此页面。上一页为空是,不可以跳转。 AXF001,上一页动作时跳转到当前目录下的AXF001.xml页面 nextpage 下一页表单名称,XML 标签页面文件名,页面中点击下一页按钮响应到此页面。此属性可以有两个页面名称,用“|”坚线分隔。 下 一 页 为 ” activityMain”时,跳转到数据信息展示页面,本页面不可编辑。 AXF001|AXF002,点

10、击下一页动作时跳转到当前目录下的AXF001.xml 和 AXF002.xml 页面组成的新页面。 6.2表单的最小单元,LAYOUT标签 页面的最小分隔单元,也相当于HTML语言中的TR标签, 代码示例: 标签属性 标签说明 应用示例 type 标签类型 Layout,标明本标签的类型 layout_width 当前一行的宽度 match_parent layout_height 当前一行的高度 match_parent background 当前一行的背景颜色,支持ANDROID的标准颜色。 color/WHILT,背景为白色 orientation 当前一行内控件的排列方向 Vertic

11、al,平行排列控件 6.3页面控件,FIELD标签 页面控件标签是最终要显示在页面上的控件,分为输入、选择和按钮几类。同时 AXF 的控件是复合控件,一般包含说明和控件两部分,比如类型为 TEXT 的控件就会在页面上显示 “用户名”和输入框 两个部分,构成一个完整的页面输入单元。具体控件的类型和属性设置见下面的列表: 代码示例: 标签属性 标签说明 应用示例 name 控件名称。控件名称和JSON属性关联,既可以在 JSON中为控件赋值,也可以取控件的值到 JSON 中。另外初始页面时还会将属性文件中与本控件名称同名的节点数据加载到当前控件中。 AXF050 label 控件提示名,显示在控件

12、的前面, 提示控件的功能。可以为空,为空时不显示提示栏 “用户名” type 控件类型。目前AXF支持的类型有:txet、radio、label 、 view 、 button 、choice、numeric 详细说明见下表 required 是否可以为空,如果不能为空输入“Y”,可以为“N”。如果不能为空页面会在控件提示信息栏前加“*”号,同时在跳转页面之前做验证,如果不能为空的控件为Y 不能为空。 N 可以为空。 空刚提示数据不完整,请重新输入,并且程序留在当前页面。 maxLength 可输入的内容最大长度,数字类型 100,可输入100个字。未区分全角、半角 laWidth 提示栏宽度

13、(PX),默认为80PX。 80 txWidth 控件宽度(PX),默认为80PX。 80 singleLine 换行操作。对于文本框默认为可以换行输入,如果属性值为TRUE,那么输入的文字只能显示为一行。 TRUE options 条件,暂未启用。 6.4控件类型说明 控件的类型决定的控件在页面上显示的样式和行为,目前只支持基本的页面控件,如果以后有发展需要再添加复合的控件和支持绑定自定义的事件到除按钮的其它页面控件中。 控 件 类型 控件说明 属性文件初始值 支持事件绑定 txet 文本框 NO NO numeric 数字文本框,只支持输入整形数字,不能输入小数,得到焦点后会自动弹出数字键

14、盘。 NO NO radio 单选按钮, YES NO check 多选按钮,支持多选,多初始默认值。选中的多个值在 JSON 中以“|”线分隔,显示为“0|1”。 YES NO choice 下拉选择框 YES NO label 文本提示框 NO NO view 分隔线,支持ANDROID的标准颜色 NO NO button 按钮,AXF自带的按钮有上一页、下一页和显示数据三个按钮,其它按钮由用户自定义。用户怎么自定义按钮并绑定事件后面章节中详细介绍。 NO YES 7、AXF控制逻辑类 7.1AXF入口控制逻辑类 我把入口逻辑类 ActFirstActivity 称和后面的主控类分开介绍是

15、为了让大家清析初始和控制两个概念,其实这两个类是可以合并的。它们的功能是有重复的,但是在AXF中这两个概念是非常重要的。 ActFirstActivity 类里面只有两个大的对象,AXF 主控类和 Bundle 对象。我们主要讲 Bundle 的初始值设置。入口逻辑类中需要设置三个初始信息,下一页名称、是否允许编辑、JSON数据。 下一页名称,系统默认为/assets/目录下的 MXL 文件,AXF 支持同一页面中展示多个AXFXML内容,多个页面用竖线隔开,例如“AXF001|AXF002“,加载的页面按下一页名称中的先后顺序显示。 是否允许编辑属性是一个非常重要的对象,如果设置为 TRUE

16、 则页面控件置为灰色,并显示为不可编辑的状态。设置为FALSE时控件状态为正常编辑状态。 装入初始的数据信息,AXF 以 JSON 字符串的格式装入初始信息。其中 JSON的属性名为页面当中定义的组件名称,两者对应后当页面加载过程中AXF将数据注入到对应的页面组件。 其中特别声明的一点的是当JSONS中存在returnfield属性时,它的属性值为页面组件名称,所有出现有这个属性当中的页面组件名称在上面“isreturn”的值为真时,仍然可以编辑。 returnfield:AXF001|AXF002|AXF003,cardName:中国人; 以上示例中如果是否允许编辑属性的值为TRUE,那么所有页面中只有名称为“AXF001|AXF002|AXF003”这三个控件是可以编辑的,其它都置为灰色并不可编辑。 AXF 使用表单的上一页、下一页属性控制页面的流转,目前尚不支持动态的流转方式,如果之后再深入的对这个项目做修改或有需要的时候会考虑做这个功能。第二个属性是应用到某些

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号