关于开发工具的安装:
在http://smartrcp.org/invoke/?page_id=16下载完cn.smartinvoke.ide.zip文件后,解压后得到:
cn.smartinvoke.ide.jar
cn.smartinvoke.ide.parse.jar
cn.smartinvoke.ide.update.jar
cn.smartinvoke.ide.util.jar
这四个jar文件,他们都是eclipse的插件,所以将这些jar文件拷贝到eclipse的plugins目录中就可以成功安装smartinvoke开发工具了。
注意:安装smartinvoke开发工具的前提必须是:
-
eclipse必须为4.0版本
-
eclipse必须安装有java开发工具jdt
-
eclipse必须安装有flex开发工具flash builder 4
安装成功后在eclipse.exe所在的目录下会多出一个cn.smartinvoke.libs目录,同时在eclipse的工具栏上会多出如图所示的三个按钮
cn.smartinvoke.libs目录下是什么东东:
本目录下的.bat文件是smartinvoke的示例程序,双击可以运行.
debug.exe为smartinvoke程序的debug连接器程序
libs目录下为smartinvoke程序运行时所需的库文件,smartinvoke的核心库cn.smartinvoke.core.jar与cn.smartinvoke.core.swc就在
本目录下。
smartinvoke项目为什么要由两个项目组成:
两个项目的命名规则:
点击新建smartinvoke项目按钮,填入对应信息后会新建一个java项目,与flex项目,这两个项目组成了一个完整的smartinvoke项目
,flex项目名称的命名规则为:在java项目的名称后加上一个下划线"_"。
运行原理:
smartinvoke的作用是实现java与flex同步互调,因为java运行于JVM,flex运行于flash player中,不是同一个运行环境
所以要达到java与flex互调,必须要写点儿中间代码才行,smartinvoke插件的基本功能是翻译java项目中的.java文件,
生成对应的.as中间代码文件 写入到flex项目的对应源代码目录下,这样在flex项目中通过自动生成的flex类就可以
访问到对应的java类了。
注意:并不是java项目中的所有的.java文件都被自动翻译为.as中间代码文件的,只有以下两种.java文件才可以
- 在类的定义部分有@AServiceType注解,并且实现了cn.smartinvoke.IServerObject接口
如下java代码:
package test;
import cn.smartinvoke.IServerObject;
import cn.smartinvoke.ide.declare.AServiceType;
@AServiceType
public class Ab implements IServerObject {
public Ab() {
//smarinvoke will call this default constructure.
}
public String hello(int code){
return null;
}
public void gc(){
//when this service object not be used smartinvoke call this method free memory.
}
}
这里的Ab类就是一个标准的服务类,专门供flex调用,他的public 方法都可以被flex调用。这里必须有默认构造函数
如下flex中间代码:
package test{
import cn.smartinvoke.RemoteObject;
[RemoteClass(alias="test.Ab")]
public class Ab extends RemoteObject{
public static function CreateInstance0():Ab{
var instance:Ab=new Ab();
instance.createRemoteObject(arguments);
return instance;
}
public function hello(code:int):String{
var ret:Object=this.call('hello',arguments);
return ret as String;
}
}
}
这里就是开发工具自动生成的中间代码,flex通过调用var serv:Ab=Ab.CreateInstance0();
方法就可以调用到java创建test.Ab类的实例servObj,这里的serv对象就与java端的servObj服务类对象一一对应,
所有对serv对象方法的调用都会通过调用java服务类对象servObj实现。
- 在类的定义部分有 @ABeanType注解
如下java代码:
package test;
import cn.smartinvoke.ide.declare.ABeanType;
@ABeanType
public class BeanT{
public String name;
public BeanT() {
}
}
生成对应的flex中间代码:
package test{
[RemoteClass(alias="test.BeanT")]
public class BeanT{
public function BeanT(){}
private var _name:String;
public function set name(val:String):void{
this._name=val;
}
public function get name():String{
return this._name;
}
}
}
这里的@ABeanType类表示本类的作用为数据Bean对象,只起着组织数据的作用,不能像服务类一样被调用,
所以只能出现在方法参数或方法返回对象的位置上。 - 注:smartinvoke开发工具是根据这两个注解来翻译中间代码的,所以如果你不希望开发工具翻译出的中间代码,
可以将该注解删除
相关推荐
暗示我们讨论的是一个特定的开发集成环境(IDE)针对Flash动画与代码集成的工具。这个IDE可能是为开发者设计的,帮助他们更有效地创建和管理包含Flash元素的交互式应用程序。让我们深入探讨这个主题。 Flash动画在...
总的来说,SmartInvoke库是Java和C#开发者在构建Flex桌面应用时的一个强大工具。通过这个库,开发者可以充分利用Flex的图形界面优势,同时利用Java或C#的强大功能,为用户带来优质的桌面体验。通过学习和实践提供的...
3. **下载并安装SmartInvoke开发工具** - 访问指定网址下载`cn.smartinvoke.ide.zip`文件。 - 解压文件并将所有`jar`文件复制到`Flash Builder`安装目录的`eclipse-host-distro/plugins`目录。 - 重启`Flash ...
描述中提到的“从C#调用Flex的方法,或者Flex调用C#方法”,是指在实际开发中,我们可能需要在C#后台执行某些操作并更新Flex前端显示,或者从Flex界面上触发事件,使得C#能够响应这些事件。这种交互性是现代应用程序...
基于springboot大学生就业信息管理系统源码数据库文档.zip
基于java的驾校收支管理可视化平台的开题报告
时间序列 原木 间隔5秒钟 20241120
毕业设计&课设_基于 Vue 的电影在线预订与管理系统:后台 Java(SSM)代码,为毕业设计项目.zip
基于springboot课件通中小学教学课件共享平台源码数据库文档.zip
基于java的网上购物商城的开题报告
Delphi人脸检测与识别Demo1fdef-main.zip
基于java的咖啡在线销售系统的开题报告
基于java的自助医疗服务系统的开题报告.docx
内容概要:本文档全面介绍了Visual Basic(VB)编程语言的基础知识和高级应用。首先概述了VB的基本特性和开发环境,随后详细讲述了VB的数据类型、变量、运算符、控制结构、数组、过程与函数、变量作用域等内容。接着介绍了窗体设计、控件使用、菜单与工具栏的设计,文件操作、数据库访问等关键知识点。最后讨论了VB的学习方法、发展历史及其在桌面应用、Web应用、数据库应用、游戏开发和自动化脚本编写等领域的广泛应用前景。 适合人群:初学者和中级程序员,尤其是希望快速掌握Windows桌面应用开发的人群。 使用场景及目标:①掌握VB的基础语法和开发环境;②学会使用VB创建复杂的用户界面和功能完整的应用程序;③理解数据库操作、文件管理和网络编程等高级主题。 其他说明:Visual Basic是一种简单易学且功能强大的编程语言,尤其适合用于开发Windows桌面应用。文中不仅覆盖了基础知识,还包括了大量的实用案例和技术细节,帮助读者快速提升编程技能。
基于java的疫情期间高校防控系统开题报告.docx
基于springboot+vue社区老年人帮扶系统源码数据库文档.zip
基于java的超市商品管理系统的开题报告.docx
基于SpringBoot房屋买卖平台源码数据库文档.zip
xdu限通院23微处理器系统与应用大作业(两只老虎),适应于汇编语言keil软件,
<项目介绍> - 新闻类网站系统,基于SSM(Spring、Spring MVC、MyBatis)+MySQL开发,高分成品毕业设计,附带往届论文 - 不懂运行,下载完可以私聊问,可远程教学 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------