通过SmartInvoke运用java与flex轻松构建cs程序.doc
上传人:sy****28 上传时间:2024-09-14 格式:DOC 页数:7 大小:172KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

通过SmartInvoke运用java与flex轻松构建cs程序.doc

通过SmartInvoke运用java与flex轻松构建cs程序.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

通过SmartInvoke运用java与flex轻松构建cs程序大家都知道flex的webapplication不能操作和访问本地文件,我们今天就通过smartInvoke让flex可以轻松的访问到本地文件。本文为smartinvoke开发系列的第一篇,主要让大家对smartinvoke有一个整体的认识,能够开发出简单独立的smartinvoke可运行桌面程序。Smartinvoke的安装:首先确保你已正确安装了flashbuilder4的插件版,不是插件版的同学可以安装插件版,或者添加Java开发工具JDT插件到你的flashbuilder中。然后到HYPERLINK"http://smartrcp.googlecode.com/files/cn.smartinvoke.ide.zip"http://smartrcp.googlecode.com/files/cn.smartinvoke.ide.zip下载smartinvoke开发工具,下载完毕后解压该zip文件后,将得到的所有jar文件拷贝到flashbuilder安装目录的eclipse-host-distro目录下的plugins目录中。重新开启flashbuilder,如果eclipse工具栏上出现如下图所示的图标就表明你已经安装成功了。(注意这里的flashbuilder都是第四版。并非flexbuilder3)好了,环境装好了,我们开始建项目。创建SmartInvoke项目:依次选择Eclipse菜单栏中的:文件->新建->其他打开新建对话框,找到smartinvoke节点,选择NewProject节点,打开新建smartinvoke项目对话框,如下:(另一种方法:直接点击最右边的)Projectname为项目名称;我们在这里输入:MyFirstProMainpackage为项目入口类所在包名;我们在这里输入:com.lmxClassname为项目入口类的类名称;我们在这里输入:MyFirst输入完毕后点击完成,你会发现项目列表中新创建了两个项目,一个为Java类型项目,一个为Flexwebapplication类型项目,结构如下图:这两个项目构成了一个完整的smartinvoke项目MyFirstPro,它由Java类型项目MyFirstPro与Flex类型项目MyFirstPro_构成。Flex项目名称由Java项目名称加下划线”_”构成。通过这种项目名称的约定规则,smartInvokeIDE将这两个项目关联在一起了。这样一来,当调试或运行MyFirstPro_项目的MyFirst.mxml时,eclipse不再是调用本机浏览器加载对应的swf了,而是调用关联的Java项目的入口类com.lmx.MyFirst.java加载该swf。这样就实现了smartinvoke项目的开发与调试。Java项目MyFirstPro中的com.lmx.MyFirst.java类是整个smartinvoke项目的入口类,它的main方法最先由jre调用执行。同时该类还控制着程序首先加载的swf文件的路径,程序打开主窗口的样式等。通过将一个smartinvoke项目分割为两个相互关联的Java类型项目与Flex项目构成,这样使得程序的功能分工更加明确,Java负责逻辑,Flex负责界面显示。Java与Flex通信细节交由smartinvoke完成。这样可以大大提高开发效率与代码的复用率。创建服务类型(ServiceClassType)实现Flex调用Java该服务类型即实现了cn.smartinvoke.IServerObject接口的Java类,通过smartinvoke,该类的public方法可以被Flex直接访问到。点击eclipse工具栏上的图标打开Createnewsmartinvoketype对话框如下图所示:点击完成后,会在MyFirstPro项目的com.lmx包中新建一名称为ServiceTest的类。内容如下:packagecom.lmx;importcn.smartinvoke.IServerObject;importcn.smartinvoke.ide.declare.AServiceType;@AServiceTypepublicclassServiceTestimplementsIServerObject{publicServiceTest(){//smarinvokewillcallthisdefaultconstructure.}publicvoidgc(){//whenthisserviceobjectnotbeuseds