摘要:本文主要從Android軟件開發組件化工作的原理入手,同時在分析軟件開發組件開發劃分的基礎上,研究了基于Android軟件開發組建化設計工作的細節,希望為Android軟件開發相關的組件化工作發展和落實提供合理參考。
關鍵詞:Android;軟件開發;軟件組件化
引言:在互聯網時代,Android軟件合作開發工作逐漸體現出了耦合度高、版本升級效率低等問題。因此,需要在后續的工作中研究組件化的相關內容,Android軟件開發的組建劃分對于降低軟件開發工程中各模塊的耦合,同時提升Android軟件開發效率具有重要推動作用。
一、基于Android軟件開發的組件化原理
Android軟件開發組件化的工作中使用的集成電路設備主要是AS。在時間推移的過程中Android軟件的版本也不斷升級,通過Eclipse、Automatic Data Translator和軟件開發工具包共同進行開發工作的Android應用也逐漸減少。AS集成開發環境能夠為Android軟件開發工作提供最適應的版本環境,該軟件的組件化過程落實就是通過AS集成的模塊功能和編譯插件完成。
在AS工程當中,除了默認創建的系統啟動項以及可以安裝到手機上的獨立軟件之外,還可以在Android系統中添加依賴模塊作為獨立工程的文件,在默認環境中,依賴文件在Android系統中屬于lib庫,即為Android主程序提供功能服務以及數據服務的部分。在AS工程中集成電路中提供的Gradle是默認工具,主要負責的是Android系統當中編譯、打包等工作,在組件化設計工作中使用Gradle插件能夠通過Groovy語言為系統制定新的構建規則,同時,在動態環境下改變Android系統項目的編譯過程。在開發過程中使用Gradle當中的Task、編譯等類型,將模塊改變成獨立項目的工程開發調試,即Android系統可以在組件中添加啟動視圖等APK下載安裝。
在組件化調試階段,通過改變Gradle文件的配置,可以將模塊作為項目依賴添加到Android主體工程當中。簡單講就是將整體的項目進行合理拆分,轉化為多個組件,組件再進行單獨的編譯和同步開發,在調試完之后,組件項目就能夠作為大工程投入應用[1]。
二、Android軟件開發的組件化劃分
在Android軟件開發以及組件化過程中,組件的劃分和Android組件化工作設計息息相關。眾所周知,移動應用開發工作需要經歷漫長的過程,整體工作需要經過項目立項、需求征集等環節。一般在開發初期Android系統組件化的項目規模較小,隨著用戶需求的增加和系統版本進化,Android項目的組件化項目會逐漸增大,因此,可以從多個角度將Android系統項目劃分為多個組件分別進行開發工作,根據不同Android系統開發團隊的工作風格,工程可以從以下三個方面進行劃分。
(一)功能劃分
對于類型相同的移動應用,如:電商軟件、工具型軟件等,從功能上可以劃分成為多個功能組件,一般的劃分方式是將應用的用戶模塊、業務模塊等單獨分離出來,在APP當中,用戶模塊負責的是APP用戶的登錄、注冊等操作,而業務模塊則負責的是具體的業務,例如:某電子商務APP利用網絡通信向后臺服務申請獲得商品數據并展示到APP界面。Android系統中的通信模塊主要是負責模塊當中各界面的視圖通信,如:各模塊之間的通信、APP和其他網絡平臺的通信等。若Android系統中各組件之間沒有數據交互,即假如用戶模塊和業務模塊,用戶注冊和登錄之后就會跳轉到業務界面當中,用戶模塊就會銷毀,但如果業務模塊需要獲得用戶信息,可以利用通信模塊或Android系統后臺等渠道獲取信息,則各組件之間只需要經過路由器尋址就可以。此外,Android系統中如果存在數據交互,也可以通過模塊的依賴和策略模式,幫助各組件之間相互通信。
(二)業務劃分
一般,Android系統組件化從業務上劃分,以Android系統中社交類APP中的聊天功能等,在同一個APP當中,業務之間不存在交集,劃分為不同的業務。Android系統中的大型APP除了集成工作必須的功能之外,部分APP中的額外附加功能會根據用戶的需求隱藏在APP當中的觸發按鈕,而利用CAS系統,APP中的每個組件都能夠獲得用戶信息。一旦Android系統組件化開發完成,除了主體業務需要隨著主體系統進行更新之外,附加業務也會存在長時間不變的狀態,在Android系統的業務層面進行組件劃分,能夠有效地進行Android軟件的共同開發。
(三)架構劃分
在Android系統組件化工作的架構層面分析,Android軟件的常用開發架構有許多種,如:MVC、MVP等,按照Android軟件的功能可以將軟件劃分為視圖層、業務層以及連接層。Android系統中的視圖層主要負責的是APP界面的展示和用戶交互工作,而業務層中的工作也有本地業務以及遠程業務等,此外,連接層負責的是幫助視圖層和業務層通信。Android系統架構當中各個層面之間需要緊密的通信,因此,在進行系統組件化劃分的過程中,Android系統常用的策略模式就是實現各個組件之間的通信工作。在Android系統的組件化開發過程中,工作人員可以使用頂層架構,直接的將APP中的架構劃分為三層,在Android系統中從架構層面劃分組件,就是在原本的架構開發的基礎上,能夠更好的解耦項目。
三、基于Android軟件開發的組件化設計
(一)組件行為
Android系統中的組件行為指的是組件通過調用Android系統的底層功能以及原生程序實現的操作。系統中的組件行為,一般基于網絡展開匹配和分析。網絡是Android運行過程中綁定機制的體現,能夠在Android系統運行過程中連接兩個組件。Android軟件開發工作中的組件化設計中涉及到的系統定義標準Action中主要包括部分系統原生行為的操作,手機中的撥號、網頁登錄等都屬于系統原生行為。再如,手機Android系統中的攝像機拍照等功能為例,兩種方式能夠分別通過Android系統中的ACTION CAMERA BUTTON和ACTION IMAGE CAPTURE實現。
(二)組件權限
Android系統中的權限主要是關于手機中的限制性功能訪問管控,同時,還有手機應用程序之間的組件訪問工作。在Android程序的運行過程中,需要在相關文件當中聲明權限申請,如:手機中的Android系統連接網絡權限的申請指令,關于Android系統中的組件權限分析,需要在系統組件的自定義權限和分析當中進行工作。如:當某手機用戶的在一個APP中使用某種操作打開并進入另一個APP當中,除了最常見的直接打開另一個APP并進入程序中的Activity以外,也可以使用網絡中的隱藏功能使用另一個APP中service組件向另一個APP發送信息[2]。
結束語:綜上所述,Android軟件開發組件化是未來的移動大型軟件開發工作的主要趨勢,在工作中可以將Android工程劃分為多個組建,同時,單獨開發各個組建,經過調試和測試成功后再投入應用,能夠降低程序的耦合性,并提升軟件開發工作效率。
參考文獻:
[1]殷濤,崔佳冬.基于Android軟件開發組件化研究[J].計算機應用與軟件,2019,36(09):16-20.
[2]趙海源,王麗芳,蔣澤軍.基于組件化思想的測控軟件開發平臺設計與實現[J].電子設計工程,2013,21(08):80-83.
作者簡介:
陳凱(1989-),男,瑤族,籍貫:廣西桂林,單位:桂林長海發展有限責任公司。