`
smartinvoke
  • 浏览: 106009 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类

关于smartinvoke开发工具的操作

阅读更多

关于开发工具的安装:

         在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开发工具的前提必须是:

  1. eclipse必须为4.0版本

  2. eclipse必须安装有java开发工具jdt

  3. 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文件才可以

  1.  在类的定义部分有@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实现。 
      
  2.  在类的定义部分有 @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对象,只起着组织数据的作用,不能像服务类一样被调用,
    所以只能出现在方法参数或方法返回对象的位置上。

  3. 注:smartinvoke开发工具是根据这两个注解来翻译中间代码的,所以如果你不希望开发工具翻译出的中间代码,
    可以将该注解删除
0
0
分享到:
评论

相关推荐

    cn.smartinvoke.ide

    暗示我们讨论的是一个特定的开发集成环境(IDE)针对Flash动画与代码集成的工具。这个IDE可能是为开发者设计的,帮助他们更有效地创建和管理包含Flash元素的交互式应用程序。让我们深入探讨这个主题。 Flash动画在...

    SmartInvoke库和示例

    总的来说,SmartInvoke库是Java和C#开发者在构建Flex桌面应用时的一个强大工具。通过这个库,开发者可以充分利用Flex的图形界面优势,同时利用Java或C#的强大功能,为用户带来优质的桌面体验。通过学习和实践提供的...

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

    3. **下载并安装SmartInvoke开发工具** - 访问指定网址下载`cn.smartinvoke.ide.zip`文件。 - 解压文件并将所有`jar`文件复制到`Flash Builder`安装目录的`eclipse-host-distro/plugins`目录。 - 重启`Flash ...

    C#与flex交互

    描述中提到的“从C#调用Flex的方法,或者Flex调用C#方法”,是指在实际开发中,我们可能需要在C#后台执行某些操作并更新Flex前端显示,或者从Flex界面上触发事件,使得C#能够响应这些事件。这种交互性是现代应用程序...

    后勤智能管理系统-.. (2).pdf

    后勤智能管理系统-.. (2).pdf

    Markdown.Monster.v2.0.9.0-CRD.rar

    Markdown.Monster.v2.0.9.0-CRD

    毕业设计-主成分分析算法Python代码.rar

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、本项目仅用作交流学习参考,请切勿用于商业用途。

    四川大学期末考试试题(开卷).docx

    四川大学期末考试试题(开卷).docx

    c#入门之实现计算器源码

    c#入门之实现计算器源码

    Python项目-游戏源码-10 植物大战僵尸.zip

    Python课程设计,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

    基于ssm的期末考试考务管理系统源代码(完整前后端+mysql+说明文档+LW).zip

    主要需求:3个权限 该系统功能模块主要为三部分,即学生模块、教师模块、管理员模块。 学生模块包括:查看考试安排信息(随机安排就行)、学生 缓考在线申请(教师查看)、在线签订承诺书(学生签字); 教师模块包括:查询监考表、考试违纪学生信息录入; 管理员模块包括:考试时间地点管理、 调整排班信息、信息管理等(主要是增删改查) 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 服务器:tomcat7

    springboot-基于SpringBoot的小型民营加油站管理系统.zip

    springboot-基于SpringBoot的小型民营加油站管理系统.zip

    framework-all

    framework_all

    【Ubuntu】【交叉编译】实现跑马灯并以开发板为服务器通过cgi实现远程控制.html

    【Ubuntu】【交叉编译】实现跑马灯并以开发板为服务器通过cgi实现远程控制.html

    基于ssm的学生宿舍管理系统设计与实现源代码(java+jsp+mysql+说明文档+LW).zip

    实现了用户在线选择试题并完成答题,在线查看考核分数。管理员管理常用语句管理、常用语句收藏管理、常用语句留言管理、成语学习管理、成语学习收藏管理、成语学习留言管理、字典管理、论坛管理、基础管理、基础收藏管理、基础留言管理、情景学习管理、情景学习收藏管理、情景学习留言管理、诗词学习管理、诗词学习收藏管理、诗词学习留言管理、用户管理、管理员管理等功能。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7

    RTMPOSE rtmpose-m-2xb64-210e-mpii-256x256-A5000

    RTMPOSE rtmpose-m-2xb64-210e-mpii-256x256-A5000

    jdk-17.0.4.1

    jdk-17.0.4.1

    户外广告全球市场研究报告:2023年市场规模约为14121.8亿元

    户外广告全球市场研究报告:2023年市场规模约为14121.8亿元 在数字时代,户外广告作为传统与现代的交汇点,正以独特的魅力吸引着全球广告主的目光。从繁华都市的霓虹灯到偏远乡村的路牌,户外广告无处不在,以其直观、生动的形式,精准触达消费者的生活与出行场景。然而,在激烈的市场竞争中,如何把握市场趋势,实现精准传播,成为广告主面临的一大挑战。 市场概况 近年来,全球广告市场在经济周期动荡中展现出强大的韧性,不断触及新高度。据QYR最新调研,2023年全球广告市场规模已增至约9044.9亿美元,其中户外广告市场占据了一席之地。作为全球广告市场的重要组成部分,中国广告市场规模同样在快速扩张,2023年市场规模约为14121.8亿元,稳居世界前列。户外广告市场更是表现抢眼,2023年全球户外广告市场规模约为547.8亿美元,中国市场规模则达到约820.5亿元,展现出强劲的增长势头。 技术创新与趋势 随着数字化技术的广泛应用,户外广告的形式和内容不断升级,从传统的平面广告到如今的视频广告,再到未来的智能互动广告,户外广告正逐步走向智能化、个性化。视频广告以其音频视觉双重刺激的特点,通过故事情节、

    基于ssm的班主任助理系统的设计与实现+jsp源代码(完整前后端+mysql+说明文档+LW).zip

    学生信息管理: 添加学生信息:录入新学生的信息到系统。 修改学生信息:对现有学生信息进行更新和修改。 请假管理: 新增请假记录:记录学生的请假信息。 审批请假:对学生的请假申请进行审批。 请假统计:对请假记录进行统计分析。 申请假统计:可能是对请假申请的统计,可能包括未批准的请假。 成绩管理: 新增成绩:录入学生的成绩信息。 修改成绩:对学生的成绩进行修改。 删除成绩:从系统中移除学生的成绩记录。 家长信息管理: 新增家长信息:录入家长的联系信息。 修改家长信息:更新家长的联系信息。 删除家长信息:移除家长的联系信息。 学业预警管理: 新增学业预警:对可能存在学业问题的学生设置预警。 修改学业预警:更新学业预警信息。 删除学业预警:移除学业预警。 实习管理: 新增实习信息:录入学生的实习信息。 修改实习信息:更新学生的实习信息。 删除实习信息:移除学生的实习信息。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11...

    基于ssm的学生请假系统+jsp源代码(完整前后端+mysql+说明文档+LW).zip

    系统实现: 老师信息管理:老师信息的查询管理,可以删除老师信息、修改老师信息、新增老师信息。 学生信息管理:学生信息的查询管理,可以删除学生信息、修改学生信息、新增学生信息。 请假信息管理:学生的学院、专业、班级、请假类型进行条件查询,还可以对请假数据进行修改、审批、驳回、删除等功能,学生可以进行申请请假信息操作等等。 留言信息管理:对学生添加的留言信息进行回复功能,只有管理员和老师可以进行回复。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 服务器:tomcat7

Global site tag (gtag.js) - Google Analytics