專利名稱:一種Android系統開發架構及開發裝置的制作方法
技術領域:
本發明屬于計算機技術領域,尤其涉及一種Android系統開發架構及開發裝置。
背景技術:
目前,隨著便攜式設備等智能設備的普及,智能操作系統得到了極大的發展, Android系統作為智能操作系統,由于其開源和開放的特性,廣泛地被用作移動終端、平板電腦以及智能電視機等終端的操作系統,隨著基于Android系統應用程序的日益豐富, Android系統也不斷得到完善。使用Android系統的電視機(簡稱Android TV)使得用戶可以不再被動地接收電視節目,并且可以通過各種輸入設備等人機交互設備進行人機交互。現有Android系統開發架構中應用程序在開發時必須預先定義應用程序的交互接口,例如,紅外遙控器、觸摸板遙控器、串口輸入、空中鼠標和手機遙控器等中的一種或多種,從而增加了程序開發的復雜性,降低了程序開發的效率,同時,由于必須了解下層的交互接口,進一步增加了 Android 系統的耦合度,另外,當Android TV的交互設備增減時,原有應用程序必須進行相應的改變,降低了應用程序的可移植性。
發明內容
本發明實施例的目的在于提供一種Android系統開發架構,旨在解決由于現有 Android系統無法提供一種有效的開發架構,導致應用程序開發效率低,可移植性差的問題。本發明實施例是這樣實現的,一種Android系統開發架構,所述Android系統開發架構包括應用程序層、應用程序框架、系統運行庫、Linux內核層,其特征在于,所述 Android系統開發架構還包括事件解析器,所述事件解析器用于對從交互接口接收到的交互信息進行標準化。本發明實施例的另一目的在于提供一種Android系統開發裝置,所述Android系統開發裝置包括應用程序模塊、應用程序框架模塊、系統運行庫模塊、Linux內核模塊,其特征在于,所述Android系統開發裝置還包括事件解析器模塊,所述事件解析器模塊用于對從交互接口接收到的交互信息進行標準化。本發明實施例通過在現有Android系統開發架構中增加用于對從交互接口接收到的交互信息進行標準化的事件解析器,解決了現有Android系統無法提供一種有效的開發架構,導致應用程序開發效率低,可移植性差的問題,提高了應用程序的開發效率和可移植性,同時降低了 Android系統的耦合度。
圖1是本發明一種Android系統開發架構第一實施例提供的開發架構圖。圖2是本發明一種Android系統開發架構第一實施例提供的事件信息的格式封裝圖;圖3是本發明一種Android系統開發裝置第二實施例提供的結構圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。本發明實施例通過在現有Android系統開發架構中增加用于對從交互接口接收到的交互信息進行標準化的事件解析器,解決了現有Android系統無法提供一種有效的開發架構,導致應用程序開發效率低,可移植性差的問題,提高了應用程序的開發效率和可移植性,同時降低了 Android系統的耦合度。以下結合具體實施例對本發明的具體實現進行詳細描述實施例一目前,為了滿足用戶的個性化需求,Android TV的交互設備種類越來越多,例如紅外遙控器、觸摸板遙控器、串口輸入、空中鼠標和手機遙控器等,對應用程序的可擴展性也越來越高。在本發明實施例中,為了使得應用程序能夠向后兼容新增的交互方式,提出了一種Android系統開發架構,使得應用程序能夠獨立于具體的交互方式,提高了應用程序可移植性和可擴展性,同時降低了應用程序的開發周期。圖1示出了本發明第一實施例提供的Android系統開發架構,詳述如下在本發明實施例中,Android系統開發架構1包括應用程序層11用于發布Android系統下的核心應用程序包,例如Email客戶端, 短消息程序,日歷,瀏覽器等,所有的應用程序都采用Java語言編寫。應用程序框架12提供了核心應用程序所使用的框架API。應用程序框架的設計簡化了組件的重用問題,每個應用程序都可以發布其功能模塊使得其它任何應用程序都可以使用其所發布的功能模板。例如視圖中的列表(lists),網格(grids),文本框(text boxes),按鈕(buttons)等、提供非代碼資源訪問的資源管理器(Resource Manager)、顯示自定義的提示信息的通知管理器(Notification Manager)、用來管理應用程序生命周期并提供常用的導航回退功能的活動管理器(Activity Manager)等。事件解析器13用于對從交互接口接收到的交互信息進行標準化,使得應用程序能夠以統一的模式、標準進行調用獲取從交互接口接收到的交互信息。在具體實施過程中, 交互接口可以為通用串行總線(USB)接口、無線保真(WIFI)接口、串口(COM)接口或紅外接口。例如,可以如圖2所示格式對事件信息進行封裝該事件包括事件頭(Event Header)、事件數據(Event Data)和事件腳(Event foot),其中l)Event Header =Event的頭部,包含三個部分Event Checksum 整個Event數據的校驗和,占2個字節;Event Type 用于標識Event的類型,占1個字節,例如可以用0x01表示鍵盤事件(Keyboard Event),0x02用于標識鼠標事件(Mouse Event),0x03用于標識動作事件 (Motion Event),0x04-0xff可用于以后事件類型的擴展,當Android TV增加新的外部交互設備,只需再定義一個事件標識即可,從而提高了應用程序的可擴展性。Event Length 用于標識Event的長度,該長度為Event header的長度、Event Data的長度和Event Foot的長度之和,占1個字節。2) Event Data 為Event的數據部分。該部分內容可以是Keyboard Event數據, Mouse Event數據或Motion Event數據等。其中
Keyboard Event的數據結構為
Typedef struct { Uintl 6 code;
Uintl6fkg;//事件標識按下或釋放按鍵 } Keyboard;
#define FLAG—KEY—PRESS 0x01 #define FLAG—KEY—RELEASE 0x00 #define FLAG—ALT—PRESS 0x02 #define FLAG—SHIFT—PRESS 0x04 Mouse Event數椐結構為 Typedef struct {
Uintl6 χ; //光標的X軸的位置 Uintl6 y; //光標的Y軸的位置 } Mouse;
Motion Event數椐結構為 Typedef struct {
//動作的起始位置1 //動作的起始位置2 //動作的力度 //動作的種類
Mouse finger 1; Mouse finger2: Uint 16 force; Uintl 6 flag; } Motion;
#define FLAG—MOTION—MUL—FINGER 0x01
3)Event Foot 為Event的分割部分,用于在多個Event之間進行分割, 以確保Event的完整性。
該封裝格式僅為本發明的一個具體實例,在具體的實施過程中可以根據系統或用戶需求進行封裝,在此不用于限制本發明。由于在Android TV端通過交互接口接收到的信息可以劃分為三種事件按鍵事件、鼠標事件和動作事件,動作事件是指手勢、身體扭動等動作事件。因此,進一步地可以將該交互信息標識化為對應的虛擬設備,分別為鍵盤虛擬設備、鼠標虛擬設備或動作虛擬設備,并為這些虛擬設備分配相應的標識號(如設備號),通過調用事件對應的標識號實現應用程序對虛擬設備的調用,從而使得應用程序無須了解下層的具體實施,只須通過標識號調用即可獲取外部交互設備發送的事件信息,最終完成與用戶的交互。當Android TV增加新的外部交互設備,只需增加事件標識號即可實現應用程序的擴展,從而提高了應用程序的可擴展性。系統運行庫14提供了函數庫和Android運行庫,其中函數庫提供了 C/C++庫,這些函數庫能夠被Android系統中不同的組件使用,通過Android應用程序框架為應用程序提供相應的功能服務,包括系統C庫、支持多種常用的音頻、視頻格式回放和錄制,同時支持靜態圖像文件的媒體庫、用于底層的2D圖形引擎的SGL等。Android運行庫包括一個提供了 Java編程語言核心庫的大多數功能的核心庫。Linux內核層15作為硬件和軟件棧之間的抽象層,隱藏了具體底層硬件細節,為 Android的核心系統服務提供了如安全性,內存管理,進程管理,網絡協議棧和驅動模型等服務。在本發明實施例中,通過事件解析器將從交互接口接收到的交互信息進行標準化,進一步地,將該交互信息標識化為對應的虛擬設備,分別為這些虛擬設備分配相應的標識號(如設備號)實現應用程序對這些設備的調用,從而使得應用程序無須了解下層的具體實施,只須通過標識號調用即可完成與用戶的交互,從而降低了應用程序與系統下層的耦合度,提高了系統可移植性。另外,當Android TV增加新的外部交互設備,只需增加事件標識號即可實現應用程序的擴展,從而提高了應用程序的可擴展性。本領域普通技術人員可以理解實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,所述的程序可以存儲于一計算機可讀取存儲介質中, 所述的存儲介質,如ROM/RAM、磁盤、光盤等。實施例二 圖3示出了本發明第二實施例提供的Android系統開發裝置,該裝置包括應用程序模塊31用于發布Android系統下的核心應用程序包,例如Email客戶端,短消息程序,日歷,瀏覽器等,所有的應用程序都采用Java語言編寫。應用程序框架模塊32提供了核心應用程序所使用的框架API。應用程序框架的設計簡化了組件的重用問題,每個應用程序都可以發布它的功能模塊使得其它任何應用程序都可以使用其所發布的功能模板。例如視圖中的列表(lists),網格(grids), 文本框(text boxes),按鈕(buttons)等、提供非代碼資源訪問的資源管理器(Resource Manager)、顯示自定義的提示信息的通知管理器(Notification Manager)、用來管理應用程序生命周期并提供常用的導航回退功能的活動管理器(Activity Manager)等。事件解析器模塊33用于對從交互接口接收到的交互信息進行標準化,使得應用程序能夠能統一的模式、標準進行調用獲取從交互接口接收到的交互信息。在具體實施過程中,交互接口可以為通用串行總線(USB)接口、無線保真(WIFI)接口、串口(COM)接口或紅外接口。由于在Android TV端通過交互接口接收到的信息可以劃分為三種事件按鍵事件、鼠標事件和動作事件,動作事件是指手勢、身體扭動等動作事件。因此,進一步地,可以將該交互信息標識化為對應的虛擬設備,分別為鍵盤虛擬設備、鼠標虛擬設備或動作虛擬設備,可以通過分別為這些虛擬設備分配相應的標識號(如設備號)實現應用程序對這些設備的調用,從而使得應用程序無須了解下層的具體實施,只須通過標識號調用即可完成與用戶的交互。系統運行庫模塊34提供了函數庫和Android運行庫,其中函數庫提供了 C/C++ 庫,這些函數庫能夠被Android系統中不同的組件使用,通過Android應用程序框架為應用程序提供相應的功能服務,包括系統C庫、支持多種常用的音頻、視頻格式回放和錄制,同時支持靜態圖像文件的媒體庫、用于底層的2D圖形引擎的SGL等。Android運行庫包括一個提供了 Java編程語言核心庫的大多數功能的核心庫。Linux內核模塊35作為硬件和軟件棧之間的抽象層,隱藏具體底層硬件細節而為上層提供統一的服務,為Android的核心系統服務提供了如安全性,內存管理,進程管理, 網絡協議棧和驅動模型等服務。本發明實施例通過在現有Android系統開發架構中增加用于對從交互接口接收到的交互信息進行標準化的事件解析器,提高了應用程序的開發效率、可移植性以及可擴展性,同時降低了 Android系統的耦合度,當利用上述開發架構或開發裝置開發出來的應用程序與外部交互設備進行人工交互時,應用程序只需求調用虛擬設備的標識號獲取外部交互設備發送的事件信息,從而實現應用程序的交互,有效減少了應用程序的開發周期,提高了應用程序的開發效率。以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種Android系統開發架構,所述Android系統開發架構包括應用程序層、應用程序框架、系統運行庫、Linux內核層,其特征在于,所述Android系統開發架構還包括事件解析器,所述事件解析器用于對從交互接口接收到的交互信息進行標準化。
2.如權利要求1所述的Android系統開發架構,其特征在于,所述事件解析器將所述交互信息標準化為對應的虛擬設備。
3.如權利要求2所述的Android系統開發架構,其特征在于,所述虛擬設備為鍵盤虛擬設備、鼠標虛擬設備或動作虛擬設備。
4.如權利要求1所述的Android系統開發架構,其特征在于,所述交互接口為通用串行總線接口、無線保真接口、串口接口和紅外接口之一。
5.一種Android系統開發裝置,所述Android系統開發裝置包括應用程序模塊、應用程序框架模塊、系統運行庫模塊、Linux內核模塊,其特征在于,所述Android系統開發裝置還包括事件解析器模塊,所述事件解析器模塊用于對從交互接口接收到的交互信息進行標準化。
6.如權利要求5所述的Android系統開發裝置,其特征在于,所述事件解析器模塊將所述交互信息標準化為對應的虛擬設備。
7.如權利要求6所述的Android系統開發裝置,其特征在于,所述虛擬設備為鍵盤虛擬設備、鼠標虛擬設備或動作虛擬設備。
8.如權利要求5所述的Android系統開發裝置,其特征在于,所述交互接口為通用串行總線接口、無線保真接口、串口接口和紅外接口之一。
全文摘要
本發明適用于計算機技術領域,提供了一種Android系統開發架構及開發裝置,所述Android系統開發架構包括應用程序層、應用程序框架、系統運行庫、Linux內核層,其特征在于,所述Android系統開發架構還包括事件解析器,所述事件解析器用于對從交互接口接收到的交互信息進行標準化。本發明實施例通過在現有Android系統開發架構中增加用于對從交互接口接收到的交互信息進行標準化的事件解析器,解決了現有Android系統無法提供一種有效的開發架構,導致應用程序開發效率低,可移植性差的問題,提高了應用程序的開發效率和可移植性,同時降低了Android系統的耦合度。
文檔編號G06F9/44GK102314348SQ20111027414
公開日2012年1月11日 申請日期2011年9月15日 優先權日2011年9月15日
發明者劉衛兵 申請人:Tcl集團股份有限公司