使用Cairngorm开发Flex(二):一个好友管理例子

来源:互联网 发布:淘宝平面模特工资 编辑:程序博客网 时间:2024/05/02 01:19

这里我们继续Cairngorm的介绍,认识了什么是Cairngorm以后,我们来实现一个demo。跟着一步步做先来的话,相信会对这个框架的使用有更深的理解。

需要准备:

在看这个例子之前,确保具备以下条件:

  1. 读懂了使用Cairngorm开发Flex(一),理解Cairngorm的构架是怎样的。
  2. 具有一定的java知识。
  3. 知道flex sdk4。

例子的环境和工具:

  1. Flex builder 4。下载很容易找到。这个例子也是我用flex4写的第一个例子,发现跟flex3很多不同,要重新学习,痛苦的转型啊,泪奔~。
  2. Mysql数据库。
  3. tomcat。
  4. blazeds。

不知道怎么配置的可以看我的文章:http://blog.csdn.net/duran1986/archive/2010/03/29/5430329.aspx

例子功能描述:

功能很简单,在前端添加好友(名字,电话),将好友信息发送到java编写的后台,存储到数据库,成功的话返回所有好友到客户端显示。

数据库sql:

新建一个mysql数据库,名字叫:CairngormDemo。在数据库下执行下面sql建表:

 

后台java:

项目结构:

 

 

 

MysqlConnection.java:

 

 

DemoService.java

 

ProgramEnter.java(测试用):

 

可以运行测试程序来测试是否正确。

 

 重头戏Flex:

启动flex builder4,新建个项目,这个项目依然使用到blazeds,相关环境的配置看http://blog.csdn.net/duran1986/archive/2010/03/29/5430329.aspx。项目设置如下:

 

第一步:新建项目,注意选择服务器类型为j2ee。

 

 

第二步:配置服务器,这里不清楚的看我之前关于环境配置那片文章就行了。

 

 

第三步:这里点添加swc,把我们的cairngorm包加进来。

 

第四步:工程建好以后,建立以下的文件结构:

 

 

现在贴上每部分的代码:

 

名称:FriendVO.as。

说明:对象建模,对应数据库里的对象。

 

 

名称:AppModelLocator.as。

说明:对应cairngorm框架里的model locator模块,保存运行时数据,必须可绑定。

 

 

名称:AddFriendController.as

说明:对应control模块,只负责将command与对应的时间绑定,这里把AddFriendsEvent事件和AddFriendCommand绑定。

 

 

名称:GetFriendsController.as。

说明:对应control模块,只负责将command与对应的时间绑定,这里把GetFriendsEvent事件和GetFriendsCommand绑定。

 

 

名称:AddFriendCommand.as。

说明:捕获添加事件后的响应模块,这里负责调用delegate模块,还有得到返回结果的相应处理也在这里完成。这里添加成功后返回所有朋友的信息,我们要更新modellocator。

 

 

名称:GetFriendsCommand.as。

说明:捕获到GetFriendsEvent事件以后的响应模块。负责获取所有朋友信息,返回结果后更新modellocator。

 

 

名称:AddFriendDelegate.as。

说明:被command模块调用,通过获得service模块里的对象来进行前后台通讯。

 

 

名称:GetFriendsDelegate.as。

说明:被command模块调用,通过获得service模块里的对象来进行前后台通讯。

 

 

名称:AddFriendEvent.as。

说明:自定义事件,不多解释。

 

 

名称:GetFriendsEvent.as。

说明:自定义事件,不多解释。

 

 

名称:ServiceLocator.mxml。

说明:在这里定义远程访问对象,这里的destination要和blazeds里面remote-config.xml里面的destination一致,不清楚看我之前关于环境整合的文章。

 

 

名称:FriendView.mxml。

说明:UI模块,在这里显示用户接口,没什么特别。

 

 

名称:cairngorm_demo.mxml。

说明:程序入口,是整个框架整合的关键,注意这里面定义的三个命名空间,把control和service都实例化。

 

 

最后,上个效果图:

 

 

例子就到这里,觉得麻烦想要源码的,留下邮箱吧,见到必发^^