基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫代碼生成系統(tǒng)和方法【專利摘要】基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫代碼生成系統(tǒng)和方法,本發(fā)明涉及Android終端訪問遠程數(shù)據(jù)庫代碼生成系統(tǒng)和方法。本發(fā)明是為了解決目前移動終端操作系統(tǒng)上的Android程序與遠程數(shù)據(jù)庫交互,目前的開發(fā)工具不具有可視化生成移動終端遠程訪問數(shù)據(jù)庫程序框架結(jié)構(gòu)的功能且未提供基本的Android程序框架的問題?;趯ο箨P(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫代碼生成系統(tǒng)包括14個模塊;基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫代碼生成方法,包括8個步驟,即完成了基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫代碼生成系統(tǒng)和方法。本發(fā)明應用于嵌入式技術(shù)的移動終端開發(fā)領域?!緦@f明】基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫代碼生成系統(tǒng)和方法【
技術(shù)領域:
】[0001]本發(fā)明涉及一種Android終端訪問遠程數(shù)據(jù)庫代碼生成系統(tǒng)和方法,尤其涉及一種基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫代碼生成系統(tǒng)和方法?!?br>背景技術(shù):
】[0002]當前移動網(wǎng)絡發(fā)展迅速,特別是智能終端的興起和應用孕育著新一場的用戶需求改革。平板電腦、智能手機的興起已經(jīng)帶來移動終端的時代,在某些情況下智能終端已經(jīng)代替?zhèn)鹘y(tǒng)計算機的作用,更受使用者的歡迎。隨著移動終端產(chǎn)品廣泛應用,移動終端應用程序的數(shù)量也得到了迅猛發(fā)展,而且發(fā)展前景也十分樂觀。在移動終端中,應用程序獲取數(shù)據(jù)的方式基本分為兩種:本地獲取和遠程數(shù)據(jù)庫獲取。對于本地獲取數(shù)據(jù),通過移動終端訪問本身自帶數(shù)據(jù)庫即可。對于遠程數(shù)據(jù)庫的數(shù)據(jù)獲取,多數(shù)采用移動終端通過服務器的中轉(zhuǎn)與數(shù)據(jù)庫建立連接,獲得所需要數(shù)據(jù)。因此需要單獨開發(fā)遠數(shù)據(jù)庫的服務器端程序,約定數(shù)據(jù)包協(xié)議等,雖相對靈活但增加開發(fā)和維護成本。[0003]在移動終端遠程訪問數(shù)據(jù)庫時,移動終端為遠程訪問數(shù)據(jù)庫不僅需要提供一些關(guān)鍵信息,還要考慮返回結(jié)果的處理形式。不同的訪問方式,需要移動終端處理結(jié)果的形式是不同的,其結(jié)果降低了開發(fā)效率和程序的可移植性。[0004]如何快速、高效地開發(fā)出具有高可靠性應用軟件,已成為移動互聯(lián)網(wǎng)時代開發(fā)的重要課題。軟件可視化是解決該問題的重要途徑,軟件可視化在未來軟件工程中占據(jù)著重要的位置。目前,已經(jīng)陸續(xù)出現(xiàn)軟件開發(fā)的可視化工具,如Android的界面工具DroidDraw、Opera公司提供的Mobiforms軟件、DoirdDB軟件等。[0005]隨著移動終端的發(fā)展,對數(shù)據(jù)庫訪問的功能和性能要求更高。目前Android終端操作遠程數(shù)據(jù)庫的方式大致分為兩種:一種是基于SAOP協(xié)議獲取數(shù)據(jù)方法:通過WebService方式進行遠程訪問數(shù)據(jù)庫,WebService是一種基于SAOP協(xié)議的遠程調(diào)用標準,通過WebService可以將不同操作系統(tǒng)平臺,不同語言,不同技術(shù)整合到一起;在4]1(11'01(1移動終端中獲取服務器端WebService調(diào)用,需要使用第三方類庫(KS0AP2)。另外一種方式是基于Http協(xié)議獲取數(shù)據(jù)方法:采用HttpClient向服務器端action請求數(shù)據(jù),使用JSON格式處理數(shù)據(jù)。比如:struts2+hibernate+spring+json。數(shù)據(jù)方面可以用json,也可以使用xml。這兩種方式都需要進行客戶端和遠程數(shù)據(jù)庫端代碼的編寫,且代碼處理復雜,程序設計要求技術(shù)較多,需要開發(fā)人員有一定的開發(fā)經(jīng)驗和能力,提高了對Android開發(fā)人員的要求,加大了開發(fā)難度。所以開發(fā)一種支持Android終端訪問遠程數(shù)據(jù)庫的可視化工具非常有意義。這種方式為用戶提供數(shù)據(jù)庫資源的全局統(tǒng)一視圖和一致訪問接口,開發(fā)人員可以快速實現(xiàn)Android終端遠程訪問數(shù)據(jù)庫。在訪問數(shù)據(jù)庫后,數(shù)據(jù)以統(tǒng)一的格式返回到終端,使Android終端可以方便進行數(shù)據(jù)處理,簡潔、高效地進行數(shù)據(jù)交互?!?br/>發(fā)明內(nèi)容】[0006]本發(fā)明的目的是為了解決目前移動終端操作系統(tǒng)上的Android程序與遠程數(shù)據(jù)庫交互,目前的開發(fā)工具不具有可視化生成移動終端遠程訪問數(shù)據(jù)庫程序框架結(jié)構(gòu)的功能且未提供基本的Android程序框架的問題,因此提供了基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫代碼生成系統(tǒng)和方法?;趯ο箨P(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫的程序框架及代碼生成系統(tǒng),它包括:[0007]遠程數(shù)據(jù)庫裝置、移動終端數(shù)據(jù)庫基本信息裝置、移動終端數(shù)據(jù)庫表裝置、移動終端與遠程數(shù)據(jù)庫交互的裝置、移動終端與遠程數(shù)據(jù)庫交互的中心控件信息裝置、移動終端與遠程數(shù)據(jù)庫查詢交互裝置、移動終端與遠程數(shù)據(jù)庫更新數(shù)據(jù)信息裝置、數(shù)據(jù)庫查詢語句基本信息的裝置、移動終端界面控件的唯一標識與訪問數(shù)據(jù)庫信息相對應裝置、數(shù)據(jù)庫更新語句的基本信息裝置、移動終端訪問遠程數(shù)據(jù)庫的裝置、移動終端獲得訪問遠程數(shù)據(jù)庫SQL語句的裝置、XML格式的移動終端訪問遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置與移動終端利用提供的API處理接收的遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置;[0008]所述移動終端數(shù)據(jù)庫基本信息裝置服務器端連接遠程數(shù)據(jù)庫裝置,所述移動終端數(shù)據(jù)庫基本信息裝置客戶端連接移動終端數(shù)據(jù)庫表裝置,所述移動終端與遠程數(shù)據(jù)庫交互的裝置分別與移動終端數(shù)據(jù)庫表裝置、移動終端與遠程數(shù)據(jù)庫交互的中心控件信息裝置、移動終端與遠程數(shù)據(jù)庫查詢交互裝置、移動終端與遠程數(shù)據(jù)庫更新數(shù)據(jù)信息裝置與移動終端訪問遠程數(shù)據(jù)庫的裝置相連接,所述移動終端與遠程數(shù)據(jù)庫交互的中心控件信息裝置的中心控件獲取端連接移動終端界面控件的唯一標識與訪問數(shù)據(jù)庫信息相對應裝置,所述移動終端與遠程數(shù)據(jù)庫查詢交互裝置的查詢語句形成端連接數(shù)據(jù)庫查詢語句基本信息的裝置,所述移動終端與遠程數(shù)據(jù)庫更新數(shù)據(jù)信息裝置的更新語句形成端連接數(shù)據(jù)庫更新語句的基本信息裝置,所述移動終端訪問遠程數(shù)據(jù)庫的裝置連接有移動終端獲得訪問遠程數(shù)據(jù)庫SQL語句的裝置,所述移動終端獲得訪問遠程數(shù)據(jù)庫SQL語句的裝置的訪問數(shù)據(jù)返回端連接XML格式的移動終端訪問遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置,所述XML格式的移動終端訪問遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置的數(shù)據(jù)存儲端連接移動終端利用提供的API處理接收的遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置。[0009]基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫的程序框架及代碼生成方法,它包括如下步驟:[0010]訪問遠程數(shù)據(jù)庫基本信息,連接遠程數(shù)據(jù)庫步驟,包括用于明確移動終端表結(jié)構(gòu)、移動終端界面組件以及遠程數(shù)據(jù)庫表結(jié)構(gòu)字段等信息的設置步驟、用于設置遠程數(shù)據(jù)庫的類型及連接遠程數(shù)據(jù)庫等信息的步驟;[0011]設置移動終端數(shù)據(jù)庫基本信息,數(shù)據(jù)庫名稱、版本號步驟,包括用于明確移動終端所需數(shù)據(jù)庫結(jié)構(gòu)及表結(jié)構(gòu)的步驟、用于明確移動終端表結(jié)構(gòu)與移動終端界面組件信息的步驟;[0012]設置SQL語句存放位置步驟;[0013]創(chuàng)建移動終端數(shù)據(jù)庫表,設置移動終端表和遠程數(shù)據(jù)庫表的關(guān)系步驟,包括用于設置移動終端數(shù)據(jù)庫表及表結(jié)構(gòu)的步驟、用于獲取移動終端界面控件組件唯一標識的獲取的步驟、用于通過設置移動終端表的字段屬性與移動終端界面控件對象的唯一標識ID屬性對應步驟;[0014]創(chuàng)建移動終端表的結(jié)構(gòu),即字段屬性的步驟,包括設置移動終端表名稱步驟與設置移動終端表字段屬性步驟;[0015]生成創(chuàng)建移動終端表的SQL語句步驟,包括組織生成創(chuàng)建移動終端表的SQL語句與獲得生成SQL語句的存放位置步驟;生成SQL語句的內(nèi)容與用于在程序框架代碼窗口中顯示程序框架代碼的步驟;[0016]創(chuàng)建移動終端與遠程數(shù)據(jù)庫交互的步驟,包括用于將程序框架代碼與訪問遠程數(shù)據(jù)庫端生成的文件進行映射,并在程序框架代碼中相應位置生成事件處理代碼的步驟、用于將程序框架代碼和控件對象的關(guān)聯(lián)關(guān)系進行映射,在程序框架代碼的相應位置生成事件處理代碼的步驟與用于將程序框架代碼和關(guān)聯(lián)關(guān)系進行映射,在程序框架代碼的相應位置生成事件處理代碼的步驟;[0017]獲得移動終端與遠程數(shù)據(jù)庫交互的中心控件信息步驟,包括獲得移動終端界面控件中觸發(fā)數(shù)據(jù)庫交互的中心控件裝置與用于獲取移動終端界面控件唯一標識的獲取裝置;[0018]設置移動終端與遠程數(shù)據(jù)庫交互操作的查詢、更新信息步驟,包括用于獲得移動終端查詢遠程數(shù)據(jù)庫時,需要的表字段、條件的獲得步驟,還包括用于獲得移動終端更新遠程數(shù)據(jù)庫數(shù)據(jù)信息的步驟,還包括用于獲得移動終端界面控件的唯一標識ID和相應控件顯示的數(shù)據(jù)信息,完成移動終端更新遠程數(shù)據(jù)庫的步驟;[0019]生成移動終端訪問遠程數(shù)據(jù)庫SQL語句步驟,包括生成創(chuàng)建移動終端表的SQL語句、生成移動終端查詢與更新遠程數(shù)據(jù)庫的SQL語句的步驟;[0020]返回XML格式的移動終端訪問遠程數(shù)據(jù)庫的數(shù)據(jù)信息步驟,包括用于處理移動終端查詢遠程數(shù)據(jù)庫時的返回數(shù)據(jù)信息的步驟與用于生成移動終端查詢遠程數(shù)據(jù)庫時的返回數(shù)據(jù)信息統(tǒng)一格式的步驟;[0021]移動終端利用提供的API處理接收的遠程數(shù)據(jù)庫的數(shù)據(jù)信息步驟,包括還包括用于處理移動終端查詢遠程數(shù)據(jù)庫時的返回數(shù)據(jù)信息與移動終端界面組件相匹配的步驟、用于處理移動終端界面文件中的控件對象所承載的業(yè)務數(shù)據(jù)的賦值和變換與遠程數(shù)據(jù)庫端的數(shù)據(jù)信息關(guān)系的步驟、用于維護移動終端與遠程數(shù)據(jù)庫端的數(shù)據(jù)相匹配的對象關(guān)聯(lián)映射關(guān)系的步驟。[0022]發(fā)明原理:[0023]根據(jù)遠程數(shù)據(jù)庫裝置的設置和查看可以完成移動終端數(shù)據(jù)庫基本信息裝置的設置、移動終端數(shù)據(jù)庫表裝置可以設置那些;在移動終端訪問遠程數(shù)據(jù)庫時,移動終端與遠程數(shù)據(jù)庫交互的裝置完成的內(nèi)容,需要通過移動終端與遠程數(shù)據(jù)庫交互的中心控件信息裝置進行移動終端和遠程數(shù)據(jù)庫的關(guān)聯(lián),其中移動終端UI控件的唯一標識與訪問數(shù)據(jù)庫信息相對應裝置是這個關(guān)聯(lián)映射關(guān)系的紐帶,完成了移動終端與遠程數(shù)據(jù)庫查詢交互裝置和移動終端與遠程數(shù)據(jù)庫更新數(shù)據(jù)信息裝置;在進行移動終端與遠程數(shù)據(jù)庫交互操作時包括數(shù)據(jù)庫查詢語句基本信息的裝置、數(shù)據(jù)庫更新語句的基本信息裝置和移動終端訪問遠程數(shù)據(jù)庫的裝置;在設置完成移動終端與遠程數(shù)據(jù)庫交互的內(nèi)容后要使用移動終端獲得訪問遠程數(shù)據(jù)庫SQL語句的裝置和返回XML格式的移動終端訪問遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置返回需要的數(shù)據(jù)庫數(shù)據(jù)后,移動終端利用提供的API處理接收的遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置完成移動終端訪問遠程數(shù)據(jù)庫的操作。[0024]本發(fā)明的有益效果為:1、在界面設計與代碼設計之間建立了連接關(guān)系,增強了界面與代碼的可讀性;2、提供了Android應用程序的框架代碼結(jié)構(gòu),對于一般開發(fā)者開發(fā)較規(guī)范的Android應用程序訪問遠程數(shù)據(jù)庫提供了模板;3、將對象關(guān)聯(lián)映射思想引入可視化應用程序設計及代碼生成領域,拓寬了可視化應用程序設計及代碼生成的基礎思想領域。本發(fā)明可以大大減少開發(fā)的工作量。本發(fā)明可以實現(xiàn)移動終端界面、移動終端數(shù)據(jù)庫、遠程數(shù)據(jù)庫等模塊開發(fā)。使用該系統(tǒng)設計和開發(fā)Android終端訪問遠程數(shù)據(jù)庫,可以為用戶提供數(shù)據(jù)庫資源的全局統(tǒng)一視圖和一致的訪問接口,開發(fā)人員可以快速實現(xiàn)Android終端遠程訪問數(shù)據(jù)庫,方便Android終端簡潔、高效進行數(shù)據(jù)處理?!緦@綀D】【附圖說明】[0025]圖1為【具體實施方式】一中基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫代碼生成系統(tǒng)整體模塊圖框;[0026]圖2是【具體實施方式】四中的基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫的程序框架及代碼生成方法流程圖;[0027]圖3為【具體實施方式】五中建立移動終端數(shù)據(jù)庫表結(jié)構(gòu)的示意圖;[0028]圖4為【具體實施方式】七與【具體實施方式】八中步驟查詢和更新流程的示意圖。【具體實施方式】[0029]【具體實施方式】一:如圖1所示,基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫的程序框架及代碼生成系統(tǒng),它包括,[0030]遠程數(shù)據(jù)庫裝置1、移動終端數(shù)據(jù)庫基本信息裝置2、移動終端數(shù)據(jù)庫表裝置3、移動終端與遠程數(shù)據(jù)庫交互的裝置4、移動終端與遠程數(shù)據(jù)庫交互的中心控件信息裝置5、移動終端與遠程數(shù)據(jù)庫查詢交互裝置6、移動終端與遠程數(shù)據(jù)庫更新數(shù)據(jù)信息裝置7、數(shù)據(jù)庫查詢語句基本信息的裝置8、移動終端界面控件的唯一標識與訪問數(shù)據(jù)庫信息相對應裝置9、數(shù)據(jù)庫更新語句的基本信息裝置10、移動終端訪問遠程數(shù)據(jù)庫的裝置11、移動終端獲得訪問遠程數(shù)據(jù)庫SQL語句的裝置12、XML格式的移動終端訪問遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置13與移動終端利用提供的API處理接收的遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置14;[0031]所述移動終端數(shù)據(jù)庫基本信息裝置2服務器端連接有遠程數(shù)據(jù)庫裝置1,所述移動終端數(shù)據(jù)庫基本信息裝置2客戶端連接有移動終端數(shù)據(jù)庫表裝置3,所述移動終端與遠程數(shù)據(jù)庫交互的裝置4分別與移動終端數(shù)據(jù)庫表裝置3、移動終端與遠程數(shù)據(jù)庫交互的中心控件信息裝置5、移動終端與遠程數(shù)據(jù)庫查詢交互裝置6、移動終端與遠程數(shù)據(jù)庫更新數(shù)據(jù)信息裝置7與移動終端訪問遠程數(shù)據(jù)庫的裝置11相連接,所述移動終端與遠程數(shù)據(jù)庫交互的中心控件信息裝置5的中心控件獲取端連接移動終端界面控件的唯一標識與訪問數(shù)據(jù)庫信息相對應裝置9,所述移動終端與遠程數(shù)據(jù)庫查詢交互裝置6的查詢語句形成端連接數(shù)據(jù)庫查詢語句基本信息的裝置8,所述移動終端與遠程數(shù)據(jù)庫更新數(shù)據(jù)信息裝置7的更新語句形成端連接數(shù)據(jù)庫更新語句的基本信息裝置10,所述移動終端訪問遠程數(shù)據(jù)庫的裝置11連接有移動終端獲得訪問遠程數(shù)據(jù)庫SQL語句的裝置12,所述移動終端獲得訪問遠程數(shù)據(jù)庫SQL語句的裝置12的訪問數(shù)據(jù)返回端連接XML格式的移動終端訪問遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置13,所述XML格式的移動終端訪問遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置13的數(shù)據(jù)存儲端連接移動終端利用提供的API處理接收的遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置14。[0032]【具體實施方式】二:本實施方式與【具體實施方式】一不同的是:所述遠程數(shù)據(jù)庫裝置1,包括用于顯示遠程數(shù)據(jù)庫端數(shù)據(jù)庫表結(jié)構(gòu)的樹狀裝置、用于訪問遠程數(shù)據(jù)庫及遠程數(shù)據(jù)庫表結(jié)構(gòu)信息的裝置、用于選擇遠程數(shù)據(jù)庫類型及數(shù)據(jù)庫用戶及密碼的設置信息的裝置與用于連接不同類型遠程數(shù)據(jù)庫的連接字符串的裝置;[0033]所述移動終端數(shù)據(jù)庫基本信息裝置2,包括用于設置創(chuàng)建移動終端數(shù)據(jù)庫的條件裝置、用于生成移動終端數(shù)據(jù)庫表的裝置與用于生成移動終端數(shù)據(jù)庫表結(jié)構(gòu)的裝置;[0034]所述移動終端數(shù)據(jù)庫表裝置3,包括用于設置移動終端表名稱等的裝置與用于設置移動終端表的字段屬性的裝置;[0035]所述移動終端與遠程數(shù)據(jù)庫交互的裝置4,包括用于設置移動終端訪問遠程數(shù)據(jù)庫的條件與移動終端界面控件關(guān)系的裝置、用于將程序框架代碼與訪問遠程數(shù)據(jù)庫端生成的文件進行映射,并在程序框架代碼中相應位置生成事件處理代碼的裝置、用于將程序框架代碼和控件對象的關(guān)聯(lián)關(guān)系進行映射,在程序框架代碼的相應位置生成事件處理代碼的裝置與用于將程序框架代碼和關(guān)聯(lián)關(guān)系進行映射,在程序框架代碼的相應位置生成事件處理代碼的裝置;[0036]所述移動終端與遠程數(shù)據(jù)庫交互的中心控件信息裝置5,包括用于獲得移動終端界面控件中觸發(fā)數(shù)據(jù)庫交互的中心控件裝置與用于獲取移動終端界面控件唯一標識的獲取裝置;[0037]所述移動終端與遠程數(shù)據(jù)庫查詢交互裝置6,包括用于處理移動終端查詢遠程數(shù)據(jù)庫時的返回數(shù)據(jù)信息的裝置、移動終端界面控件的唯一標識與訪問數(shù)據(jù)庫信息相對應裝置、用于通過設置移動終端表的字段屬性與移動終端界面控件的唯一標識屬性相對應的裝置與生成移動終端查詢遠程數(shù)據(jù)庫語句的裝置;[0038]所述移動終端與遠程數(shù)據(jù)庫更新數(shù)據(jù)信息裝置7,包括用于獲得移動終端更新遠程數(shù)據(jù)庫數(shù)據(jù)信息的裝置、用于獲得移動終端界面組件的唯一標識和相應組件顯示信息的裝置與生成移動終端更新遠程數(shù)據(jù)庫語句的裝置;[0039]所述數(shù)據(jù)庫查詢語句基本信息的裝置8,包括用于獲得移動終端查詢遠程數(shù)據(jù)庫時,需要的表字段的獲得裝置、用于獲得移動終端查詢遠程數(shù)據(jù)庫端條件信息的裝置與獲得來自移動終端界面控件的數(shù)據(jù)與設置默認條件值的裝置;[0040]所述移動終端界面控件的唯一標識與訪問數(shù)據(jù)庫信息相對應裝置9,包括判斷移動終端表的字段、移動終端界面控件的唯一標識ID屬性與遠程數(shù)據(jù)庫表字段三者的對應關(guān)系的裝置;[0041]所述數(shù)據(jù)庫更新語句的基本信息裝置10,包括用于設置更新遠程數(shù)據(jù)庫端表結(jié)構(gòu)的裝置、用于獲得移動終端更新遠程數(shù)據(jù)庫的條件信息裝置與獲得來自移動終端界面控件的數(shù)據(jù)與默認條件值的裝置;[0042]所述移動終端訪問遠程數(shù)據(jù)庫的裝置11,包括用于在程序框架代碼窗口顯示程序框架代碼的裝置與用于獲得移動終端應用程序基本信息裝置;[0043]所述移動終端獲得訪問遠程數(shù)據(jù)庫SQL語句的裝置12,包括用于生成SQL語句的裝置與用于生成移動終端訪問遠程數(shù)據(jù)庫代碼生成的裝置;[0044]所述XML格式的移動終端訪問遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置13,包括用于生成移動終端訪問遠程數(shù)據(jù)庫時的返回數(shù)據(jù)信息統(tǒng)一格式的裝置、用于處理移動終端查詢遠程數(shù)據(jù)庫時的返回數(shù)據(jù)信息與移動終端界面組件相匹配的裝置;[0045]所述移動終端利用提供的API處理接收的遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置14,包括用于處理移動終端界面文件中的控件對象所承載的業(yè)務數(shù)據(jù)的賦值和變換與遠程數(shù)據(jù)庫端的數(shù)據(jù)信息關(guān)系的裝置與用于維護移動終端與遠程數(shù)據(jù)庫端的數(shù)據(jù)相匹配的對象關(guān)聯(lián)映射關(guān)系的裝置。其它步驟及參數(shù)與【具體實施方式】一相同。[0046]【具體實施方式】三:本實施方式與【具體實施方式】一或二的不同是:所述用于設置移動終端訪問遠程數(shù)據(jù)庫的條件與移動終端界面控件關(guān)系的裝置包括TextView控件、EditText控件、CheckBox控件、RadioButon控件、ListView控件、Spinner控件、AutoCompIeteTextView控件、MultiAutoCompIeteTextView控件、DatePicker控件、TimePicker控件、AnalogClock控件與DigitalClock控件,所述遠程數(shù)據(jù)庫類型包括OracleServer>OracleLite、MicrosoftSQLServer>MicrosoftAccess、SybaseSQLAnywhereServer、IBMDB2Server與SQLiteandSunMySQL,移動終端界面控件中觸發(fā)數(shù)據(jù)庫交互的中心控件為Button控件發(fā)起業(yè)務邏輯動作的控件。其它步驟及參數(shù)與【具體實施方式】一或二相同。[0047]【具體實施方式】四:如圖2所示,基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫的程序框架及代碼生成方法,它包括如下步驟:[0048]訪問遠程數(shù)據(jù)庫基本信息,連接遠程數(shù)據(jù)庫步驟,包括用于明確移動終端表結(jié)構(gòu)、移動終端界面組件以及遠程數(shù)據(jù)庫表結(jié)構(gòu)字段等信息的設置步驟、用于設置遠程數(shù)據(jù)庫的類型及連接遠程數(shù)據(jù)庫等信息的步驟;[0049]設置移動終端數(shù)據(jù)庫基本信息,數(shù)據(jù)庫名稱、版本號步驟,包括用于明確移動終端所需數(shù)據(jù)庫結(jié)構(gòu)及表結(jié)構(gòu)的步驟、用于明確移動終端表結(jié)構(gòu)與移動終端界面組件信息的步驟;[0050]設置SQL語句存放位置步驟;[0051]創(chuàng)建移動終端數(shù)據(jù)庫表,設置移動終端表和遠程數(shù)據(jù)庫表的關(guān)系步驟,包括用于設置移動終端數(shù)據(jù)庫表及表結(jié)構(gòu)的步驟、用于獲取移動終端界面控件組件唯一標識的獲取的步驟、用于通過設置移動終端表的字段屬性與移動終端界面控件對象的唯一標識ID屬性對應步驟;[0052]創(chuàng)建移動終端表的結(jié)構(gòu),即字段屬性的步驟,包括設置移動終端表名稱步驟與設置移動終端表字段屬性步驟;[0053]生成創(chuàng)建移動終端表的SQL語句步驟,包括組織生成創(chuàng)建移動終端表的SQL語句與獲得生成SQL語句的存放位置步驟;生成SQL語句的內(nèi)容與用于在程序框架代碼窗口中顯示程序框架代碼的步驟;[0054]創(chuàng)建移動終端與遠程數(shù)據(jù)庫交互的步驟,包括用于將程序框架代碼與訪問遠程數(shù)據(jù)庫端生成的文件進行映射,并在程序框架代碼中相應位置生成事件處理代碼的步驟、用于將程序框架代碼和控件對象的關(guān)聯(lián)關(guān)系進行映射,在程序框架代碼的相應位置生成事件處理代碼的步驟與用于將程序框架代碼和關(guān)聯(lián)關(guān)系進行映射,在程序框架代碼的相應位置生成事件處理代碼的步驟;[0055]獲得移動終端與遠程數(shù)據(jù)庫交互的中心控件信息步驟,包括獲得移動終端界面控件中觸發(fā)數(shù)據(jù)庫交互的中心控件裝置與用于獲取移動終端界面控件唯一標識的獲取裝置;[0056]設置移動終端與遠程數(shù)據(jù)庫交互操作的查詢、更新信息步驟,包括用于獲得移動終端查詢遠程數(shù)據(jù)庫時,需要的表字段、條件的獲得步驟,還包括用于獲得移動終端更新遠程數(shù)據(jù)庫數(shù)據(jù)信息的步驟,還包括用于獲得移動終端界面控件的唯一標識ID和相應控件顯示的數(shù)據(jù)信息,完成移動終端更新遠程數(shù)據(jù)庫的步驟;[0057]生成移動終端訪問遠程數(shù)據(jù)庫SQL語句步驟,包括生成創(chuàng)建移動終端表的SQL語句、生成移動終端查詢與更新遠程數(shù)據(jù)庫的SQL語句的步驟;[0058]返回XML格式的移動終端訪問遠程數(shù)據(jù)庫的數(shù)據(jù)信息步驟,包括用于處理移動終端查詢遠程數(shù)據(jù)庫時的返回數(shù)據(jù)信息的步驟與用于生成移動終端查詢遠程數(shù)據(jù)庫時的返回數(shù)據(jù)信息統(tǒng)一格式的步驟;[0059]移動終端利用提供的API處理接收的遠程數(shù)據(jù)庫的數(shù)據(jù)信息步驟,包括還包括用于處理移動終端查詢遠程數(shù)據(jù)庫時的返回數(shù)據(jù)信息與移動終端界面組件相匹配的步驟、用于處理移動終端界面文件中的控件對象所承載的業(yè)務數(shù)據(jù)的賦值和變換與遠程數(shù)據(jù)庫端的數(shù)據(jù)信息關(guān)系的步驟、用于維護移動終端與遠程數(shù)據(jù)庫端的數(shù)據(jù)相匹配的對象關(guān)聯(lián)映射關(guān)系的步驟。[0060]【具體實施方式】五:本實施方式與【具體實施方式】四不同的是:對基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫的程序框架及代碼生成系統(tǒng)的限制進一步說明,用于創(chuàng)建移動終端數(shù)據(jù)庫表基本信息的格式處理,它還包括,[0061]確定數(shù)據(jù)庫模式的字段映射關(guān)系。一般地,終端數(shù)據(jù)庫(database)可以包含一個或多個表(table),表中包含一個或多個字段(column)。在創(chuàng)建終端數(shù)據(jù)庫的表時,既可以完全復用遠程數(shù)據(jù)庫表字段,也可以是遠程數(shù)據(jù)庫表字段的子集。[0062]移動終端數(shù)據(jù)庫模式與遠程數(shù)據(jù)庫模式之間的映射關(guān)系信息,具體是指遠程數(shù)據(jù)庫中某一個字段與終端數(shù)據(jù)庫中某一個字段之間的映射關(guān)系;[0063]移動終端控件與遠程數(shù)據(jù)庫字段之間的映射關(guān)系信息,是移動終端界面控件ID與遠程數(shù)據(jù)庫中的某一個字段之間的映射關(guān)系。[0064]遠程數(shù)據(jù)庫中表的集合包含移動終端表的集合,并且移動終端表的字段對應遠程數(shù)據(jù)庫相應表字段,并且是一對一關(guān)聯(lián)的,不存在移動終端表字段不屬于遠程數(shù)據(jù)庫中表字段情況。即通過查看移動終端數(shù)據(jù)庫結(jié)構(gòu)可以知道遠程數(shù)據(jù)庫中一定存在的結(jié)構(gòu)。[0065]如圖3所示,所述創(chuàng)建移動終端數(shù)據(jù)庫表步驟,它包括,[0066]Stepl:根據(jù)規(guī)則移動終端的表集合包含于遠程數(shù)據(jù)庫表集合,建立移動終端數(shù)據(jù)庫和遠程數(shù)據(jù)庫之間的表關(guān)系;判斷移動終端的表集合Tables不為空,通過移動終端的表集合Tables與遠程數(shù)據(jù)庫表集合DBTables的關(guān)系Relations比較,滿足移動終端的表包含于遠程數(shù)據(jù)庫表,存在Tablcs£DBTables,并且tableleTables,建立表tablel;同時Tables刪除已經(jīng)建立完成的表名稱tablel;當Tables為空時,終端表的創(chuàng)建結(jié)束,生成創(chuàng)建表結(jié)構(gòu)的代碼;[0067]Step2:根據(jù)規(guī)則移動終端的表的字段集合包含于遠程數(shù)據(jù)庫表的字段集合,創(chuàng)建移動終端表tabIeI的字段,判斷移動終端tabIeI表的字段集合CoIumns不為空,那么建立tablel的第一個字段column,獲得遠程數(shù)據(jù)庫表中的字段集合DBColumns,當符合Columns^DBColumns,columneColumns,建立所需的相應字段,并刪除Columns集合中的字段column;按照step2,建立表的其他字段。當Columns判斷為空時,表示該表字段建立結(jié)束,返回到stepl。[0068]其它步驟及參數(shù)與【具體實施方式】四相同。[0069]【具體實施方式】六:本實施方式與【具體實施方式】四或五不同的是:所述基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫的程序框架及代碼生成系統(tǒng)的查詢和更新進一步說明和限制,包括:[0070]將基于服務器查詢數(shù)據(jù)庫的請求轉(zhuǎn)換為基于真實數(shù)據(jù)庫資源的查詢請求,并利用該方法提供訪問數(shù)據(jù)庫的一致接口,并采用屬性等價方式結(jié)合XMLSchema技術(shù)實現(xiàn)相應的功能。[0071](I)在進行數(shù)據(jù)庫查詢、更新操作時,需要保持移動終端控件的ID信息與遠程數(shù)據(jù)庫表中字段信息的一致性,特別是將進行遠程數(shù)據(jù)庫數(shù)據(jù)存儲到本地數(shù)據(jù)庫時,必須確定控件ID信息與遠程數(shù)據(jù)庫表中字段一致,也需要本地數(shù)據(jù)庫存在一致的字段信息。[0072](2)移動終端通過調(diào)用相應的生產(chǎn)代碼,訪問遠程數(shù)據(jù)庫,將結(jié)果按照統(tǒng)一的XML格式返回,并提供滿足XML格式相應的接口,對結(jié)果進行相應的處理。[0073](3)移動終端通過本程序框架提供的服務器及相應的處理軟件,可以獲得XML統(tǒng)一格式的返回數(shù)據(jù),并提供與該處理軟件相一致的API程序,提供移動終端將獲得的返回結(jié)果進行相應的處理。[0074](4)在字段無法一致時,需要進行相應的轉(zhuǎn)換操作,這部分需要資源使用者在移動終端設計時注意即可。其它步驟及參數(shù)與【具體實施方式】四或五相同。[0075]【具體實施方式】七:如圖4所示,本實施方式與【具體實施方式】四至六之一不同的是:所述用于移動終端與遠程數(shù)據(jù)庫查詢交互移動終端查詢遠程數(shù)據(jù)庫信息,它包括如下步驟:[0076]Stepl:獲得移動終端界面控件中觸發(fā)數(shù)據(jù)庫交互的中心控件即查詢按鈕的唯一標識,這里是id值,通過遍歷移動終端界面控件的唯一標識集合,即Ids集合,獲得移動終端界面控件中觸發(fā)數(shù)據(jù)庫查詢的中心控件的唯一標識id值為querybutton按鈕;[0077]St印2:查看遠程數(shù)據(jù)庫的表集合DBTables,判斷是否存在需要查詢表tablel;如果不存在,則查詢失敗;[0078]Step3:查看遠程數(shù)據(jù)庫表tablel的字段集合DBColumn,獲取查詢字段;如果不存在,返回step2,重新選擇查詢表,直到所有表都不滿足為止;否則進行step4;[0079]Step4:獲取條件:根據(jù)規(guī)則移動終端表的字段、移動終端界面控件的唯一標識ID屬性與遠程數(shù)據(jù)庫表字段三者的一一對應關(guān)系,終端控件id與字段關(guān)系相同且唯一,所以可以推斷在移動終端界面程序中相應控件id值;條件值由Android終端傳遞,根據(jù)Android應用程序編程要求,一般條件值是移動終端界面數(shù)據(jù)XXX.getTextO;如果Ids集合中不存在相應的,則查詢失?。恢匦略O置終端程序代碼;[0080]Step5:選擇查詢結(jié)果顯示順序:遍歷DBColumn集合,選擇所需字段;如果不存在,返回step2;[0081]Step6:設置完成,生成查詢代碼;[0082]Step7:移動終端將step6中生成的代碼作為程序的一部分,查詢遠程數(shù)據(jù)庫,返回統(tǒng)一格式的結(jié)果;[0083]通過以上步驟,移動終端需要的數(shù)據(jù)以XML格式返回到界面設計端,只需要界面設計端調(diào)用相應的結(jié)果處理接口,即可以完成設計。其它步驟及參數(shù)與【具體實施方式】四至六之一相同。[0084]【具體實施方式】八:如圖4所示,本實施方式與【具體實施方式】四至七之一不同的是:所述用于移動終端與遠程數(shù)據(jù)庫更新數(shù)據(jù)信息用于移動終端更新遠程數(shù)據(jù)庫信息,更新包括插入、修改與刪除,它包括如下步驟:[0085]Stepl:獲取中心控件即更新按鈕的id值,通過遍歷Ids集合,查找id值為gengxbutton按鈕;[0086]St印2:查看DBTables,是否存在需要查詢表tablel;如果不存在,則更新失敗;[0087]Step3:查看遠程數(shù)據(jù)庫表tablel的DBColumn,獲取更新字段;如果不存在,返回step2,重新選擇查詢表,直到所有表都不滿足為止;否則進行step4;如果在刪除數(shù)據(jù)時,step3是跳過的;[0088]Step4:獲取條件:根據(jù)規(guī)則移動終端表的字段、移動終端界面控件的唯一標識ID屬性與遠程數(shù)據(jù)庫表字段三者的一一對應關(guān)系,終端控件id與字段關(guān)系相同且唯一,所以可以推斷在移動終端界面程序中相應控件id值;條件值由Android終端傳遞,根據(jù)Android應用程序編程要求,一般條件值是移動終端界面數(shù)據(jù)XXX.getTextO;如果Ids集合中不存在相應的,則查詢失敗;重新設置終端程序代碼;[0089]Step5:設置完成,生成查詢代碼;[0090]Step6:移動終端將step5中生成的代碼作為程序的一部分,進行更新遠程數(shù)據(jù)庫。[0091]其它步驟及參數(shù)與【具體實施方式】四至七之一相同。[0092]【具體實施方式】九:本實施方式中,所述的基于對象關(guān)聯(lián)的Android界面及程序框架的生成系統(tǒng)的進一步限定主要是通過更嚴格的定義規(guī)則形式進行實施方法的說明,它還包括,[0093]映射關(guān)系集合(MappingRelationship)是映射規(guī)則(MappingRule)集合的子集,一條映射規(guī)則包括表間關(guān)系(TableRelation)子集和字段映射(ColumnMapping)子集,終端控件id與字段關(guān)系(IdColumnRelation)子集,并且字段映射子集的所有元素必須針對同一數(shù)據(jù)庫表(DBTable)??梢员聿蝗缦?[0094]規(guī)則1:在對象關(guān)聯(lián)映射規(guī)則中,設MappingRelationship、MappingRules是兩個非空集合,MappingRelationship是由具有MappingRules子集的全體元素組成的。MappingRules是由三個關(guān)聯(lián)對象元素組成的集合,分別是TRs,CM,CR,三者之間存在終端字段、數(shù)據(jù)庫端字段、界面ID對應聯(lián)系約束。TCRelations是表與字段之間的從屬關(guān)系,字段是表中的一個兀素。形式化表不:[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]規(guī)則2:在表間的對象關(guān)聯(lián)映射中,設變量tablel是移動終端Tables的元素,table2是數(shù)據(jù)庫端DBTables的元素,tablel和table2之間存在relation關(guān)系。形式化表不:[0099]TableRelations={<(tablel,table2),relation〉|tableleTables,table2eDBTables,Tables^DBTables,relationeRelations};[0100]Relations=!:“=”,“〈”,“>”,“〈>”,“>=”,“〈=,,}[0101]規(guī)則3:在字段間的對象關(guān)聯(lián)映射中,設變量column和DBColumn,column是移動終端Columns的元素,DBColumn是數(shù)據(jù)庫端DBColumns的元素,其中Columns包含于DBColumnsο形式化表示:[0102]ColumnMappings=Kcolumn,DBColumn>|columneColumns,DBColumneDBColumns,Columns[DBColumns};[0103]規(guī)則4:在字段與控件的對象關(guān)聯(lián)映射中,設id是終端控件的ID,column是終端數(shù)據(jù)庫的字段,dbcolumn是遠程數(shù)據(jù)庫中的字段,三者之間的映射關(guān)系如下所示。[0104]IdCoIumnReIationS={<(id,column,dbcolumn),realtion>|ideIds,columneColumns,dbcolumneDBColumns};[0105]Relations=!:“=,,,“〈,,,“>,,,“〈>,,,“>=,,,“〈=,,}[0106]其中,MappingRule為映射規(guī)則的集合,ColumnMapping為字段映射的集合,TableRelation為表間關(guān)系的集合,IdCoIumnReIations為移動終端控件與數(shù)據(jù)庫表字段的關(guān)系集合,Columns為本地數(shù)據(jù)庫中字段的集合,DBColumns為遠程數(shù)據(jù)庫字段的集合,DBTables為遠程數(shù)據(jù)庫中表的集合,Tables為移動終端表集合,Ids為移動終端控件id的集合,且終端控件id值與移動終端界面程序設計中某些必要的控件的變量必須同名,這點有利于終端界面信息和數(shù)據(jù)庫信息互通操作。Relations為邏輯關(guān)系的集合。[0107]本實施方式中移動終端訪問遠程數(shù)據(jù)庫的代碼生成是通過借鑒對象關(guān)聯(lián)映射(ObjectRelationalMapping,簡稱0RM)技術(shù)。主要實現(xiàn)程序?qū)ο蟮疥P(guān)系數(shù)據(jù)庫數(shù)據(jù)的映射?;趯ο箨P(guān)聯(lián)映射研究移動終端遠程訪問數(shù)據(jù)庫,采用類單向一對一關(guān)聯(lián)映射模式,實現(xiàn)移動終端數(shù)據(jù)庫與遠程數(shù)據(jù)庫對應,移動終端訪問遠程數(shù)據(jù)庫時界面控件數(shù)據(jù)與遠程數(shù)據(jù)庫數(shù)據(jù)對應。所生成事件處理代碼可重塑,即如移動終端訪問遠程數(shù)據(jù)庫代碼文件發(fā)生改寫,則程序框架中生成的事件處理代碼可隨之修改并與之對應。代碼框架可供開發(fā)者修改,開發(fā)者所進行的修改可以包括增加、刪除代碼,這些代碼完成的主要是業(yè)務功能。生成的代碼文件內(nèi)容在事件處理代碼中,是Android應用程序運行階段時業(yè)務流程處理過程中的方式和順序的控制單元??丶ο箨P(guān)聯(lián)對應表是控件間關(guān)聯(lián)關(guān)系的存儲結(jié)構(gòu),是關(guān)聯(lián)關(guān)系向代碼映射的參照單元。[0108]本實施方式采用的實現(xiàn)技術(shù)是在Windows操作系統(tǒng)下,使用javaSwing技術(shù),對移動終端訪問遠程數(shù)據(jù)庫程序進行模仿,實現(xiàn)可視化過程中移動終端訪問遠程數(shù)據(jù)庫的開發(fā)。利用WebService等技術(shù)調(diào)用遠程服務器,結(jié)合移動終端應用程序設計按照一定的調(diào)用順序和方式,確定移動終端訪問遠程數(shù)據(jù)庫程序的代碼與移動終端程序代碼成功結(jié)合,提出Windows下可視化的直接開發(fā)方式訪問遠程數(shù)據(jù)庫數(shù)據(jù)的方法。[0109]上述所提及的程序框架及對映射后的可編譯程序指的是Android應用程序的編寫拼裝過程中,不同階段的程序組成,在未進行移動終端應用程序代碼和訪問遠程數(shù)據(jù)庫端數(shù)據(jù)相應的代碼相結(jié)合時,目標程序的內(nèi)容就是基本程序框架結(jié)構(gòu),反之,則是可以進行編譯的Android應用程序代碼結(jié)構(gòu)。這其中最重要的移動終端應用程序靈活的應用該方法提供的API進行程序的代碼拼裝部分。由于Android程序是使用java語言作為其開發(fā)語言,那么每一個.java文件要按照java編程的結(jié)構(gòu)進行。如果將Android分為的內(nèi)特性空間和外特性空間,那么該方法提供的API就屬于外特性,所以實現(xiàn)外部特性和內(nèi)部特性的成功結(jié)合對與應用該方法也是尤其重要?!緳?quán)利要求】1.基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫代碼生成系統(tǒng),其特征在于它包括:遠程數(shù)據(jù)庫裝置(I)、移動終端數(shù)據(jù)庫基本信息裝置(2)、移動終端數(shù)據(jù)庫表裝置(3)、移動終端與遠程數(shù)據(jù)庫交互的裝置(4)、移動終端與遠程數(shù)據(jù)庫交互的中心控件信息裝置(5)、移動終端與遠程數(shù)據(jù)庫查詢交互裝置(6)、移動終端與遠程數(shù)據(jù)庫更新數(shù)據(jù)信息裝置(7)、數(shù)據(jù)庫查詢語句基本信息的裝置(8)、移動終端界面控件的唯一標識與訪問數(shù)據(jù)庫信息相對應裝置(9)、數(shù)據(jù)庫更新語句的基本信息裝置(10)、移動終端訪問遠程數(shù)據(jù)庫的裝置(11)、移動終端獲得訪問遠程數(shù)據(jù)庫SQL語句的裝置(12)、XML格式的移動終端訪問遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置(13)與移動終端利用提供的API處理接收的遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置(14);所述移動終端數(shù)據(jù)庫基本信息裝置(2)服務器端連接遠程數(shù)據(jù)庫裝置(1),所述移動終端數(shù)據(jù)庫基本信息裝置(2)客戶端連接移動終端數(shù)據(jù)庫表裝置(3),所述移動終端與遠程數(shù)據(jù)庫交互的裝置(4)分別與移動終端數(shù)據(jù)庫表裝置(3)、移動終端與遠程數(shù)據(jù)庫交互的中心控件信息裝置(5)、移動終端與遠程數(shù)據(jù)庫查詢交互裝置(6)、移動終端與遠程數(shù)據(jù)庫更新數(shù)據(jù)信息裝置(7)與移動終端訪問遠程數(shù)據(jù)庫的裝置(11)相連接,所述移動終端與遠程數(shù)據(jù)庫交互的中心控件信息裝置(5)連接移動終端界面控件的唯一標識與訪問數(shù)據(jù)庫信息相對應裝置(9),所述移動終端與遠程數(shù)據(jù)庫查詢交互裝置(6)的查詢語句形成端連接數(shù)據(jù)庫查詢語句基本信息的裝置(8),所述移動終端與遠程數(shù)據(jù)庫更新數(shù)據(jù)信息裝置(7)的更新語句形成端連接數(shù)據(jù)庫更新語句的基本信息裝置(10),所述移動終端訪問遠程數(shù)據(jù)庫的裝置(11)連接有移動終端獲得訪問遠程數(shù)據(jù)庫SQL語句的裝置(12),所述移動終端獲得訪問遠程數(shù)據(jù)庫SQL語句的裝置(12)的訪問數(shù)據(jù)返回端連接XML格式的移動終端訪問遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置(13),所述XML格式的移動終端訪問遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置(13)的數(shù)據(jù)存儲端連接移動終端利用提供的API處理接收的遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置(14)。2.根據(jù)權(quán)利要求1所述的基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫代碼生成系統(tǒng),其特征在于所述遠程數(shù)據(jù)庫裝置(I),包括用于顯示遠程數(shù)據(jù)庫端數(shù)據(jù)庫表結(jié)構(gòu)的樹狀裝置、用于訪問遠程數(shù)據(jù)庫及遠程數(shù)據(jù)庫表結(jié)構(gòu)信息的裝置、用于選擇遠程數(shù)據(jù)庫類型及數(shù)據(jù)庫用戶及密碼的設置信息的裝置與用于連接不同類型遠程數(shù)據(jù)庫的連接字符串的裝置;所述移動終端數(shù)據(jù)庫基本信息裝置(2),包括用于設置創(chuàng)建移動終端數(shù)據(jù)庫的條件裝置、用于生成移動終端數(shù)據(jù)庫表裝置與用于生成移動終端數(shù)據(jù)庫表結(jié)構(gòu)的裝置;所述移動終端數(shù)據(jù)庫表裝置(3),包括用于設置移動終端表名稱等的裝置與用于設置移動終端表的字段屬性的裝置;所述移動終端與遠程數(shù)據(jù)庫交互的裝置(4),包括用于設置移動終端訪問遠程數(shù)據(jù)庫的條件與移動終端界面控件關(guān)系的裝置、用于將程序框架代碼與訪問遠程數(shù)據(jù)庫端生成的文件進行映射,并在程序框架代碼中相應位置生成事件處理代碼的裝置、用于將程序框架代碼和控件對象的關(guān)聯(lián)關(guān)系進行映射,在程序框架代碼的相應位置生成事件處理代碼的裝置與用于將程序框架代碼和關(guān)聯(lián)關(guān)系進行映射,在程序框架代碼的相應位置生成事件處理代碼的裝置;所述移動終端與遠程數(shù)據(jù)庫交互的中心控件信息裝置(5),包括用于獲得移動終端界面控件中觸發(fā)數(shù)據(jù)庫交互的中心控件裝置與用于獲取移動終端界面控件唯一標識的獲取裝置;所述移動終端與遠程數(shù)據(jù)庫查詢交互裝置(6),包括用于處理移動終端查詢遠程數(shù)據(jù)庫時的返回數(shù)據(jù)信息的裝置、移動終端界面控件的唯一標識與訪問數(shù)據(jù)庫信息相對應裝置、用于通過設置移動終端表的字段屬性與移動終端界面控件的唯一標識屬性相對應的裝置與生成移動終端查詢遠程數(shù)據(jù)庫語句的裝置;所述移動終端與遠程數(shù)據(jù)庫更新數(shù)據(jù)信息裝置(7),包括用于獲得移動終端更新遠程數(shù)據(jù)庫數(shù)據(jù)信息的裝置、用于獲得移動終端界面組件的唯一標識和相應組件顯示信息的裝置與生成移動終端更新遠程數(shù)據(jù)庫語句的裝置;所述數(shù)據(jù)庫查詢語句基本信息的裝置(8),包括用于獲得移動終端查詢遠程數(shù)據(jù)庫時,需要的表字段的獲得裝置、用于獲得移動終端查詢遠程數(shù)據(jù)庫端條件信息的裝置與獲得來自移動終端界面控件的數(shù)據(jù)與設置默認條件值的裝置;所述移動終端界面控件的唯一標識與訪問數(shù)據(jù)庫信息相對應裝置(9),包括判斷移動終端表的字段、移動終端界面控件的唯一標識ID屬性與遠程數(shù)據(jù)庫表字段三者的對應關(guān)系的裝置;所述數(shù)據(jù)庫更新語句的基本信息裝置(10),包括用于設置更新遠程數(shù)據(jù)庫端表結(jié)構(gòu)的裝置、用于獲得移動終端更新遠程數(shù)據(jù)庫的條件信息裝置與獲得來自移動終端界面控件的數(shù)據(jù)與默認條件值的裝置;所述移動終端訪問遠程數(shù)據(jù)庫的裝置(11),包括用于在程序框架代碼窗口顯示程序框架代碼的裝置與用于獲得移動終端應用程序基本信息裝置;所述移動終端獲得訪問遠程數(shù)據(jù)庫SQL語句的裝置(12),包括用于生成SQL語句的裝置與用于生成移動終端訪問遠程數(shù)據(jù)庫代碼生成的裝置;所述XML格式的移動終端訪問遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置(13),包括用于生成移動終端訪問遠程數(shù)據(jù)庫時的返回數(shù)據(jù)信息統(tǒng)一格式的裝置、用于處理移動終端查詢遠程數(shù)據(jù)庫時的返回數(shù)據(jù)信息與移動終端界面組件相匹配的裝置;所述移動終端利用提供的API處理接收的遠程數(shù)據(jù)庫的數(shù)據(jù)信息裝置(14),包括用于處理移動終端界面文件中的控件對象所承載的業(yè)務數(shù)據(jù)的賦值和變換與遠程數(shù)據(jù)庫端的數(shù)據(jù)信息關(guān)系的裝置與用于維護移動終端與遠程數(shù)據(jù)庫端的數(shù)據(jù)相匹配的對象關(guān)聯(lián)映射關(guān)系的裝置。3.根據(jù)權(quán)利要求2所述的基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫代碼生成系統(tǒng),其特征在于所述用于設置移動終端訪問遠程數(shù)據(jù)庫的條件與移動終端界面控件關(guān)系的裝置包括TextView控件、EditText控件、CheckBox控件、RadioButon控件、ListView控件、Spinner控件、AutoCompIeteTextView控件、MultiAutoCompIeteTextView控件、DatePicker控件、TimePicker控件、AnalogClock控件與DigitalClock控件,所述遠程數(shù)據(jù)庫類型包括OracleServer>OracleLite、MicrosoftSQLServer、MicrosoftAccess、SybaseSQLAnywhereServer、IBMDB2Server與SQLiteandSunMySQL,移動終端界面控件中觸發(fā)數(shù)據(jù)庫交互的中心控件為Button控件發(fā)起業(yè)務邏輯動作的控件。4.如權(quán)利要求1所述的基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫代碼生成方法,其特征在于,它包括如下步驟:訪問遠程數(shù)據(jù)庫基本信息,連接遠程數(shù)據(jù)庫步驟,包括用于明確移動終端表結(jié)構(gòu)、移動終端界面組件以及遠程數(shù)據(jù)庫表結(jié)構(gòu)字段等信息的設置步驟、用于設置遠程數(shù)據(jù)庫的類型及連接遠程數(shù)據(jù)庫等信息的步驟;設置移動終端數(shù)據(jù)庫基本信息,數(shù)據(jù)庫名稱、版本號步驟,包括用于明確移動終端所需數(shù)據(jù)庫結(jié)構(gòu)及表結(jié)構(gòu)的步驟、用于明確移動終端表結(jié)構(gòu)與移動終端界面組件信息的步驟;設置SQL語句存放位置步驟;創(chuàng)建移動終端數(shù)據(jù)庫表,設置移動終端表和遠程數(shù)據(jù)庫表的關(guān)系步驟,包括用于設置移動終端數(shù)據(jù)庫表及表結(jié)構(gòu)的步驟、用于獲取移動終端界面控件組件唯一標識的獲取的步驟、用于通過設置移動終端表的字段屬性與移動終端界面控件對象的唯一標識ID屬性對應步驟;創(chuàng)建移動終端表的結(jié)構(gòu),即字段屬性的步驟,包括設置移動終端表名稱步驟與設置移動終端表字段屬性步驟;生成創(chuàng)建移動終端表的SQL語句步驟,包括組織生成創(chuàng)建移動終端表的SQL語句與獲得生成SQL語句的存放位置步驟;生成SQL語句的內(nèi)容與用于在程序框架代碼窗口中顯示程序框架代碼的步驟;創(chuàng)建移動終端與遠程數(shù)據(jù)庫交互的步驟,包括用于將程序框架代碼與訪問遠程數(shù)據(jù)庫端生成的文件進行映射,并在程序框架代碼中相應位置生成事件處理代碼的步驟、用于將程序框架代碼和控件對象的關(guān)聯(lián)關(guān)系進行映射,在程序框架代碼的相應位置生成事件處理代碼的步驟與用于將程序框架代碼和關(guān)聯(lián)關(guān)系進行映射,在程序框架代碼的相應位置生成事件處理代碼的步驟;獲得移動終端與遠程數(shù)據(jù)庫交互的中心控件信息步驟,包括獲得移動終端界面控件中觸發(fā)數(shù)據(jù)庫交互的中心控件裝置與用于獲取移動終端界面控件唯一標識的獲取裝置;設置移動終端與遠程數(shù)據(jù)庫交互操作的查詢、更新信息步驟,包括用于獲得移動終端查詢遠程數(shù)據(jù)庫時,需要的表字段、條件的獲得步驟,還包括用于獲得移動終端更新遠程數(shù)據(jù)庫數(shù)據(jù)信息的步驟,還包括用于獲得移動終端界面控件的唯一標識ID和相應控件顯示的數(shù)據(jù)信息,完成移動終端更新遠程數(shù)據(jù)庫的步驟;生成移動終端訪問遠程數(shù)據(jù)庫SQL語句步驟,包括生成創(chuàng)建移動終端表的SQL語句、生成移動終端查詢與更新遠程數(shù)據(jù)庫的SQL語句的步驟;返回XML格式的移動終端訪問遠程數(shù)據(jù)庫的數(shù)據(jù)信息步驟,包括用于處理移動終端查詢遠程數(shù)據(jù)庫時的返回數(shù)據(jù)信息的步驟與用于生成移動終端查詢遠程數(shù)據(jù)庫時的返回數(shù)據(jù)信息統(tǒng)一格式的步驟;移動終端利用提供的API處理接收的遠程數(shù)據(jù)庫的數(shù)據(jù)信息步驟,包括還包括用于處理移動終端查詢遠程數(shù)據(jù)庫時的返回數(shù)據(jù)信息與移動終端界面組件相匹配的步驟、用于處理移動終端界面文件中的控件對象所承載的業(yè)務數(shù)據(jù)的賦值和變換與遠程數(shù)據(jù)庫端的數(shù)據(jù)信息關(guān)系的步驟、用于維護移動終端與遠程數(shù)據(jù)庫端的數(shù)據(jù)相匹配的對象關(guān)聯(lián)映射關(guān)系的步驟。5.根據(jù)權(quán)利要求4所述的基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫代碼生成方法,其特征在于,所述創(chuàng)建移動終端數(shù)據(jù)庫表步驟,它包括,Stepl:根據(jù)規(guī)則移動終端的表集合包含于遠程數(shù)據(jù)庫表集合,建立移動終端數(shù)據(jù)庫和遠程數(shù)據(jù)庫之間的表關(guān)系;判斷移動終端的表集合Tables不為空,通過移動終端的表集合Tables與遠程數(shù)據(jù)庫表集合DBTables的關(guān)系Relations比較,滿足移動終端的表包含于遠程數(shù)據(jù)庫表,存在TablcsfDBTablcs,并且tableleTables,建立表tablel;同時Tables刪除已經(jīng)建立完成的表名稱tablel;當Tables為空時,終端表的創(chuàng)建結(jié)束,生成創(chuàng)建表結(jié)構(gòu)的代碼;Step2:根據(jù)規(guī)則移動終端的表的字段集合包含于遠程數(shù)據(jù)庫表的字段集合,創(chuàng)建移動終端表tablel的字段,判斷移動終端tablel表的字段集合Columns不為空,那么建立tablel的第一個字段column,獲得遠程數(shù)據(jù)庫表中的字段集合DBColumns,當符合ColumnsGDBColumns,columneColumns,建立所需的相應字段,并刪除Columns集合中的字段column;按照step2,建立表的其他字段。當Columns判斷為空時,表示該表字段建立結(jié)束,返回到stepl。6.根據(jù)權(quán)利要求5所述的基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫代碼生成方法,其特征在于,所述用于移動終端與遠程數(shù)據(jù)庫查詢交互,它包括如下步驟:Stepl:獲得移動終端界面控件中觸發(fā)數(shù)據(jù)庫交互的中心控件即查詢按鈕的唯一標識,這里是id值,通過遍歷移動終端界面控件的唯一標識集合,即Ids集合,獲得移動終端界面控件中觸發(fā)數(shù)據(jù)庫查詢的中心控件的唯一標識id值為querybutton按鈕;St印2:查看遠程數(shù)據(jù)庫的表集合DBTables,判斷是否存在需要查詢表tablel;如果不存在,則查詢失敗;Step3:查看遠程數(shù)據(jù)庫表tablel的字段集合DBColumn,獲取查詢字段;如果不存在,返回step2,重新選擇查詢表,直到所有表都不滿足為止;否則進行step4;Step4:獲取條件:根據(jù)規(guī)則移動終端表的字段、移動終端界面控件的唯一標識ID屬性與遠程數(shù)據(jù)庫表字段三者的一一對應關(guān)系,終端控件id與字段關(guān)系相同且唯一,所以可以推斷在移動終端界面程序中相應控件id值;條件值由Android終端傳遞,根據(jù)Android應用程序編程要求,一般條件值是移動終端界面數(shù)據(jù)XXX.getTextO;如果Ids集合中不存在相應的,則查詢失??;重新設置終端程序代碼;Step5:選擇查詢結(jié)果顯示順序:遍歷DBColumn集合,選擇所需字段;如果不存在,返回step2;Step6:設置完成,生成查詢代碼;Step7:移動終端將step6中生成的代碼作為程序的一部分,查詢遠程數(shù)據(jù)庫,返回統(tǒng)一格式的結(jié)果;通過以上步驟,移動終端需要的數(shù)據(jù)以XML格式返回到界面設計端,只需要界面設計端調(diào)用相應的結(jié)果處理接口,即可以完成設計。7.根據(jù)權(quán)利要求6所述的基于對象關(guān)聯(lián)映射的Android終端訪問遠程數(shù)據(jù)庫代碼生成方法,所述移動終端與遠程數(shù)據(jù)庫更新數(shù)據(jù)信息,更新包括插入、修改與刪除,它包括如下步驟:Stepl:獲取中心控件即更新按鈕的id值,通過遍歷Ids集合,查找id值為gengxbutton按鈕;St印2:查看DBTables,是否存在需要查詢表tablel;如果不存在,則更新失敗;Step3:查看遠程數(shù)據(jù)庫表tablel的DBColumn,獲取更新字段;如果不存在,返回step2,重新選擇查詢表,直到所有表都不滿足為止;否則進行step4;如果在刪除數(shù)據(jù)時,step3是跳過的;Step4:獲取條件:根據(jù)規(guī)則移動終端表的字段、移動終端界面控件的唯一標識ID屬性與遠程數(shù)據(jù)庫表字段三者的一一對應關(guān)系,終端控件id與字段關(guān)系相同且唯一,所以可以推斷在移動終端界面程序中相應控件id值;條件值由Android終端傳遞,根據(jù)Android應用程序編程要求,一般條件值是移動終端界面數(shù)據(jù)XXX.getTextO;如果Ids集合中不存在相應的,則查詢失??;重新設置終端程序代碼;Step5:設置完成,生成查詢代碼;Step6:移動終端將step5中生成的代碼作為程序的一部分,進行更新遠程數(shù)據(jù)庫?!疚臋n編號】G06F17/30GK103530425SQ201310533899【公開日】2014年1月22日申請日期:2013年11月1日優(yōu)先權(quán)日:2013年11月1日【發(fā)明者】胡文,寧世勇,潘慶和,趙艷麗,張凱申請人:哈爾濱商業(yè)大學