專(zhuān)利名稱(chēng):一種移動(dòng)終端應(yīng)用程序的開(kāi)發(fā)系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動(dòng)終端應(yīng)用程序開(kāi)發(fā)技術(shù),尤其涉及一種移動(dòng)終端應(yīng)用程序的開(kāi)發(fā) 系統(tǒng)和方法。
背景技術(shù):
目前,隨著移動(dòng)通信技術(shù)的不斷發(fā)展,移動(dòng)終端已經(jīng)深入到人們的生活中,移動(dòng)通 信也已成為最廣泛使用的通信方式。這里,本發(fā)明所稱(chēng)的移動(dòng)終端是指手機(jī)、個(gè)人數(shù)字助理 (PDA,Personal Digital Assistant)等具有無(wú)線通訊功能的小型手持式移動(dòng)通信設(shè)備。以 手機(jī)為例,其作為日常生活和商業(yè)事務(wù)的工具,在用戶的生活中占有重要的地位。為了配合人們?nèi)找尕S富的使用需求,為移動(dòng)終端提供各種功能的應(yīng)用程序正在持 續(xù)開(kāi)發(fā)中,移動(dòng)終端上的平臺(tái)一般包括MTK (MediaTek,聯(lián)發(fā)科)、WIN32、展訊、MStar (晨星) 等等,不同的平臺(tái)系統(tǒng)對(duì)應(yīng)用程序運(yùn)行的要求不盡相同。因此,一個(gè)能夠運(yùn)行在各個(gè)移動(dòng)終 端平臺(tái)上的應(yīng)用程序的開(kāi)發(fā)系統(tǒng)變得尤其重要。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種能夠適用于各個(gè)移動(dòng)終端的平臺(tái)的移動(dòng)終端應(yīng)用程序 的開(kāi)發(fā)系統(tǒng)和方法。為達(dá)到上述目的,本發(fā)明采用如下技術(shù)方案一種移動(dòng)終端應(yīng)用程序的開(kāi)發(fā)系統(tǒng),包括應(yīng)用程序開(kāi)發(fā)框架AF和可視化操作系 統(tǒng)V0S,其中,所述AF,用于對(duì)上層應(yīng)用程序提供統(tǒng)一的編程接口、功能模塊和應(yīng)用框架,同時(shí)接 管移動(dòng)終端底層操作系統(tǒng)OS的事件和消息,經(jīng)過(guò)處理后轉(zhuǎn)發(fā)給上層應(yīng)用程序,所述AF包括 用于實(shí)現(xiàn)所述AF中各功能的功能模組以及與所述功能模組相連的用戶界面UI ;所述V0S,用于通過(guò)可視化的界面將移動(dòng)終端底層操作系統(tǒng)OS的事件和消息路由 至AF,并將AF生成的應(yīng)用程序編程接口 API進(jìn)行封裝發(fā)送給OS。進(jìn)一步地,所述功能模組包括內(nèi)存管理模塊MMU,用于在給定的內(nèi)存上完成分配、釋放算法,為上層應(yīng)用提供動(dòng) 態(tài)內(nèi)存調(diào)用接口,并進(jìn)行內(nèi)存泄露檢測(cè)和異常指針檢測(cè)的功能;通用數(shù)據(jù)結(jié)構(gòu)庫(kù)CDL,用于提供動(dòng)態(tài)插入、刪除,動(dòng)態(tài)擴(kuò)展長(zhǎng)度和容量的功能;定時(shí)器管理模塊Timer,用于提供增加定時(shí)器函數(shù)的功能;字符串操作函數(shù)集,用于提供Ascii、Unicode字符串的操作,以及這兩種字符串 之間的相互轉(zhuǎn)換;圖形、圖像繪制函數(shù)集,用于支持常見(jiàn)圖片格式的各種顯示繪制,以及點(diǎn)、線、文本 的繪制;文件操作接口,用于提供對(duì)磁盤(pán)文件的讀寫(xiě)修改的操作;Http協(xié)議的實(shí)現(xiàn)模塊,用于完成獲取、發(fā)送的請(qǐng)求。
進(jìn)一步地,所述定時(shí)器管理模塊,用于從移動(dòng)終端底層操作系統(tǒng)OS中申請(qǐng)一個(gè)定 時(shí)器作為自己的驅(qū)動(dòng),然后在自己的隊(duì)列里面不停的輪詢各個(gè)任務(wù),如果有到期的,則調(diào)用 任務(wù)所設(shè)置的回調(diào)函數(shù)。進(jìn)一步地,所述功能模組還包括移動(dòng)終端數(shù)據(jù)管理中心,用于對(duì)移動(dòng)終端進(jìn)行完全的數(shù)據(jù)管理,能夠與后臺(tái)互通, 完成客戶端數(shù)據(jù)統(tǒng)一的產(chǎn)品目標(biāo)。進(jìn)一步地,所述功能模組還包括異步和同步消息機(jī)制,用于利用底層平臺(tái)特性,封裝自己的實(shí)現(xiàn);日志管理器,用于分模塊、分級(jí)別、向不同目的地打印程序日志,使用配置文件統(tǒng)
一管理這些參數(shù);實(shí)用函數(shù)集,用于保存未分類(lèi)但又常用的函數(shù)集;配置文件管理模塊,用于提供的配置文件讀寫(xiě)接口。進(jìn)一步地,所述功能模塊還包括聲音封裝操作接口,用于封裝聲音;視頻封裝操作接口,用于封裝視頻。進(jìn)一步地,所述UI包括用戶界面引擎UI engine,用于創(chuàng)建多個(gè)應(yīng)用項(xiàng)目的窗口,并且將事件派發(fā)給焦點(diǎn) 窗;用戶界面控制器UI control,用于收集OS發(fā)送過(guò)來(lái)的事件和消息,并控制UI engine將事件派發(fā)至對(duì)應(yīng)的焦點(diǎn)窗,該UI control然后控制相應(yīng)的控件,根據(jù)事件的內(nèi)容 進(jìn)行相應(yīng)的處理。一種利用上述移動(dòng)終端應(yīng)用程序的開(kāi)發(fā)系統(tǒng)進(jìn)行開(kāi)發(fā)的方法,包括步驟1 用戶在VOS中輸入對(duì)應(yīng)用項(xiàng)目的操作事件,VOS將該事件路由到AF ;步驟2 =UI control收集從OS發(fā)送過(guò)來(lái)的事件;步驟3 =Timer模塊將該事件添加至任務(wù)列表;步驟4 =MMU根據(jù)事件的類(lèi)型,為該事件分配預(yù)先制定大小的內(nèi)存,并為上層應(yīng)用 項(xiàng)目提供對(duì)應(yīng)的動(dòng)態(tài)內(nèi)存調(diào)用接口;步驟5 根據(jù)事件的類(lèi)型,UI control控制UI engine將事件對(duì)應(yīng)的窗口設(shè)置為焦 占窗-步驟6 =UI engine將事件派發(fā)至對(duì)應(yīng)的焦點(diǎn)窗;步驟7 =UI control控制與事件相對(duì)應(yīng)的控件,根據(jù)事件的內(nèi)容,將事件進(jìn)行解析 和處理;步驟8 =UI control完成對(duì)事件的處理后,將生成的應(yīng)用項(xiàng)目發(fā)送給VOS ;步驟9 =VOS上顯示事件生成的應(yīng)用項(xiàng)目,并將應(yīng)用程序進(jìn)行封裝,發(fā)送給0S。進(jìn)一步地,所述步驟7中,對(duì)各個(gè)事件處理過(guò)程中,調(diào)用功能模組中相應(yīng)的功能單 元提供的字符串操作函數(shù)集以及圖形、圖像繪制函數(shù)集。進(jìn)一步地,所述步驟7中,在各個(gè)事件處理過(guò)程中,通過(guò)⑶L動(dòng)態(tài)插入、擴(kuò)張數(shù)據(jù)結(jié) 構(gòu)的長(zhǎng)度和容量的大小、以及增減常用的接口。本發(fā)明提供的移動(dòng)終端應(yīng)用程序的開(kāi)發(fā)系統(tǒng)和方法,由于其所包含的應(yīng)用程序開(kāi)發(fā)框架AF能夠?qū)ι蠈討?yīng)用程序提供統(tǒng)一的編程接口、功能模塊和應(yīng)用框架,同時(shí)接管移動(dòng) 終端底層操作系統(tǒng)OS的事件和消息,經(jīng)過(guò)處理后轉(zhuǎn)發(fā)給上層應(yīng)用程序,從而能夠?qū)崿F(xiàn)對(duì)上 層應(yīng)用程序屏蔽下層各個(gè)不同操作系統(tǒng)的差異。因此,本發(fā)明的開(kāi)發(fā)系統(tǒng)能夠適用于各個(gè) 移動(dòng)終端的平臺(tái),對(duì)用戶開(kāi)發(fā)各種各樣的應(yīng)用程序提供了很大的便利。
圖1為本發(fā)明的移動(dòng)終端應(yīng)用程序的開(kāi)發(fā)系統(tǒng)與移動(dòng)終端底層操作系統(tǒng)OS以及 上層應(yīng)用程序APPs之間的關(guān)系示意圖;圖2為圖1所示的移動(dòng)終端應(yīng)用程序的開(kāi)發(fā)系統(tǒng)中的定時(shí)器管理模塊的工作原理 圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,下面結(jié)合附圖及實(shí)施例,對(duì) 本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不 用于限定本發(fā)明。如圖1所示,本發(fā)明提供一種移動(dòng)終端應(yīng)用程序的開(kāi)發(fā)系統(tǒng),其位于移動(dòng)終端底 層操作系統(tǒng)(Operating System, OS)和上層應(yīng)用程序(Applications,APPs)之間。上層應(yīng)用程序APPs包括各種應(yīng)用程序,例如音樂(lè)(Music)、電子書(shū)(E-Book)、視 頻(Video)、圖片(Picture)等等。移動(dòng)終端底層操作系統(tǒng)OS有MTK、WIN32、展訊、MStar等等。本發(fā)明的移動(dòng)終端應(yīng)用程序的開(kāi)發(fā)系統(tǒng)包括應(yīng)用程序開(kāi)發(fā)框架(Application Framework, AF)和可視化操作系統(tǒng)(Visual Operating System,V0S),其中,所述AF,用于對(duì)上層應(yīng)用程序APPs提供統(tǒng)一的編程接口、功能模塊和應(yīng)用框架, 同時(shí)接管移動(dòng)終端底層操作系統(tǒng)OS的事件和消息,經(jīng)過(guò)處理后轉(zhuǎn)發(fā)給上層應(yīng)用程序APPs, 所述AF包括用于實(shí)現(xiàn)所述AF中各功能的功能模組(Functional Module)以及與所述功能 模組相連的用戶界面(User Interface, UI);所述V0S,用于通過(guò)可視化的界面將移動(dòng)終端底層操作系統(tǒng)OS的事件和消息路由 至 AF,并將 AF 生成的應(yīng)用程序編程接口(Application Programming Interface,API)進(jìn) 行封裝發(fā)送給0S,從而實(shí)現(xiàn)對(duì)上層應(yīng)用程序APPs屏蔽下層各個(gè)不同操作系統(tǒng)的差異。本發(fā)明的移動(dòng)終端應(yīng)用程序的開(kāi)發(fā)系統(tǒng),由于其所包含的應(yīng)用程序開(kāi)發(fā)框架AF 能夠?qū)崿F(xiàn)對(duì)上層應(yīng)用程序屏蔽下層各個(gè)不同操作系統(tǒng)的差異。因此,本發(fā)明的開(kāi)發(fā)系統(tǒng)能 夠適用于各個(gè)移動(dòng)終端的平臺(tái),對(duì)用戶開(kāi)發(fā)各種各樣的應(yīng)用程序提供了很大的便利。具體地,在設(shè)計(jì)AF時(shí),其功能模組可以包括以下功能單元1.內(nèi)存管理模塊(Memory Management Unit, MMU),用于在給定的一塊內(nèi)存 (Buffer)上完成分配、釋放算法,為上層應(yīng)用提供動(dòng)態(tài)內(nèi)存調(diào)用接口,并可以進(jìn)行內(nèi)存泄露 檢測(cè)、異常指針檢測(cè)等簡(jiǎn)單功能。MMU的主要接口偽碼可以參見(jiàn)如下代碼#include “GDataType. h”/*初始化給定內(nèi)存*/
void GMMU Init(GU8*buf,GU32size);/*分配制定大小的內(nèi)存,如果分配失敗則應(yīng)返回GNULL*/void*GMMU_Malloc(GU32size);/*釋放制定內(nèi)存塊*/void GMMU_Free(void*p);/*其他如內(nèi)存泄露統(tǒng)計(jì)等接口略*/2.通用數(shù)據(jù)結(jié)構(gòu)庫(kù)(Common Datastructure Library, CDL),用于提供動(dòng)態(tài)插入、 刪除,動(dòng)態(tài)擴(kuò)展長(zhǎng)度和容量的功能。該CDL可以采用動(dòng)態(tài)容器類(lèi)型=VectoH向量)。Vector的主要接口偽碼可以參見(jiàn)如下代碼#include “GDataType. h”/*GVector數(shù)據(jù)結(jié)構(gòu)定義*/typedef struct{⑶16capacity -J/ 容器的容量⑶16size ;//容器的大小,即已有元素個(gè)數(shù)⑶16capacity_inc ;//容器每次自增的增量void^data;//容器內(nèi)部元素指針} GVector/*創(chuàng)建、銷(xiāo)毀容器*/GVector*GVector_Create(GU 16cap, GU 16cap_inc);void GVector_Free(GVector^thiz);/*增刪查改等常用接口 */GB00L GVector_Add(GVector氺thiz,void氺obj);void氺GVector_Remove(GVector氺thiz, GU16index);GU16GVector_Find(GVector氺thiz,void氺obj);GB00L GVector_Set (GVector*thiz, void*obj, GU16index);void氺GVector_At(GVector氺thiz, GU16index);其他如 capacity、size 的 set、get 接口略3.定時(shí)器管理模塊(Timer),用于提供增加一個(gè)定時(shí)器函數(shù)等功能,它是程序?qū)?現(xiàn)異步調(diào)用的重要手段。如圖2所示,為了方便的實(shí)現(xiàn)該Timer模塊,其優(yōu)選從操作系統(tǒng)OS中申請(qǐng)一個(gè)定 時(shí)器(可以為一般實(shí)時(shí)系統(tǒng)的最小精度例如50ms的定時(shí)器)作為自己的驅(qū)動(dòng),然后在自己 的隊(duì)列里面不停的輪詢各個(gè)任務(wù)(Task),如果有到期的,則調(diào)用任務(wù)所設(shè)置的回調(diào)函數(shù)。Timer主要的功能和作用A、內(nèi)部維護(hù)一個(gè)任務(wù)隊(duì)列,能夠按時(shí)、按次調(diào)用各個(gè)任務(wù);B、能夠動(dòng)態(tài)增加、刪除任務(wù)。Timer模塊的主要接口偽碼可以參見(jiàn)如下代碼#include “GDataType. h”typedef void(*PFN_GTIMER_RUN)(void*user_data);
/^GTimer數(shù)據(jù)結(jié)構(gòu)定義*/typedef struct{GS32timer_id ;//timer 的 idGS32interval ;//timer 的間隔,一般為 50ms-100msGBOOL start ;//timer 是否啟動(dòng)GVector *task ;//timer 所包含的任務(wù)列表PFN_GTIMER_RUN cb_run ;//timer 的主循環(huán)} GTimer/^GTimerTask 數(shù)據(jù)結(jié)構(gòu)定義 */typedef struct{void *user_data ;//該 Task 的用戶數(shù)據(jù)GS32interval ;// 該 Task 的間隔,一般要大于 50ms_100msGS32work_num ;//該Task的執(zhí)行的次數(shù),不限則是_1PFN_GTIMER_RUN cb_run ;// 該 Task 的執(zhí)行回調(diào)函數(shù)PFN_GTIMER_RUN cb_free ;// 該 Task 的釋放回調(diào)函數(shù)} GTimerTask/* 創(chuàng)建、銷(xiāo)毀 Timer*/GTimer*GTimer_Create (GS32timer_id, //timer 的 idGS32interval, //timer 的間隔,一般為 50ms_100msGBOOL start,//timer 是否啟動(dòng)PFN_GTIMER_RUN cb_run//timer 的主循環(huán));void GTimer_Free(GTimer*thiz);/*起、停任務(wù)等常用接口 */GBOOL GTimer_Start(GTimer*thiz, GTimerTask^task);void GTimer—Stop(GTimer氺thiz, GTimerTask氺task);GS 8GTimer_Check(GTimer*thiz, GTimerTask^task);/*其他接口略*/4.字符串操作函數(shù)集(String),用于提供常用的AsciLUnicode字符串的常用操 作,以及他們之間的相互轉(zhuǎn)換。5.圖形、圖像繪制函數(shù)集(Image and Graphics),用于支持常見(jiàn)格式的各種顯示 繪制,如jpg、bmp、png、gif,以及點(diǎn)、線、文本的繪制。6.文件操作接口(File),用于提供對(duì)磁盤(pán)文件的讀寫(xiě)修改等操作。7. Http (HyperText Transfer Protocol,超文本傳輸協(xié)議)協(xié)議的實(shí)現(xiàn)模塊 (Http),用于完成get (獲取)、post (發(fā)送)等請(qǐng)求。進(jìn)一步地,為了使AF可以實(shí)現(xiàn)其他一些功能,功能模組還可以包括
8
8.移動(dòng)終端數(shù)據(jù)管理中心(Data Management Center,DMC),例如五巨手機(jī)終端數(shù) 據(jù)管理中心,用于對(duì)手機(jī)進(jìn)行完全的數(shù)據(jù)管理,能夠與后臺(tái)互通,完成客戶端數(shù)據(jù)統(tǒng)一的產(chǎn) 品目標(biāo)。再進(jìn)一步地,功能模組還可以包括9.異步和同步消息機(jī)制(Asynchronous & Synchronous Message),利用底層平臺(tái) 特性,封裝自己的實(shí)現(xiàn)。10.日志管理器(Logger),用于分模塊、分級(jí)另I」、向不同目的地打印程序日志,使 用配置文件統(tǒng)一管理這些參數(shù)。11.實(shí)用函數(shù)集(Utility),用于將未分類(lèi)但又常用的函數(shù)集中在這模塊中。12.配置文件管理模塊(Configuration File Management,CFM),用于提供高效的 配置文件讀寫(xiě)接口,底層可用sqlite數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)。再進(jìn)一步地,功能模組還可以包括13.聲音封裝操作接口,用于封裝聲音;14.視頻封裝操作接口,用于封裝視頻。本發(fā)明中,UI可以包括用戶界面引擎(UI engine)和用戶界面控制器(UI control),其中,UI engine 用于創(chuàng)建多個(gè)應(yīng)用項(xiàng)目的窗口,并且將事件派發(fā)給焦點(diǎn)窗。AF創(chuàng)建多個(gè)應(yīng)用窗口對(duì)應(yīng)于不同的應(yīng)用項(xiàng)目,同一時(shí)刻只有一個(gè)窗口是焦點(diǎn)窗, 且占據(jù)著所有屏幕。焦點(diǎn)窗為當(dāng)前有效的窗口。UI Engine只把事件派發(fā)給焦點(diǎn)窗,其他應(yīng) 用項(xiàng)目如果想要獲得事件,需要通過(guò)UIengine將對(duì)應(yīng)的窗口設(shè)置為焦點(diǎn)窗。UI control 用于收集OS發(fā)送過(guò)來(lái)的事件和消息,并控制UI engine將事件派發(fā) 至對(duì)應(yīng)的焦點(diǎn)窗,然后UI control控制相應(yīng)的控件,根據(jù)事件的內(nèi)容進(jìn)行相應(yīng)的處理,例如 通過(guò)Button (按鈕)控件響應(yīng)點(diǎn)擊事件(例如Ok鍵等),通過(guò)label (標(biāo)簽)控件繪制一段 文本,通過(guò)image (圖片)控件繪制圖片等等。本發(fā)明的AF系統(tǒng)工作流程大致如下步驟1 用戶在VOS輸入對(duì)應(yīng)用項(xiàng)目的操作事件,VOS將該事件路由到GAF ;步驟2 =UI control收集從OS發(fā)送過(guò)來(lái)的事件;步驟3 =Timer模塊將該事件添加至任務(wù)列表;步驟4 =MMU根據(jù)事件的類(lèi)型,為該事件分配預(yù)先制定大小的內(nèi)存,并為上層應(yīng)用 項(xiàng)目提供對(duì)應(yīng)的動(dòng)態(tài)內(nèi)存調(diào)用接口;步驟5 根據(jù)事件的類(lèi)型,UI control控制UI engine將事件對(duì)應(yīng)的窗口設(shè)置為焦 占窗-步驟6 =UI engine將事件派發(fā)至對(duì)應(yīng)的焦點(diǎn)窗;步驟7 =UI control控制與事件相對(duì)應(yīng)的控件,根據(jù)事件的內(nèi)容,將事件進(jìn)行解析 和處理;例如通過(guò)Button (按鈕)控件響應(yīng)點(diǎn)擊事件(例如Ok鍵等),通過(guò)label (標(biāo)簽) 控件繪制一段文本,通過(guò)image (圖片)控件繪制圖片等等。其中,對(duì)各個(gè)事件處理過(guò)程中,調(diào)用的是功能模組中相應(yīng)的功能單元提供的字符 串操作函數(shù)集、圖形圖像繪制函數(shù)集以及其他實(shí)用函數(shù)集等。
同時(shí),在各個(gè)事件處理過(guò)程中,可以通過(guò)⑶L動(dòng)態(tài)插入、擴(kuò)張數(shù)據(jù)結(jié)構(gòu)的長(zhǎng)度和容 量的大小、以及增減常用的接口等。步驟8 =UI control完成對(duì)事件的處理后,將生成的應(yīng)用項(xiàng)目發(fā)送給VOS ;步驟9 =VOS上顯示事件生成的應(yīng)用項(xiàng)目,并將應(yīng)用程序進(jìn)行封裝,發(fā)送給OS。上述步驟中涉及各個(gè)功能單元的動(dòng)作,詳細(xì)請(qǐng)參見(jiàn)前部分功能單元結(jié)構(gòu)和作用的 描述部分。綜上,本發(fā)明的移動(dòng)終端應(yīng)用程序的開(kāi)發(fā)系統(tǒng)和方法,由于其所包含的應(yīng)用程序 開(kāi)發(fā)框架AF能夠?qū)ι蠈討?yīng)用程序提供統(tǒng)一的編程接口、功能模塊和應(yīng)用框架,同時(shí)接管移 動(dòng)終端底層操作系統(tǒng)OS的事件和消息,經(jīng)過(guò)處理后轉(zhuǎn)發(fā)給上層應(yīng)用程序,從而能夠?qū)崿F(xiàn)對(duì) 上層應(yīng)用程序屏蔽下層各個(gè)不同操作系統(tǒng)的差異。因此,本發(fā)明的開(kāi)發(fā)系統(tǒng)能夠適用于各 個(gè)移動(dòng)終端的平臺(tái),對(duì)用戶開(kāi)發(fā)各種各樣的應(yīng)用程序提供了很大的便利。以上所述僅為本發(fā)明的較佳實(shí)施例,并非用來(lái)限定本發(fā)明的實(shí)施范圍;如果不脫 離本發(fā)明的精神和范圍,對(duì)本發(fā)明進(jìn)行修改或者等同替換,均應(yīng)涵蓋在本發(fā)明權(quán)利要求的 保護(hù)范圍當(dāng)中。
權(quán)利要求
一種移動(dòng)終端應(yīng)用程序的開(kāi)發(fā)系統(tǒng),其特征在于,包括應(yīng)用程序開(kāi)發(fā)框架AF和可視化操作系統(tǒng)VOS,其中,所述AF,用于對(duì)上層應(yīng)用程序提供統(tǒng)一的編程接口、功能模塊和應(yīng)用框架,同時(shí)接管移動(dòng)終端底層操作系統(tǒng)OS的事件和消息,經(jīng)過(guò)處理后轉(zhuǎn)發(fā)給上層應(yīng)用程序,所述AF包括用于實(shí)現(xiàn)所述AF中各功能的功能模組以及與所述功能模組相連的用戶界面UI;所述VOS,用于通過(guò)可視化的界面將移動(dòng)終端底層操作系統(tǒng)OS的事件和消息路由至AF,并將AF生成的應(yīng)用程序編程接口API進(jìn)行封裝發(fā)送給OS。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述功能模組包括內(nèi)存管理模塊MMU,用于在給定的內(nèi)存上完成分配、釋放算法,為上層應(yīng)用提供動(dòng)態(tài)內(nèi) 存調(diào)用接口,并進(jìn)行內(nèi)存泄露檢測(cè)和異常指針檢測(cè)的功能;通用數(shù)據(jù)結(jié)構(gòu)庫(kù)CDL,用于提供動(dòng)態(tài)插入、刪除,動(dòng)態(tài)擴(kuò)展長(zhǎng)度和容量的功能; 定時(shí)器管理模塊Timer,用于提供增加定時(shí)器函數(shù)的功能;字符串操作函數(shù)集,用于提供Ascii、Unicode字符串的操作,以及這兩種字符串之間 的相互轉(zhuǎn)換;圖形、圖像繪制函數(shù)集,用于支持常見(jiàn)圖片格式的各種顯示繪制,以及點(diǎn)、線、文本的繪制;文件操作接口,用于提供對(duì)磁盤(pán)文件的讀寫(xiě)修改的操作; Http協(xié)議的實(shí)現(xiàn)模塊,用于完成獲取、發(fā)送的請(qǐng)求。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述定時(shí)器管理模塊,用于從移動(dòng)終端底 層操作系統(tǒng)OS中申請(qǐng)一個(gè)定時(shí)器作為自己的驅(qū)動(dòng),然后在自己的隊(duì)列里面不停的輪詢各 個(gè)任務(wù),如果有到期的,則調(diào)用任務(wù)所設(shè)置的回調(diào)函數(shù)。
4.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述功能模組還包括移動(dòng)終端數(shù)據(jù)管理中心,用于對(duì)移動(dòng)終端進(jìn)行完全的數(shù)據(jù)管理,能夠與后臺(tái)互通,完成 客戶端數(shù)據(jù)統(tǒng)一的產(chǎn)品目標(biāo)。
5.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述功能模組還包括 異步和同步消息機(jī)制,用于利用底層平臺(tái)特性,封裝自己的實(shí)現(xiàn);日志管理器,用于分模塊、分級(jí)別、向不同目的地打印程序日志,使用配置文件統(tǒng)一管 理這些參數(shù);實(shí)用函數(shù)集,用于保存未分類(lèi)但又常用的函數(shù)集; 配置文件管理模塊,用于提供的配置文件讀寫(xiě)接口。
6.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述功能模塊還包括 聲音封裝操作接口,用于封裝聲音;視頻封裝操作接口,用于封裝視頻。
7.根據(jù)權(quán)利要求1至6中任一權(quán)利要求所述的系統(tǒng),其特征在于,所述UI包括 用戶界面引擎UI engine,用于創(chuàng)建多個(gè)應(yīng)用項(xiàng)目的窗口,并且將事件派發(fā)給焦點(diǎn)窗; 用戶界面控制器UI control,用于收集OS發(fā)送過(guò)來(lái)的事件和消息,并控制UI engine將事件派發(fā)至對(duì)應(yīng)的焦點(diǎn)窗,該UI control然后控制相應(yīng)的控件,根據(jù)事件的內(nèi)容進(jìn)行相 應(yīng)的處理。
8.一種利用權(quán)利要求7所述的移動(dòng)終端應(yīng)用程序的開(kāi)發(fā)系統(tǒng)進(jìn)行開(kāi)發(fā)的方法,其特征在于,包括步驟1 用戶在VOS中輸入對(duì)應(yīng)用項(xiàng)目的操作事件,VOS將該事件路由到AF ; 步驟2 =UI control收集從OS發(fā)送過(guò)來(lái)的事件; 步驟3 =Timer模塊將該事件添加至任務(wù)列表;步驟4 =MMU根據(jù)事件的類(lèi)型,為該事件分配預(yù)先制定大小的內(nèi)存,并為上層應(yīng)用項(xiàng)目 提供對(duì)應(yīng)的動(dòng)態(tài)內(nèi)存調(diào)用接口;步驟5 根據(jù)事件的類(lèi)型,UI control控制UI engine將事件對(duì)應(yīng)的窗口設(shè)置為焦點(diǎn)窗;步驟6 =UI engine將事件派發(fā)至對(duì)應(yīng)的焦點(diǎn)窗;步驟7 =UI control控制與事件相對(duì)應(yīng)的控件,根據(jù)事件的內(nèi)容,將事件進(jìn)行解析和處理;步驟8 :UI control完成對(duì)事件的處理后,將生成的應(yīng)用項(xiàng)目發(fā)送給VOS ; 步驟9 =VOS上顯示事件生成的應(yīng)用項(xiàng)目,并將應(yīng)用程序進(jìn)行封裝,發(fā)送給0S。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述步驟7中,對(duì)各個(gè)事件處理過(guò)程中,調(diào) 用功能模組中相應(yīng)的功能單元提供的字符串操作函數(shù)集以及圖形、圖像繪制函數(shù)集。
10.根據(jù)權(quán)利要求8或9所述的方法,其特征在于,所述步驟7中,在各個(gè)事件處理過(guò)程 中,通過(guò)CDL動(dòng)態(tài)插入、擴(kuò)張數(shù)據(jù)結(jié)構(gòu)的長(zhǎng)度和容量的大小、以及增減常用的接口。
全文摘要
本發(fā)明公開(kāi)了一種移動(dòng)終端應(yīng)用程序的開(kāi)發(fā)系統(tǒng)和方法,所述開(kāi)發(fā)系統(tǒng)包括應(yīng)用程序開(kāi)發(fā)框架AF和可視化操作系統(tǒng)VOS,其中,所述AF用于對(duì)上層應(yīng)用程序提供統(tǒng)一的編程接口、功能模塊和應(yīng)用框架,同時(shí)接管移動(dòng)終端底層操作系統(tǒng)OS的事件和消息,經(jīng)過(guò)處理后轉(zhuǎn)發(fā)給上層應(yīng)用程序;所述VOS,用于通過(guò)可視化的界面將移動(dòng)終端底層操作系統(tǒng)OS的事件和消息路由至AF,并將AF生成的應(yīng)用程序編程接口API進(jìn)行封裝發(fā)送給OS,從而能夠?qū)崿F(xiàn)對(duì)上層應(yīng)用程序屏蔽下層各個(gè)不同操作系統(tǒng)的差異。因此,本發(fā)明能夠適用于各個(gè)移動(dòng)終端的平臺(tái),對(duì)用戶開(kāi)發(fā)各種各樣的應(yīng)用程序提供了很大的便利。
文檔編號(hào)G06F9/45GK101968745SQ20101052155
公開(kāi)日2011年2月9日 申請(qǐng)日期2010年10月27日 優(yōu)先權(quán)日2010年10月27日
發(fā)明者魏巍 申請(qǐng)人:深圳市五巨科技有限公司