8、AXF实现客户信息录入项目
8.1项目基本需求
客户信息的录入项目有以下几个需求:
1、用户需要登陆
2、正确登陆后对页面进行录入
3、最终获取录入的信息,
4、如果登陆出错跳转到出错页面,
5、如果页面录入不完整就点击下一页,提示用户继续录入不能进入下一页。
6、每个页面中需要保存客户资料,
7、录入完成后退出登陆。
8.2创建工程
针对以上的需求我们做登陆页面,个人信息页面1、2、3页,预览页面页5个ANDROID页面来实现。那么万事开头都是从一个空工程开始的,下页我们创建一个ANDROID工程:
8.3添加AXF包和属性文件
新建工程叫做AXFFIRST,我们要用AXF需要添加AXF的核心包,目前版本是AXFAndroid1.0.10.jar。另外需要添加的JAR有两个gson-2.0.jar 、dom4j-1.6.1.jar,AXF项目还需要一个属性文件diclist.xml,那么我们把这两个必要的条件添加进来,再看一下目录结构:
添加完成以上两个必要的文件之后,本项目就正式成为了一个AXF项目了,那么我们就可以在项目当中应用之前我们讲到过的动态页面和控制逻辑类来实现动态页面了。
8.4实现登陆页面
1、 我们需要在/assets/目录下新建一个login.xml的页面,登陆页面一般有用户名、密码和登陆按钮。下面看XML页面中的实现:
<?xmlversion="1.0"encoding="UTF-8"?>
<axf>
<!-- 表单表象 -->
<formid="form1"name="actTemplate"passpage=""nextpage="inform1">
<layouttype="layout"layout_width="match_parent"layout_height="match_parent"background="@color/WHILT"orientation="vertical">
<fieldname="user_code"label="用户名"type="text"required="Y"maxLength="10"options=""laWidth=""txWidth="120"singleLine="true"/>
</layout>
<layouttype="layout"layout_width="match_parent"layout_height="match_parent"background="@color/WHILT"orientation="vertical">
<fieldname="user_name"label="密码"type="text"required="Y"maxLength="10"options=""laWidth=""txWidth="120"singleLine="true"/>
</layout>
<layouttype="layout"layout_width="match_parent"layout_height="match_parent"background="@color/WHILT"orientation="vertical">
<fieldname="login"label="登 陆"type="button"required=""maxLength=""options=""laWidth=""txWidth="120"singleLine="true"/>
</layout>
</form>
</axf>
页面当中有三个控件,分别定义了类型,显示宽度,是否为空等信息。
2、 在AxfFirstActivity的ACTIVITY中实现第一个页面的初始信息设置和跳转到AXF主控页面中,具体实现如下:
Intent newFormInfo = newIntent(AxfFirstActivity.this, AXFControlActivity.class);
Bundle extras = new Bundle();
// 指定下一页加载的页面名称
extras.putString("nextpage", "login");
// 初始页面数据
extras.putString("jsons", null);
// 指定是否是退件
extras.putBoolean("isreturn", false);
// 添加BUNDLE数据到主控逻辑类
newFormInfo.putExtras(extras);
// 跳转到主控逻辑类
startActivity(newFormInfo);
3、添加主控逻辑类AXFControlActivity,实现页面的设置和显示操作,具体实现如下:
// 取得AXF对象
ActXmlActivity actxml = new ActXmlActivity(this);
Bundle bundle = getIntent().getExtras();
// 加载页面
actxml.disPlayForm(bundle);
// 加载页面
setContentView(actxml.getSv());
完成了以上代码的编写,那么我们的AXF工程的登陆页面基本上可以显示出来了,让我们看一下页面效果。
页面效果就是这样的,非常激动人心,我们只用了短短几行代码就实现了一个ANDROID的页面,并且做这个页面的技术难度要比ANDROID本身提供的页面容易得多,只要有编程经验的人很容易都能掌握AXF页面的编写方法。