基于对象关联映射的Android终端访问远程数据库代码生成系统和方法

文档序号:6517552阅读:298来源:国知局
基于对象关联映射的Android终端访问远程数据库代码生成系统和方法【专利摘要】基于对象关联映射的Android终端访问远程数据库代码生成系统和方法,本发明涉及Android终端访问远程数据库代码生成系统和方法。本发明是为了解决目前移动终端操作系统上的Android程序与远程数据库交互,目前的开发工具不具有可视化生成移动终端远程访问数据库程序框架结构的功能且未提供基本的Android程序框架的问题。基于对象关联映射的Android终端访问远程数据库代码生成系统包括14个模块;基于对象关联映射的Android终端访问远程数据库代码生成方法,包括8个步骤,即完成了基于对象关联映射的Android终端访问远程数据库代码生成系统和方法。本发明应用于嵌入式技术的移动终端开发领域。【专利说明】基于对象关联映射的Android终端访问远程数据库代码生成系统和方法【
技术领域
】[0001]本发明涉及一种Android终端访问远程数据库代码生成系统和方法,尤其涉及一种基于对象关联映射的Android终端访问远程数据库代码生成系统和方法。【
背景技术
】[0002]当前移动网络发展迅速,特别是智能终端的兴起和应用孕育着新一场的用户需求改革。平板电脑、智能手机的兴起已经带来移动终端的时代,在某些情况下智能终端已经代替传统计算机的作用,更受使用者的欢迎。随着移动终端产品广泛应用,移动终端应用程序的数量也得到了迅猛发展,而且发展前景也十分乐观。在移动终端中,应用程序获取数据的方式基本分为两种:本地获取和远程数据库获取。对于本地获取数据,通过移动终端访问本身自带数据库即可。对于远程数据库的数据获取,多数采用移动终端通过服务器的中转与数据库建立连接,获得所需要数据。因此需要单独开发远数据库的服务器端程序,约定数据包协议等,虽相对灵活但增加开发和维护成本。[0003]在移动终端远程访问数据库时,移动终端为远程访问数据库不仅需要提供一些关键信息,还要考虑返回结果的处理形式。不同的访问方式,需要移动终端处理结果的形式是不同的,其结果降低了开发效率和程序的可移植性。[0004]如何快速、高效地开发出具有高可靠性应用软件,已成为移动互联网时代开发的重要课题。软件可视化是解决该问题的重要途径,软件可视化在未来软件工程中占据着重要的位置。目前,已经陆续出现软件开发的可视化工具,如Android的界面工具DroidDraw、Opera公司提供的Mobiforms软件、DoirdDB软件等。[0005]随着移动终端的发展,对数据库访问的功能和性能要求更高。目前Android终端操作远程数据库的方式大致分为两种:一种是基于SAOP协议获取数据方法:通过WebService方式进行远程访问数据库,WebService是一种基于SAOP协议的远程调用标准,通过WebService可以将不同操作系统平台,不同语言,不同技术整合到一起;在4]1(11'01(1移动终端中获取服务器端WebService调用,需要使用第三方类库(KS0AP2)。另外一种方式是基于Http协议获取数据方法:采用HttpClient向服务器端action请求数据,使用JSON格式处理数据。比如:struts2+hibernate+spring+json。数据方面可以用json,也可以使用xml。这两种方式都需要进行客户端和远程数据库端代码的编写,且代码处理复杂,程序设计要求技术较多,需要开发人员有一定的开发经验和能力,提高了对Android开发人员的要求,加大了开发难度。所以开发一种支持Android终端访问远程数据库的可视化工具非常有意义。这种方式为用户提供数据库资源的全局统一视图和一致访问接口,开发人员可以快速实现Android终端远程访问数据库。在访问数据库后,数据以统一的格式返回到终端,使Android终端可以方便进行数据处理,简洁、高效地进行数据交互。【
发明内容】[0006]本发明的目的是为了解决目前移动终端操作系统上的Android程序与远程数据库交互,目前的开发工具不具有可视化生成移动终端远程访问数据库程序框架结构的功能且未提供基本的Android程序框架的问题,因此提供了基于对象关联映射的Android终端访问远程数据库代码生成系统和方法。基于对象关联映射的Android终端访问远程数据库的程序框架及代码生成系统,它包括:[0007]远程数据库装置、移动终端数据库基本信息装置、移动终端数据库表装置、移动终端与远程数据库交互的装置、移动终端与远程数据库交互的中心控件信息装置、移动终端与远程数据库查询交互装置、移动终端与远程数据库更新数据信息装置、数据库查询语句基本信息的装置、移动终端界面控件的唯一标识与访问数据库信息相对应装置、数据库更新语句的基本信息装置、移动终端访问远程数据库的装置、移动终端获得访问远程数据库SQL语句的装置、XML格式的移动终端访问远程数据库的数据信息装置与移动终端利用提供的API处理接收的远程数据库的数据信息装置;[0008]所述移动终端数据库基本信息装置服务器端连接远程数据库装置,所述移动终端数据库基本信息装置客户端连接移动终端数据库表装置,所述移动终端与远程数据库交互的装置分别与移动终端数据库表装置、移动终端与远程数据库交互的中心控件信息装置、移动终端与远程数据库查询交互装置、移动终端与远程数据库更新数据信息装置与移动终端访问远程数据库的装置相连接,所述移动终端与远程数据库交互的中心控件信息装置的中心控件获取端连接移动终端界面控件的唯一标识与访问数据库信息相对应装置,所述移动终端与远程数据库查询交互装置的查询语句形成端连接数据库查询语句基本信息的装置,所述移动终端与远程数据库更新数据信息装置的更新语句形成端连接数据库更新语句的基本信息装置,所述移动终端访问远程数据库的装置连接有移动终端获得访问远程数据库SQL语句的装置,所述移动终端获得访问远程数据库SQL语句的装置的访问数据返回端连接XML格式的移动终端访问远程数据库的数据信息装置,所述XML格式的移动终端访问远程数据库的数据信息装置的数据存储端连接移动终端利用提供的API处理接收的远程数据库的数据信息装置。[0009]基于对象关联映射的Android终端访问远程数据库的程序框架及代码生成方法,它包括如下步骤:[0010]访问远程数据库基本信息,连接远程数据库步骤,包括用于明确移动终端表结构、移动终端界面组件以及远程数据库表结构字段等信息的设置步骤、用于设置远程数据库的类型及连接远程数据库等信息的步骤;[0011]设置移动终端数据库基本信息,数据库名称、版本号步骤,包括用于明确移动终端所需数据库结构及表结构的步骤、用于明确移动终端表结构与移动终端界面组件信息的步骤;[0012]设置SQL语句存放位置步骤;[0013]创建移动终端数据库表,设置移动终端表和远程数据库表的关系步骤,包括用于设置移动终端数据库表及表结构的步骤、用于获取移动终端界面控件组件唯一标识的获取的步骤、用于通过设置移动终端表的字段属性与移动终端界面控件对象的唯一标识ID属性对应步骤;[0014]创建移动终端表的结构,即字段属性的步骤,包括设置移动终端表名称步骤与设置移动终端表字段属性步骤;[0015]生成创建移动终端表的SQL语句步骤,包括组织生成创建移动终端表的SQL语句与获得生成SQL语句的存放位置步骤;生成SQL语句的内容与用于在程序框架代码窗口中显示程序框架代码的步骤;[0016]创建移动终端与远程数据库交互的步骤,包括用于将程序框架代码与访问远程数据库端生成的文件进行映射,并在程序框架代码中相应位置生成事件处理代码的步骤、用于将程序框架代码和控件对象的关联关系进行映射,在程序框架代码的相应位置生成事件处理代码的步骤与用于将程序框架代码和关联关系进行映射,在程序框架代码的相应位置生成事件处理代码的步骤;[0017]获得移动终端与远程数据库交互的中心控件信息步骤,包括获得移动终端界面控件中触发数据库交互的中心控件装置与用于获取移动终端界面控件唯一标识的获取装置;[0018]设置移动终端与远程数据库交互操作的查询、更新信息步骤,包括用于获得移动终端查询远程数据库时,需要的表字段、条件的获得步骤,还包括用于获得移动终端更新远程数据库数据信息的步骤,还包括用于获得移动终端界面控件的唯一标识ID和相应控件显示的数据信息,完成移动终端更新远程数据库的步骤;[0019]生成移动终端访问远程数据库SQL语句步骤,包括生成创建移动终端表的SQL语句、生成移动终端查询与更新远程数据库的SQL语句的步骤;[0020]返回XML格式的移动终端访问远程数据库的数据信息步骤,包括用于处理移动终端查询远程数据库时的返回数据信息的步骤与用于生成移动终端查询远程数据库时的返回数据信息统一格式的步骤;[0021]移动终端利用提供的API处理接收的远程数据库的数据信息步骤,包括还包括用于处理移动终端查询远程数据库时的返回数据信息与移动终端界面组件相匹配的步骤、用于处理移动终端界面文件中的控件对象所承载的业务数据的赋值和变换与远程数据库端的数据信息关系的步骤、用于维护移动终端与远程数据库端的数据相匹配的对象关联映射关系的步骤。[0022]发明原理:[0023]根据远程数据库装置的设置和查看可以完成移动终端数据库基本信息装置的设置、移动终端数据库表装置可以设置那些;在移动终端访问远程数据库时,移动终端与远程数据库交互的装置完成的内容,需要通过移动终端与远程数据库交互的中心控件信息装置进行移动终端和远程数据库的关联,其中移动终端UI控件的唯一标识与访问数据库信息相对应装置是这个关联映射关系的纽带,完成了移动终端与远程数据库查询交互装置和移动终端与远程数据库更新数据信息装置;在进行移动终端与远程数据库交互操作时包括数据库查询语句基本信息的装置、数据库更新语句的基本信息装置和移动终端访问远程数据库的装置;在设置完成移动终端与远程数据库交互的内容后要使用移动终端获得访问远程数据库SQL语句的装置和返回XML格式的移动终端访问远程数据库的数据信息装置返回需要的数据库数据后,移动终端利用提供的API处理接收的远程数据库的数据信息装置完成移动终端访问远程数据库的操作。[0024]本发明的有益效果为:1、在界面设计与代码设计之间建立了连接关系,增强了界面与代码的可读性;2、提供了Android应用程序的框架代码结构,对于一般开发者开发较规范的Android应用程序访问远程数据库提供了模板;3、将对象关联映射思想引入可视化应用程序设计及代码生成领域,拓宽了可视化应用程序设计及代码生成的基础思想领域。本发明可以大大减少开发的工作量。本发明可以实现移动终端界面、移动终端数据库、远程数据库等模块开发。使用该系统设计和开发Android终端访问远程数据库,可以为用户提供数据库资源的全局统一视图和一致的访问接口,开发人员可以快速实现Android终端远程访问数据库,方便Android终端简洁、高效进行数据处理。【专利附图】【附图说明】[0025]图1为【具体实施方式】一中基于对象关联映射的Android终端访问远程数据库代码生成系统整体模块图框;[0026]图2是【具体实施方式】四中的基于对象关联映射的Android终端访问远程数据库的程序框架及代码生成方法流程图;[0027]图3为【具体实施方式】五中建立移动终端数据库表结构的示意图;[0028]图4为【具体实施方式】七与【具体实施方式】八中步骤查询和更新流程的示意图。【具体实施方式】[0029]【具体实施方式】一:如图1所示,基于对象关联映射的Android终端访问远程数据库的程序框架及代码生成系统,它包括,[0030]远程数据库装置1、移动终端数据库基本信息装置2、移动终端数据库表装置3、移动终端与远程数据库交互的装置4、移动终端与远程数据库交互的中心控件信息装置5、移动终端与远程数据库查询交互装置6、移动终端与远程数据库更新数据信息装置7、数据库查询语句基本信息的装置8、移动终端界面控件的唯一标识与访问数据库信息相对应装置9、数据库更新语句的基本信息装置10、移动终端访问远程数据库的装置11、移动终端获得访问远程数据库SQL语句的装置12、XML格式的移动终端访问远程数据库的数据信息装置13与移动终端利用提供的API处理接收的远程数据库的数据信息装置14;[0031]所述移动终端数据库基本信息装置2服务器端连接有远程数据库装置1,所述移动终端数据库基本信息装置2客户端连接有移动终端数据库表装置3,所述移动终端与远程数据库交互的装置4分别与移动终端数据库表装置3、移动终端与远程数据库交互的中心控件信息装置5、移动终端与远程数据库查询交互装置6、移动终端与远程数据库更新数据信息装置7与移动终端访问远程数据库的装置11相连接,所述移动终端与远程数据库交互的中心控件信息装置5的中心控件获取端连接移动终端界面控件的唯一标识与访问数据库信息相对应装置9,所述移动终端与远程数据库查询交互装置6的查询语句形成端连接数据库查询语句基本信息的装置8,所述移动终端与远程数据库更新数据信息装置7的更新语句形成端连接数据库更新语句的基本信息装置10,所述移动终端访问远程数据库的装置11连接有移动终端获得访问远程数据库SQL语句的装置12,所述移动终端获得访问远程数据库SQL语句的装置12的访问数据返回端连接XML格式的移动终端访问远程数据库的数据信息装置13,所述XML格式的移动终端访问远程数据库的数据信息装置13的数据存储端连接移动终端利用提供的API处理接收的远程数据库的数据信息装置14。[0032]【具体实施方式】二:本实施方式与【具体实施方式】一不同的是:所述远程数据库装置1,包括用于显示远程数据库端数据库表结构的树状装置、用于访问远程数据库及远程数据库表结构信息的装置、用于选择远程数据库类型及数据库用户及密码的设置信息的装置与用于连接不同类型远程数据库的连接字符串的装置;[0033]所述移动终端数据库基本信息装置2,包括用于设置创建移动终端数据库的条件装置、用于生成移动终端数据库表的装置与用于生成移动终端数据库表结构的装置;[0034]所述移动终端数据库表装置3,包括用于设置移动终端表名称等的装置与用于设置移动终端表的字段属性的装置;[0035]所述移动终端与远程数据库交互的装置4,包括用于设置移动终端访问远程数据库的条件与移动终端界面控件关系的装置、用于将程序框架代码与访问远程数据库端生成的文件进行映射,并在程序框架代码中相应位置生成事件处理代码的装置、用于将程序框架代码和控件对象的关联关系进行映射,在程序框架代码的相应位置生成事件处理代码的装置与用于将程序框架代码和关联关系进行映射,在程序框架代码的相应位置生成事件处理代码的装置;[0036]所述移动终端与远程数据库交互的中心控件信息装置5,包括用于获得移动终端界面控件中触发数据库交互的中心控件装置与用于获取移动终端界面控件唯一标识的获取装置;[0037]所述移动终端与远程数据库查询交互装置6,包括用于处理移动终端查询远程数据库时的返回数据信息的装置、移动终端界面控件的唯一标识与访问数据库信息相对应装置、用于通过设置移动终端表的字段属性与移动终端界面控件的唯一标识属性相对应的装置与生成移动终端查询远程数据库语句的装置;[0038]所述移动终端与远程数据库更新数据信息装置7,包括用于获得移动终端更新远程数据库数据信息的装置、用于获得移动终端界面组件的唯一标识和相应组件显示信息的装置与生成移动终端更新远程数据库语句的装置;[0039]所述数据库查询语句基本信息的装置8,包括用于获得移动终端查询远程数据库时,需要的表字段的获得装置、用于获得移动终端查询远程数据库端条件信息的装置与获得来自移动终端界面控件的数据与设置默认条件值的装置;[0040]所述移动终端界面控件的唯一标识与访问数据库信息相对应装置9,包括判断移动终端表的字段、移动终端界面控件的唯一标识ID属性与远程数据库表字段三者的对应关系的装置;[0041]所述数据库更新语句的基本信息装置10,包括用于设置更新远程数据库端表结构的装置、用于获得移动终端更新远程数据库的条件信息装置与获得来自移动终端界面控件的数据与默认条件值的装置;[0042]所述移动终端访问远程数据库的装置11,包括用于在程序框架代码窗口显示程序框架代码的装置与用于获得移动终端应用程序基本信息装置;[0043]所述移动终端获得访问远程数据库SQL语句的装置12,包括用于生成SQL语句的装置与用于生成移动终端访问远程数据库代码生成的装置;[0044]所述XML格式的移动终端访问远程数据库的数据信息装置13,包括用于生成移动终端访问远程数据库时的返回数据信息统一格式的装置、用于处理移动终端查询远程数据库时的返回数据信息与移动终端界面组件相匹配的装置;[0045]所述移动终端利用提供的API处理接收的远程数据库的数据信息装置14,包括用于处理移动终端界面文件中的控件对象所承载的业务数据的赋值和变换与远程数据库端的数据信息关系的装置与用于维护移动终端与远程数据库端的数据相匹配的对象关联映射关系的装置。其它步骤及参数与【具体实施方式】一相同。[0046]【具体实施方式】三:本实施方式与【具体实施方式】一或二的不同是:所述用于设置移动终端访问远程数据库的条件与移动终端界面控件关系的装置包括TextView控件、EditText控件、CheckBox控件、RadioButon控件、ListView控件、Spinner控件、AutoCompIeteTextView控件、MultiAutoCompIeteTextView控件、DatePicker控件、TimePicker控件、AnalogClock控件与DigitalClock控件,所述远程数据库类型包括OracleServer>OracleLite、MicrosoftSQLServer>MicrosoftAccess、SybaseSQLAnywhereServer、IBMDB2Server与SQLiteandSunMySQL,移动终端界面控件中触发数据库交互的中心控件为Button控件发起业务逻辑动作的控件。其它步骤及参数与【具体实施方式】一或二相同。[0047]【具体实施方式】四:如图2所示,基于对象关联映射的Android终端访问远程数据库的程序框架及代码生成方法,它包括如下步骤:[0048]访问远程数据库基本信息,连接远程数据库步骤,包括用于明确移动终端表结构、移动终端界面组件以及远程数据库表结构字段等信息的设置步骤、用于设置远程数据库的类型及连接远程数据库等信息的步骤;[0049]设置移动终端数据库基本信息,数据库名称、版本号步骤,包括用于明确移动终端所需数据库结构及表结构的步骤、用于明确移动终端表结构与移动终端界面组件信息的步骤;[0050]设置SQL语句存放位置步骤;[0051]创建移动终端数据库表,设置移动终端表和远程数据库表的关系步骤,包括用于设置移动终端数据库表及表结构的步骤、用于获取移动终端界面控件组件唯一标识的获取的步骤、用于通过设置移动终端表的字段属性与移动终端界面控件对象的唯一标识ID属性对应步骤;[0052]创建移动终端表的结构,即字段属性的步骤,包括设置移动终端表名称步骤与设置移动终端表字段属性步骤;[0053]生成创建移动终端表的SQL语句步骤,包括组织生成创建移动终端表的SQL语句与获得生成SQL语句的存放位置步骤;生成SQL语句的内容与用于在程序框架代码窗口中显示程序框架代码的步骤;[0054]创建移动终端与远程数据库交互的步骤,包括用于将程序框架代码与访问远程数据库端生成的文件进行映射,并在程序框架代码中相应位置生成事件处理代码的步骤、用于将程序框架代码和控件对象的关联关系进行映射,在程序框架代码的相应位置生成事件处理代码的步骤与用于将程序框架代码和关联关系进行映射,在程序框架代码的相应位置生成事件处理代码的步骤;[0055]获得移动终端与远程数据库交互的中心控件信息步骤,包括获得移动终端界面控件中触发数据库交互的中心控件装置与用于获取移动终端界面控件唯一标识的获取装置;[0056]设置移动终端与远程数据库交互操作的查询、更新信息步骤,包括用于获得移动终端查询远程数据库时,需要的表字段、条件的获得步骤,还包括用于获得移动终端更新远程数据库数据信息的步骤,还包括用于获得移动终端界面控件的唯一标识ID和相应控件显示的数据信息,完成移动终端更新远程数据库的步骤;[0057]生成移动终端访问远程数据库SQL语句步骤,包括生成创建移动终端表的SQL语句、生成移动终端查询与更新远程数据库的SQL语句的步骤;[0058]返回XML格式的移动终端访问远程数据库的数据信息步骤,包括用于处理移动终端查询远程数据库时的返回数据信息的步骤与用于生成移动终端查询远程数据库时的返回数据信息统一格式的步骤;[0059]移动终端利用提供的API处理接收的远程数据库的数据信息步骤,包括还包括用于处理移动终端查询远程数据库时的返回数据信息与移动终端界面组件相匹配的步骤、用于处理移动终端界面文件中的控件对象所承载的业务数据的赋值和变换与远程数据库端的数据信息关系的步骤、用于维护移动终端与远程数据库端的数据相匹配的对象关联映射关系的步骤。[0060]【具体实施方式】五:本实施方式与【具体实施方式】四不同的是:对基于对象关联映射的Android终端访问远程数据库的程序框架及代码生成系统的限制进一步说明,用于创建移动终端数据库表基本信息的格式处理,它还包括,[0061]确定数据库模式的字段映射关系。一般地,终端数据库(database)可以包含一个或多个表(table),表中包含一个或多个字段(column)。在创建终端数据库的表时,既可以完全复用远程数据库表字段,也可以是远程数据库表字段的子集。[0062]移动终端数据库模式与远程数据库模式之间的映射关系信息,具体是指远程数据库中某一个字段与终端数据库中某一个字段之间的映射关系;[0063]移动终端控件与远程数据库字段之间的映射关系信息,是移动终端界面控件ID与远程数据库中的某一个字段之间的映射关系。[0064]远程数据库中表的集合包含移动终端表的集合,并且移动终端表的字段对应远程数据库相应表字段,并且是一对一关联的,不存在移动终端表字段不属于远程数据库中表字段情况。即通过查看移动终端数据库结构可以知道远程数据库中一定存在的结构。[0065]如图3所示,所述创建移动终端数据库表步骤,它包括,[0066]Stepl:根据规则移动终端的表集合包含于远程数据库表集合,建立移动终端数据库和远程数据库之间的表关系;判断移动终端的表集合Tables不为空,通过移动终端的表集合Tables与远程数据库表集合DBTables的关系Relations比较,满足移动终端的表包含于远程数据库表,存在Tablcs£DBTables,并且tableleTables,建立表tablel;同时Tables删除已经建立完成的表名称tablel;当Tables为空时,终端表的创建结束,生成创建表结构的代码;[0067]Step2:根据规则移动终端的表的字段集合包含于远程数据库表的字段集合,创建移动终端表tabIeI的字段,判断移动终端tabIeI表的字段集合CoIumns不为空,那么建立tablel的第一个字段column,获得远程数据库表中的字段集合DBColumns,当符合Columns^DBColumns,columneColumns,建立所需的相应字段,并删除Columns集合中的字段column;按照step2,建立表的其他字段。当Columns判断为空时,表示该表字段建立结束,返回到stepl。[0068]其它步骤及参数与【具体实施方式】四相同。[0069]【具体实施方式】六:本实施方式与【具体实施方式】四或五不同的是:所述基于对象关联映射的Android终端访问远程数据库的程序框架及代码生成系统的查询和更新进一步说明和限制,包括:[0070]将基于服务器查询数据库的请求转换为基于真实数据库资源的查询请求,并利用该方法提供访问数据库的一致接口,并采用属性等价方式结合XMLSchema技术实现相应的功能。[0071](I)在进行数据库查询、更新操作时,需要保持移动终端控件的ID信息与远程数据库表中字段信息的一致性,特别是将进行远程数据库数据存储到本地数据库时,必须确定控件ID信息与远程数据库表中字段一致,也需要本地数据库存在一致的字段信息。[0072](2)移动终端通过调用相应的生产代码,访问远程数据库,将结果按照统一的XML格式返回,并提供满足XML格式相应的接口,对结果进行相应的处理。[0073](3)移动终端通过本程序框架提供的服务器及相应的处理软件,可以获得XML统一格式的返回数据,并提供与该处理软件相一致的API程序,提供移动终端将获得的返回结果进行相应的处理。[0074](4)在字段无法一致时,需要进行相应的转换操作,这部分需要资源使用者在移动终端设计时注意即可。其它步骤及参数与【具体实施方式】四或五相同。[0075]【具体实施方式】七:如图4所示,本实施方式与【具体实施方式】四至六之一不同的是:所述用于移动终端与远程数据库查询交互移动终端查询远程数据库信息,它包括如下步骤:[0076]Stepl:获得移动终端界面控件中触发数据库交互的中心控件即查询按钮的唯一标识,这里是id值,通过遍历移动终端界面控件的唯一标识集合,即Ids集合,获得移动终端界面控件中触发数据库查询的中心控件的唯一标识id值为querybutton按钮;[0077]St印2:查看远程数据库的表集合DBTables,判断是否存在需要查询表tablel;如果不存在,则查询失败;[0078]Step3:查看远程数据库表tablel的字段集合DBColumn,获取查询字段;如果不存在,返回step2,重新选择查询表,直到所有表都不满足为止;否则进行step4;[0079]Step4:获取条件:根据规则移动终端表的字段、移动终端界面控件的唯一标识ID属性与远程数据库表字段三者的一一对应关系,终端控件id与字段关系相同且唯一,所以可以推断在移动终端界面程序中相应控件id值;条件值由Android终端传递,根据Android应用程序编程要求,一般条件值是移动终端界面数据XXX.getTextO;如果Ids集合中不存在相应的,则查询失败;重新设置终端程序代码;[0080]Step5:选择查询结果显示顺序:遍历DBColumn集合,选择所需字段;如果不存在,返回step2;[0081]Step6:设置完成,生成查询代码;[0082]Step7:移动终端将step6中生成的代码作为程序的一部分,查询远程数据库,返回统一格式的结果;[0083]通过以上步骤,移动终端需要的数据以XML格式返回到界面设计端,只需要界面设计端调用相应的结果处理接口,即可以完成设计。其它步骤及参数与【具体实施方式】四至六之一相同。[0084]【具体实施方式】八:如图4所示,本实施方式与【具体实施方式】四至七之一不同的是:所述用于移动终端与远程数据库更新数据信息用于移动终端更新远程数据库信息,更新包括插入、修改与删除,它包括如下步骤:[0085]Stepl:获取中心控件即更新按钮的id值,通过遍历Ids集合,查找id值为gengxbutton按钮;[0086]St印2:查看DBTables,是否存在需要查询表tablel;如果不存在,则更新失败;[0087]Step3:查看远程数据库表tablel的DBColumn,获取更新字段;如果不存在,返回step2,重新选择查询表,直到所有表都不满足为止;否则进行step4;如果在删除数据时,step3是跳过的;[0088]Step4:获取条件:根据规则移动终端表的字段、移动终端界面控件的唯一标识ID属性与远程数据库表字段三者的一一对应关系,终端控件id与字段关系相同且唯一,所以可以推断在移动终端界面程序中相应控件id值;条件值由Android终端传递,根据Android应用程序编程要求,一般条件值是移动终端界面数据XXX.getTextO;如果Ids集合中不存在相应的,则查询失败;重新设置终端程序代码;[0089]Step5:设置完成,生成查询代码;[0090]Step6:移动终端将step5中生成的代码作为程序的一部分,进行更新远程数据库。[0091]其它步骤及参数与【具体实施方式】四至七之一相同。[0092]【具体实施方式】九:本实施方式中,所述的基于对象关联的Android界面及程序框架的生成系统的进一步限定主要是通过更严格的定义规则形式进行实施方法的说明,它还包括,[0093]映射关系集合(MappingRelationship)是映射规则(MappingRule)集合的子集,一条映射规则包括表间关系(TableRelation)子集和字段映射(ColumnMapping)子集,终端控件id与字段关系(IdColumnRelation)子集,并且字段映射子集的所有元素必须针对同一数据库表(DBTable)。可以表不如下:[0094]规则1:在对象关联映射规则中,设MappingRelationship、MappingRules是两个非空集合,MappingRelationship是由具有MappingRules子集的全体元素组成的。MappingRules是由三个关联对象元素组成的集合,分别是TRs,CM,CR,三者之间存在终端字段、数据库端字段、界面ID对应联系约束。TCRelations是表与字段之间的从属关系,字段是表中的一个兀素。形式化表不:[0095]MappingRelationship={mrImreMappingRules};[0096]`MappingRules={〈TRs,CM,ICRs>TRs^TablcRclalions,CMs^ColumnMappings,ICRs^=IdColumnRclalions,VcmI,cm2,icr3,icr4,cmIeCMs,cm2eCMs,icr3eICRs,icr4eICRs—cml.DBColumn.DBTable=cm2.DBCoIumn.DBTable,icr3.1d=cml.DBCoIumn,icr4.1d=cm2.column};[0097]TCRelations={fieldIfieldetable};[0098]规则2:在表间的对象关联映射中,设变量tablel是移动终端Tables的元素,table2是数据库端DBTables的元素,tablel和table2之间存在relation关系。形式化表不:[0099]TableRelations={<(tablel,table2),relation〉|tableleTables,table2eDBTables,Tables^DBTables,relationeRelations};[0100]Relations=!:“=”,“〈”,“>”,“〈>”,“>=”,“〈=,,}[0101]规则3:在字段间的对象关联映射中,设变量column和DBColumn,column是移动终端Columns的元素,DBColumn是数据库端DBColumns的元素,其中Columns包含于DBColumnsο形式化表示:[0102]ColumnMappings=Kcolumn,DBColumn>|columneColumns,DBColumneDBColumns,Columns[DBColumns};[0103]规则4:在字段与控件的对象关联映射中,设id是终端控件的ID,column是终端数据库的字段,dbcolumn是远程数据库中的字段,三者之间的映射关系如下所示。[0104]IdCoIumnReIationS={<(id,column,dbcolumn),realtion>|ideIds,columneColumns,dbcolumneDBColumns};[0105]Relations=!:“=,,,“〈,,,“>,,,“〈>,,,“>=,,,“〈=,,}[0106]其中,MappingRule为映射规则的集合,ColumnMapping为字段映射的集合,TableRelation为表间关系的集合,IdCoIumnReIations为移动终端控件与数据库表字段的关系集合,Columns为本地数据库中字段的集合,DBColumns为远程数据库字段的集合,DBTables为远程数据库中表的集合,Tables为移动终端表集合,Ids为移动终端控件id的集合,且终端控件id值与移动终端界面程序设计中某些必要的控件的变量必须同名,这点有利于终端界面信息和数据库信息互通操作。Relations为逻辑关系的集合。[0107]本实施方式中移动终端访问远程数据库的代码生成是通过借鉴对象关联映射(ObjectRelationalMapping,简称0RM)技术。主要实现程序对象到关系数据库数据的映射。基于对象关联映射研究移动终端远程访问数据库,采用类单向一对一关联映射模式,实现移动终端数据库与远程数据库对应,移动终端访问远程数据库时界面控件数据与远程数据库数据对应。所生成事件处理代码可重塑,即如移动终端访问远程数据库代码文件发生改写,则程序框架中生成的事件处理代码可随之修改并与之对应。代码框架可供开发者修改,开发者所进行的修改可以包括增加、删除代码,这些代码完成的主要是业务功能。生成的代码文件内容在事件处理代码中,是Android应用程序运行阶段时业务流程处理过程中的方式和顺序的控制单元。控件对象关联对应表是控件间关联关系的存储结构,是关联关系向代码映射的参照单元。[0108]本实施方式采用的实现技术是在Windows操作系统下,使用javaSwing技术,对移动终端访问远程数据库程序进行模仿,实现可视化过程中移动终端访问远程数据库的开发。利用WebService等技术调用远程服务器,结合移动终端应用程序设计按照一定的调用顺序和方式,确定移动终端访问远程数据库程序的代码与移动终端程序代码成功结合,提出Windows下可视化的直接开发方式访问远程数据库数据的方法。[0109]上述所提及的程序框架及对映射后的可编译程序指的是Android应用程序的编写拼装过程中,不同阶段的程序组成,在未进行移动终端应用程序代码和访问远程数据库端数据相应的代码相结合时,目标程序的内容就是基本程序框架结构,反之,则是可以进行编译的Android应用程序代码结构。这其中最重要的移动终端应用程序灵活的应用该方法提供的API进行程序的代码拼装部分。由于Android程序是使用java语言作为其开发语言,那么每一个.java文件要按照java编程的结构进行。如果将Android分为的内特性空间和外特性空间,那么该方法提供的API就属于外特性,所以实现外部特性和内部特性的成功结合对与应用该方法也是尤其重要。【权利要求】1.基于对象关联映射的Android终端访问远程数据库代码生成系统,其特征在于它包括:远程数据库装置(I)、移动终端数据库基本信息装置(2)、移动终端数据库表装置(3)、移动终端与远程数据库交互的装置(4)、移动终端与远程数据库交互的中心控件信息装置(5)、移动终端与远程数据库查询交互装置(6)、移动终端与远程数据库更新数据信息装置(7)、数据库查询语句基本信息的装置(8)、移动终端界面控件的唯一标识与访问数据库信息相对应装置(9)、数据库更新语句的基本信息装置(10)、移动终端访问远程数据库的装置(11)、移动终端获得访问远程数据库SQL语句的装置(12)、XML格式的移动终端访问远程数据库的数据信息装置(13)与移动终端利用提供的API处理接收的远程数据库的数据信息装置(14);所述移动终端数据库基本信息装置(2)服务器端连接远程数据库装置(1),所述移动终端数据库基本信息装置(2)客户端连接移动终端数据库表装置(3),所述移动终端与远程数据库交互的装置(4)分别与移动终端数据库表装置(3)、移动终端与远程数据库交互的中心控件信息装置(5)、移动终端与远程数据库查询交互装置(6)、移动终端与远程数据库更新数据信息装置(7)与移动终端访问远程数据库的装置(11)相连接,所述移动终端与远程数据库交互的中心控件信息装置(5)连接移动终端界面控件的唯一标识与访问数据库信息相对应装置(9),所述移动终端与远程数据库查询交互装置(6)的查询语句形成端连接数据库查询语句基本信息的装置(8),所述移动终端与远程数据库更新数据信息装置(7)的更新语句形成端连接数据库更新语句的基本信息装置(10),所述移动终端访问远程数据库的装置(11)连接有移动终端获得访问远程数据库SQL语句的装置(12),所述移动终端获得访问远程数据库SQL语句的装置(12)的访问数据返回端连接XML格式的移动终端访问远程数据库的数据信息装置(13),所述XML格式的移动终端访问远程数据库的数据信息装置(13)的数据存储端连接移动终端利用提供的API处理接收的远程数据库的数据信息装置(14)。2.根据权利要求1所述的基于对象关联映射的Android终端访问远程数据库代码生成系统,其特征在于所述远程数据库装置(I),包括用于显示远程数据库端数据库表结构的树状装置、用于访问远程数据库及远程数据库表结构信息的装置、用于选择远程数据库类型及数据库用户及密码的设置信息的装置与用于连接不同类型远程数据库的连接字符串的装置;所述移动终端数据库基本信息装置(2),包括用于设置创建移动终端数据库的条件装置、用于生成移动终端数据库表装置与用于生成移动终端数据库表结构的装置;所述移动终端数据库表装置(3),包括用于设置移动终端表名称等的装置与用于设置移动终端表的字段属性的装置;所述移动终端与远程数据库交互的装置(4),包括用于设置移动终端访问远程数据库的条件与移动终端界面控件关系的装置、用于将程序框架代码与访问远程数据库端生成的文件进行映射,并在程序框架代码中相应位置生成事件处理代码的装置、用于将程序框架代码和控件对象的关联关系进行映射,在程序框架代码的相应位置生成事件处理代码的装置与用于将程序框架代码和关联关系进行映射,在程序框架代码的相应位置生成事件处理代码的装置;所述移动终端与远程数据库交互的中心控件信息装置(5),包括用于获得移动终端界面控件中触发数据库交互的中心控件装置与用于获取移动终端界面控件唯一标识的获取装置;所述移动终端与远程数据库查询交互装置(6),包括用于处理移动终端查询远程数据库时的返回数据信息的装置、移动终端界面控件的唯一标识与访问数据库信息相对应装置、用于通过设置移动终端表的字段属性与移动终端界面控件的唯一标识属性相对应的装置与生成移动终端查询远程数据库语句的装置;所述移动终端与远程数据库更新数据信息装置(7),包括用于获得移动终端更新远程数据库数据信息的装置、用于获得移动终端界面组件的唯一标识和相应组件显示信息的装置与生成移动终端更新远程数据库语句的装置;所述数据库查询语句基本信息的装置(8),包括用于获得移动终端查询远程数据库时,需要的表字段的获得装置、用于获得移动终端查询远程数据库端条件信息的装置与获得来自移动终端界面控件的数据与设置默认条件值的装置;所述移动终端界面控件的唯一标识与访问数据库信息相对应装置(9),包括判断移动终端表的字段、移动终端界面控件的唯一标识ID属性与远程数据库表字段三者的对应关系的装置;所述数据库更新语句的基本信息装置(10),包括用于设置更新远程数据库端表结构的装置、用于获得移动终端更新远程数据库的条件信息装置与获得来自移动终端界面控件的数据与默认条件值的装置;所述移动终端访问远程数据库的装置(11),包括用于在程序框架代码窗口显示程序框架代码的装置与用于获得移动终端应用程序基本信息装置;所述移动终端获得访问远程数据库SQL语句的装置(12),包括用于生成SQL语句的装置与用于生成移动终端访问远程数据库代码生成的装置;所述XML格式的移动终端访问远程数据库的数据信息装置(13),包括用于生成移动终端访问远程数据库时的返回数据信息统一格式的装置、用于处理移动终端查询远程数据库时的返回数据信息与移动终端界面组件相匹配的装置;所述移动终端利用提供的API处理接收的远程数据库的数据信息装置(14),包括用于处理移动终端界面文件中的控件对象所承载的业务数据的赋值和变换与远程数据库端的数据信息关系的装置与用于维护移动终端与远程数据库端的数据相匹配的对象关联映射关系的装置。3.根据权利要求2所述的基于对象关联映射的Android终端访问远程数据库代码生成系统,其特征在于所述用于设置移动终端访问远程数据库的条件与移动终端界面控件关系的装置包括TextView控件、EditText控件、CheckBox控件、RadioButon控件、ListView控件、Spinner控件、AutoCompIeteTextView控件、MultiAutoCompIeteTextView控件、DatePicker控件、TimePicker控件、AnalogClock控件与DigitalClock控件,所述远程数据库类型包括OracleServer>OracleLite、MicrosoftSQLServer、MicrosoftAccess、SybaseSQLAnywhereServer、IBMDB2Server与SQLiteandSunMySQL,移动终端界面控件中触发数据库交互的中心控件为Button控件发起业务逻辑动作的控件。4.如权利要求1所述的基于对象关联映射的Android终端访问远程数据库代码生成方法,其特征在于,它包括如下步骤:访问远程数据库基本信息,连接远程数据库步骤,包括用于明确移动终端表结构、移动终端界面组件以及远程数据库表结构字段等信息的设置步骤、用于设置远程数据库的类型及连接远程数据库等信息的步骤;设置移动终端数据库基本信息,数据库名称、版本号步骤,包括用于明确移动终端所需数据库结构及表结构的步骤、用于明确移动终端表结构与移动终端界面组件信息的步骤;设置SQL语句存放位置步骤;创建移动终端数据库表,设置移动终端表和远程数据库表的关系步骤,包括用于设置移动终端数据库表及表结构的步骤、用于获取移动终端界面控件组件唯一标识的获取的步骤、用于通过设置移动终端表的字段属性与移动终端界面控件对象的唯一标识ID属性对应步骤;创建移动终端表的结构,即字段属性的步骤,包括设置移动终端表名称步骤与设置移动终端表字段属性步骤;生成创建移动终端表的SQL语句步骤,包括组织生成创建移动终端表的SQL语句与获得生成SQL语句的存放位置步骤;生成SQL语句的内容与用于在程序框架代码窗口中显示程序框架代码的步骤;创建移动终端与远程数据库交互的步骤,包括用于将程序框架代码与访问远程数据库端生成的文件进行映射,并在程序框架代码中相应位置生成事件处理代码的步骤、用于将程序框架代码和控件对象的关联关系进行映射,在程序框架代码的相应位置生成事件处理代码的步骤与用于将程序框架代码和关联关系进行映射,在程序框架代码的相应位置生成事件处理代码的步骤;获得移动终端与远程数据库交互的中心控件信息步骤,包括获得移动终端界面控件中触发数据库交互的中心控件装置与用于获取移动终端界面控件唯一标识的获取装置;设置移动终端与远程数据库交互操作的查询、更新信息步骤,包括用于获得移动终端查询远程数据库时,需要的表字段、条件的获得步骤,还包括用于获得移动终端更新远程数据库数据信息的步骤,还包括用于获得移动终端界面控件的唯一标识ID和相应控件显示的数据信息,完成移动终端更新远程数据库的步骤;生成移动终端访问远程数据库SQL语句步骤,包括生成创建移动终端表的SQL语句、生成移动终端查询与更新远程数据库的SQL语句的步骤;返回XML格式的移动终端访问远程数据库的数据信息步骤,包括用于处理移动终端查询远程数据库时的返回数据信息的步骤与用于生成移动终端查询远程数据库时的返回数据信息统一格式的步骤;移动终端利用提供的API处理接收的远程数据库的数据信息步骤,包括还包括用于处理移动终端查询远程数据库时的返回数据信息与移动终端界面组件相匹配的步骤、用于处理移动终端界面文件中的控件对象所承载的业务数据的赋值和变换与远程数据库端的数据信息关系的步骤、用于维护移动终端与远程数据库端的数据相匹配的对象关联映射关系的步骤。5.根据权利要求4所述的基于对象关联映射的Android终端访问远程数据库代码生成方法,其特征在于,所述创建移动终端数据库表步骤,它包括,Stepl:根据规则移动终端的表集合包含于远程数据库表集合,建立移动终端数据库和远程数据库之间的表关系;判断移动终端的表集合Tables不为空,通过移动终端的表集合Tables与远程数据库表集合DBTables的关系Relations比较,满足移动终端的表包含于远程数据库表,存在TablcsfDBTablcs,并且tableleTables,建立表tablel;同时Tables删除已经建立完成的表名称tablel;当Tables为空时,终端表的创建结束,生成创建表结构的代码;Step2:根据规则移动终端的表的字段集合包含于远程数据库表的字段集合,创建移动终端表tablel的字段,判断移动终端tablel表的字段集合Columns不为空,那么建立tablel的第一个字段column,获得远程数据库表中的字段集合DBColumns,当符合ColumnsGDBColumns,columneColumns,建立所需的相应字段,并删除Columns集合中的字段column;按照step2,建立表的其他字段。当Columns判断为空时,表示该表字段建立结束,返回到stepl。6.根据权利要求5所述的基于对象关联映射的Android终端访问远程数据库代码生成方法,其特征在于,所述用于移动终端与远程数据库查询交互,它包括如下步骤:Stepl:获得移动终端界面控件中触发数据库交互的中心控件即查询按钮的唯一标识,这里是id值,通过遍历移动终端界面控件的唯一标识集合,即Ids集合,获得移动终端界面控件中触发数据库查询的中心控件的唯一标识id值为querybutton按钮;St印2:查看远程数据库的表集合DBTables,判断是否存在需要查询表tablel;如果不存在,则查询失败;Step3:查看远程数据库表tablel的字段集合DBColumn,获取查询字段;如果不存在,返回step2,重新选择查询表,直到所有表都不满足为止;否则进行step4;Step4:获取条件:根据规则移动终端表的字段、移动终端界面控件的唯一标识ID属性与远程数据库表字段三者的一一对应关系,终端控件id与字段关系相同且唯一,所以可以推断在移动终端界面程序中相应控件id值;条件值由Android终端传递,根据Android应用程序编程要求,一般条件值是移动终端界面数据XXX.getTextO;如果Ids集合中不存在相应的,则查询失败;重新设置终端程序代码;Step5:选择查询结果显示顺序:遍历DBColumn集合,选择所需字段;如果不存在,返回step2;Step6:设置完成,生成查询代码;Step7:移动终端将step6中生成的代码作为程序的一部分,查询远程数据库,返回统一格式的结果;通过以上步骤,移动终端需要的数据以XML格式返回到界面设计端,只需要界面设计端调用相应的结果处理接口,即可以完成设计。7.根据权利要求6所述的基于对象关联映射的Android终端访问远程数据库代码生成方法,所述移动终端与远程数据库更新数据信息,更新包括插入、修改与删除,它包括如下步骤:Stepl:获取中心控件即更新按钮的id值,通过遍历Ids集合,查找id值为gengxbutton按钮;St印2:查看DBTables,是否存在需要查询表tablel;如果不存在,则更新失败;Step3:查看远程数据库表tablel的DBColumn,获取更新字段;如果不存在,返回step2,重新选择查询表,直到所有表都不满足为止;否则进行step4;如果在删除数据时,step3是跳过的;Step4:获取条件:根据规则移动终端表的字段、移动终端界面控件的唯一标识ID属性与远程数据库表字段三者的一一对应关系,终端控件id与字段关系相同且唯一,所以可以推断在移动终端界面程序中相应控件id值;条件值由Android终端传递,根据Android应用程序编程要求,一般条件值是移动终端界面数据XXX.getTextO;如果Ids集合中不存在相应的,则查询失败;重新设置终端程序代码;Step5:设置完成,生成查询代码;Step6:移动终端将step5中生成的代码作为程序的一部分,进行更新远程数据库。【文档编号】G06F17/30GK103530425SQ201310533899【公开日】2014年1月22日申请日期:2013年11月1日优先权日:2013年11月1日【发明者】胡文,宁世勇,潘庆和,赵艳丽,张凯申请人:哈尔滨商业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1