您的位置:首页 > 移动开发 > Android开发

第二章 AXF (ActXmlFromFramework) 活动ANDROID页面展现框架 android动态加载页面框架

2013-08-28 21:26 330 查看

项目基础框架介绍

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的具体样子。敬请期待。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐