项目基础框架介绍
AXF框架的组成:
1、 主页面支持类,也就是ANDROID应用的第一个ACTIVITY。
2、 动态XML标签页面。
3、 AXF主控制类。
4、 属性文件类。
主页面支持类:
每一个ANDROID应用都有一个主ACTIVITY,我们在这个类中主要做以下几件事,
1、 决定进入到哪一个页面,也就是下面这个变量 formNumber ,我在示例当中把所有的页面都做了编号,然后按顺序决定到哪个页面,真正的项目当中可以按照包名和文件名来区分跳转的顺序;
extras = new Bundle();
extras.putString("nextpage", "axf" +formNumber.getText().toString());
取得相应的文件名称后将它装入到Bundle的”nextpage”属性中。
2、 设置页面组件可编辑的模式,此变量为布尔值。布尔值为真时,进入到页面后页面组件为不可编辑状态。
extras.putBoolean("isreturn", isreturn);
3、 装入初始的数据信息,AXF以JSON字符串的格式装入初始信息。其中JSON的属性名为页面当中定义的组件名称,两者对应后当页面加载过程中AXF将数据注入到对应的页面组件。
extras.putString("jsons", jsons);
其中特别声明的一点的当JSONS中存在returnfield属性时,它的属性值为页面组件名称,所有出现有这个属性当中的页面组件名称在上面“isreturn”的值为真时,仍然可以编辑。
String jsons = "{returnfield:AXF001|AXF002|AXF003,cardName:中国人}";
经过以上的初始设置后可以转入到AXF主控制类中动态加载页面了。
动态XML标签页面
动态XML标签页面,顾名思义是一个XML文件,AXF支持标准的W3CXML文件格式。首先大家看一个示例文件:
<?xmlversion="1.0"encoding="UTF-8"?>
<axf>
<formid="form1"name="actTemplate"passpage=""nextpage="axf2">
<layouttype="layout"layout_width="match_parent"layout_height="match_parent"background="@color/WHILT"orientation="vertical">
<field name="pda_barcode"label="条码" type="text"required="Y" maxLength="50" options="" laWidth=""txWidth="380" singleLine="true"/> </layout>
</form>
</axf>
这是一个标准的XML文件格式,它出“<axf>”开头和结尾,下面由<form>标签组成。目前做的AXF一个页面当中只支持一个<form>标签。但它支持一个ANDROID页面当中加载多个动态XML标签页面。
首先来介绍一下动态XML标签页面的内部构成。
<form>标签中提供了一组属性,其中id、name的属性是为了开发方便设计的,在AXF中暂时没有启用这两个属性。Passpage页面是本页面的上一个页面,如果为空则没有上一个页面。Nextpage为当前页面的下一个页面。如果当前的页面当中定义了上一页和下一页按钮,那么在按钮事件当中会跳转到相应的页面,这里的属性值为动态XML标签页面的文件名。
<layout>标签是一个页面的一行,相当于HTML当中的TR标签,在AXF中它会定义页面的标签样式和方位。默认为横向显示。
<field>标签为AXF的基本页面组件,AXF1.0当中只支持txet、radio、label、view、button、choice、numeric这七种组件。后面我会给大家详细介绍这七种组件的用法。
AXF主控制类
AXF只有一个主控制类,并且它是用户自定义的。用来加载页面和控制页面的流向并存取页面加载和处理数据。所有页面的所有逻辑都可以通过这个类来实现。直到退出AXF的控制范围。其实主页面支持类的功能也可以由此类来完成。
1、 取得AXF主控对象,actxml = new ActXmlActivity(this);
2、 按钮按名称绑定事件,示例中“submit”添加到主控类后,所有页面中所有名称为“submit”的按钮都将被绑定这个事件actxml.addButtListener("submit", listener);
3、 加载页面,将上个页面的设置内容直接传递给AXF主控类actxml.disPlayForm(bundle);
4、 //加载页面视图, setContentView(actxml.getSv())
5、 加载其它用户自定义的页面组件到当前要跳转的页面中。actxml.setMianView(butt);
属性文件类
属性文件是AXF的页面标签数据文件,指定的属性文件存在项目目录下的assets/diclist.xml,以标准XML格式存储数据,路径为root/list/*来存储。比如页面组件类型为radio,名称为“AXF006”,标签中需要展示男、女并赋值为0、1,默认选中男。那么在属性文件中定义如下:
<AXF006>
<keyvalue="0"default="true">男</key>
<keyvalue="1">女</key>
</AXF006>
今天就写到这里吧,时间也不早了,希望明天还有时间继续向大家介绍AXF。下周我会整理一个DEMO项目给大家直观的看一下AXF的具体样子。敬请期待。