手持装置及利用其实现Java组件与自定义构件互操作的方法

文档序号:6331037阅读:172来源:国知局
专利名称:手持装置及利用其实现Java组件与自定义构件互操作的方法
技术领域
本发明涉及一种电子装置及方法,尤其涉及一种手持装置及利用其实现Java组件与自定义构件互操作的方法。
背景技术
Java技术自诞生以来经过十几年的发展,已经相当成熟,用途非常广泛,是所有编程语言和方法中最主流的技术之一。自其诞生以来就已在嵌入式设备上广泛使用。近年来, 互联网巨头谷歌在其手机操作系统上完全地使用了它,使该技术更加深入地发展。Java技术拥有开发方便,一处编译随处运行,安全性高等优点。构件(component)是可复用的软件组成成份,可被用来构造其他软件。它可以是被封装的对象类、类树、一些功能模块、软件框架(framework)、软件构架(或体系结构 Architectural)、文档、分析件、设计模式O^ttern)等。开发者可以通过组装已有的构件来开发新的应用系统,从而达到软件复用的目的。软件构件技术是软件复用的关键因素,也是软件复用技术研究的重点。但是,现有的手机系统没有同时结合Java技术与构件技术,使两者相互协作,以结合两者的优点,使应用程序运行效率更高,功能更全面。

发明内容
鉴于以上内容,有必要提供一种Java组件与自定义构件互操作的方法,其可建立一种编程模型使Java语言的程序能够直接调用自定义构件(如CAR构件)的功能,而自定义构件也能够调用Java程序。在一个实施例中,该方法包括如下步骤Java虚拟机启动时读入自定义构件的动态链接库文件,读取自定义构件属性以获取自定义构件名称,并发起加载自定义构件的调用;使用自定义构件的反射机制获取所有自定义构件中的每一个类信息和方法信息, 并将该自定义构件中的类和方法与Java虚拟机中的类和静态方法一一对应;调用Java源代码生成工具,根据自定义构件中的类和方法生成Java源代码文件;将上述生成的Java源代码文件与预先编辑的项目文件一同参与编译;及 如果Java组件对自定义构件的方法调用中有输入参数或返回值,则进行Java组件和自定义构件之间的参数类型的相互转换。 前述方法可以由手持装置执行,其中该手持装置具有附带了图形用户界面(GUI) 的触控式屏幕、一个或多个处理器、存储器以及保存在存储器中用于执行这些方法的一个或多个模块、程序或指令集。在某些实施例中,该手持装置提供了包括无线通信在内的多种功能。
用于执行前述方法的指令可以包含在被配置成由一个或多个处理器执行的计算机程序产品中。相较于现有技术,所述的Java组件与自定义构件互操作的方法,通过建立一种编程模型,使Java语言的程序能够直接调用自定义构件(如CAR构件)的功能,而自定义构件也能够调用Java程序。从而使Java技术与构件技术相互协作,结合两者的优点,使应用程序运行效率更高,功能更全面,开发方便,一处编译随处运行,安全性高。


图1是本发明手持装置较佳实施例的结构方框图。图2是Java组件与CAR构件互操作的结构模型示意图。图3是Java组件与CAR构件互操作方法的较佳实施例的流程图。图4是Java参数类型转换成CAR构件参数类型的转换表。图5是CAR构件参数类型转换成Java参数类型的转换表。主要元件符号说明
权利要求
1.一种Java组件与自定义构件互操作的方法,其特征在于,该方法包括如下步骤 Java虚拟机启动时读入自定义构件的动态链接库文件,读取自定义构件属性以获取自定义构件名称,并发起加载自定义构件的调用;使用自定义构件的反射机制获取所有自定义构件中的每一个类信息和方法信息,并将该自定义构件中的类和方法与Java虚拟机中的类和静态方法一一对应;调用Java源代码生成工具,根据自定义构件中的类和方法生成Java源代码文件; 将上述生成的Java源代码文件与预先编辑的项目文件一同参与编译;及如果Java组件对自定义构件的方法调用中有输入参数或返回值,则进行Java组件和自定义构件之间的参数类型的相互转换。
2.如权利要求1所述的Java组件与自定义构件互操作的方法,其特征在于,该方法还包括步骤当CAR构件需要调用Java组件的类和方法时,自定义构件回调Java组件。
3.如权利要求1所述的Java组件与自定义构件互操作的方法,其特征在于,所述项目文件为自定义构件架构下的一个应用程序。
4.如权利要求1所述的Java组件与自定义构件互操作的方法,其特征在于,所述Java 组件对自定义构件的方法的调用是通过对生成类的调用实现的。
5.如权利要求4所述的Java组件与自定义构件互操作的方法,其特征在于,所述生成类是由该自定义构件中的自定义类组成的包装类。
6.一种手持装置,包括 触控式屏幕;存储器;一个或多个处理器;以及一个或多个模块,所述一个或多个模块被存储在所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块用于执行以下步骤Java虚拟机启动时读入自定义构件的动态链接库文件,读取自定义构件属性以获取自定义构件名称,并发起加载自定义构件的调用;使用自定义构件的反射机制获取所有自定义构件中的每一个类信息和方法信息,并将该自定义构件中的类和方法与Java虚拟机中的类和静态方法一一对应;调用Java源代码生成工具,根据自定义构件中的类和方法生成Java源代码文件; 将上述生成的Java源代码文件与预先编辑的项目文件一同参与编译;及如果Java组件对自定义构件的方法调用中有输入参数或返回值,则进行Java组件和自定义构件之间的参数类型的相互转换。
7.如权利要求6所述的手持装置,其特征在于,所述一个或多个模块还用于执行以下步骤当CAR构件需要调用Java组件的类和方法时,自定义构件回调Java组件。
8.如权利要求6所述的手持装置,其特征在于,所述项目文件为自定义构件架构下的一个应用程序。
9.如权利要求6所述的手持装置,其特征在于,所述Java组件对自定义构件的方法的调用是通过对生成类的调用实现的。
10.如权利要求9所述的手持装置,其特征在于,所述生成类是由该自定义构件中的自定义类组成的包装类。
全文摘要
一种手持装置及利用其实现Java组件与自定义构件互操作的方法,该方法包括如下步骤读取自定义构件属性以获取自定义构件名称,并发起加载自定义构件的调用;获取所有自定义构件中的每一个类信息和方法信息,并将该自定义构件中的类和方法与Java虚拟机中的类和静态方法一一对应;根据自定义构件生成Java源代码文件;将上述生成的Java源代码文件与预先编辑的项目文件一同参与编译;如果Java组件对自定义构件的方法调用中有输入参数或返回值,则进行Java组件和自定义构件之间的参数类型的相互转换。利用本发明可实现Java组件与自定义构件的互操作。
文档编号G06F9/44GK102375740SQ20101026538
公开日2012年3月14日 申请日期2010年8月26日 优先权日2010年8月26日
发明者周毅敏, 裴喜龙, 陈榕 申请人:上海科泰世纪科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1