关于smartinvoke开发工具的操纵
来源:互联网 发布:淘宝刷评分 编辑:程序博客网 时间:2024/05/21 22:44
关于开发工具的安装:
- 入门视频教程:http://v.youku.com/v_show/id_XMTY1MzAxNDg4.html
- 入门文档教程:http://smartinvoke.group.iteye.com/group/wiki/3026-smartinvoke-java-flex
在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开发工具是根据这两个注解来翻译中间代码的,所以假如你不希看开发工具翻译出的中间代码,
可以将该注解删除
- 关于smartinvoke开发工具的操纵
- 通过SmartInvoke运用java与flex轻松构建cs程序(理解SmartInvoke的运行原理)
- 关于JAVA的开发工具
- 关于WEB前端开发的工具
- 关于PreparedStatement操纵数据库
- 关于动态内存分配与字符串操纵的问题总结
- 操纵状态栏-IOS开发
- 关于开发工具
- java操纵redis工具类
- SqlHelper操纵数据库工具类
- ADO.NET-数据库操纵工具
- 通过SmartInvoke运用java与flex轻松构建cs程序(数据类型的传递)
- 关于java 的基本开发工具:命令控制台的使用
- 关于Keil、IAR等开发工具的的一些感想
- 关于Chrome的一些实用开发工具的使用
- 关于的python+web开发的调试工具
- 关于使用Java开发工具的一些心得
- 关于Borland出售开发工具的一些感慨。
- careercup 1.1: unique characters
- Datatable的基本操作
- 从hadoop框架与MapReduce模式中谈海量数据处理
- Weighted version of quick union
- 将PHP应用发布为Azure Cloud service
- 关于smartinvoke开发工具的操纵
- Android系统默认值的设置
- fortran相关资源
- 虚拟机无法访问主机网站
- 杭电1421
- 软件随想录(local.joelonsoftware.com/wiki)-2000年04月26日 使用介面设计手册第六章 - User Interface Design for Programmers
- Understanding data flow for “Standard Order”
- getenv、setenv函数
- WaitForSingleObject 和 CEvent / createevent 的用法 ,线程同步