摘要:隨著市場的不斷需求,Android操作系統越來越完善,由于時代的發展需要,App也逐漸成為市場空缺,App終端研究成為主流研究項目。該文對基于Android操作系統的移動終端App開發視角下進行深入細致的剖析,為相關領域從業人員提供一定理論指導和參考,更好地促進了在當前互聯網不斷發展普及背景下Android操作系統的移動終端App的開發工作創新。
關鍵詞:Android操作系統;移動終端App;開發研究
中圖分類號:TP311? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)04-0064-02
在我國市場上運行的操作系統中,Android操作系統起步較早,構建完善,受到了大部分國內廠商的喜愛,并與之展開深層次合作。在不斷提升、完善Android操作系統性能的同時,被開發推出的移動終端App也越來越多,而如何基于Android操作系統更好地進行移動終端App的開發仍然有待研究。
1 Android系統
Android系統是一種移動操作系統,擁有以Linux內核為基礎的開發平臺。系統的架構包含了多層次,而相互獨立的各層又包含了多內容。也是因為這一特點,開發人員可以更好地實現開發需求,提升開發的質量和效率[1]。而想要基于Android操作系統進行移動終端App的開發,需要熟悉Android的一些基本信息。
1.1 架構
1.1.1 Linux內核層
Android基礎層是依靠Linux內核建立的,該層包含了幾乎所有移動設備會用到的驅動程序,并幫助系統與硬件通信,其包含的驅動程序有:DisplayDriver、KeyBoardDriver、FlashMemoryDriver、CameraDriver、AudioDriver、BluetoothDriver、PowerManagement等。除此之外,它還會提供對內存、電源、系統進程、文件系統、USB的管理,合理分配處理系統運行資源、管理進程通信、保存運行狀態。
1.1.2 系統運行庫層
系統運行庫層包含兩部分,一是庫文件,多為Android系統會用到的C或C++庫文件,比如媒體庫、SQLite。二是Android運行環境,也就是虛擬機技術,是運行Android應用程序時需要的核心庫。
1.1.3 應用程序框架層
這是編寫方發布的核心應用時需要使用的API框架,包括十個部分:活動管理器、窗口管理器、內容提供者、視圖系統、通知管理器、包管理器、電話管理器、資源管理器、位置管理器、XMPP服務。開發人員可以使用其中的框架,也就是谷歌直接提供的庫存來進行開發。只要遵循框架的開發原則,就可以簡化進行架構設計的步驟,節省時間。
1.1.4 應用程序層
該層與基于Android操作系統的移動終端App直接相關,也就是Java語言來進行程序開發。
1.2 構件
1.2.1 活動(Activity)
這是開發中使用最頻繁的構件,一個Activity就是一個單獨窗口,并有運行中(Running/Active)、暫停(Paused)、停止(Stoped)、銷毀(Detroyed)四種狀態。彼此之間通過Intent通信,是用戶操作時可視化的界面,基于Android操作系統的移動終端App中,能看見的都要依托于它。而要讓系統識別并執行Activity,應用中每一個Activity都必須在AndroidManifest.xml配置文件中聲明。
1.2.2 服務(Service)
它是移動終端App后臺運行的解決方案,不依賴用戶界面,可以長期保持正常運行,適合執行無須與用戶交互且需長期運行的任務。與Activity十分類似,存在生命周期,也需要在AndroidManifest.xml配置文件中聲明,只是沒有窗口。另外值得注意的是,Service在獨立進程中運行,不會自動開啟線程,而是依賴創建服務時所在的移動終端App進程,其代碼運行于主線程中。Service分啟動(started)、綁定(bound)兩種,啟動方式也有startService、bindService兩種,兩兩之間互相對應。當構件調用start Service方法啟動,Service就處于啟動狀態,當調用bind Service方法綁定到Service,它就處于綁定狀態。
2 App在Android操作系統中的應用、發展
因為固定用戶人群數量多,多方進入了一個良性循環。比如Android手機的App在初期就擁有大批用戶群,開發者即可獲得大量利益,而要想得到利益,手機廠商需要與Android公司長期工作,開發者需要針對手機型號和Android系統開發并不斷完善App。當Android系統在不斷更新時,各種手機和App也在逐漸完善,用戶得到的體驗也越來越好。
在我國,基于Android操作系統的移動終端App在所有全新Android系統中都可以運行,適配所有Android智能設備。安裝時無須付費,只要正規應用市場安裝就沒有各種木馬病毒,而且App在源頭上保障了用戶的使用安全,充分保護了用戶的隱私信息。更難能可貴的是,經過多年發展和不斷淘汰,App的基本原則之一就是要符合國人使用習慣。各大應用市場也為此做出了不少改變和更新,界面簡潔明了,個性化信息及時推送,一鍵下載安裝,還有各種用戶福利[2]。
3 基于Android操作系統的移動終端App開發
3.1 軟件開發
3.1.1 數據存儲
這是開發過程中的重要環節,而Android提供了多種技術方案供開發者使用,主要有五種:共享首選項(Shared? Preferences)、內部存儲(Internal Storage)、外部存儲(External Storage)、SQLite數據庫、網絡存儲。Shared? Preferences使得開發者可以鍵值對的方式,通過該類提供的框架永久保存原始數據。即便是應用終止了,數據也可以跨多用戶對話永久保留。
在使用時,需要先通過get Shared Preferences或是get Preferences方法獲取Shared Preferences的對象。接著通過Shared Preferences對象的edit方法,獲取一個一個Shared Preferences.Editor對象。當對象獲取之后,調用put Boolean等方法添加值,并使用commit提交。最后在需要獲取數據之處,使用Shared Preferences對象的get Boolean等方法讀取值Internal Storage位于內部存儲器分配的Internal Storage分區里,用于保存私有文件。當用戶卸載App之后,該分區里的文件也會被清除。External Storage類似于公共分區,私密性不強,可以共享保存數據,既可以是內部存儲器分配的External Storage分區,比如大家在手機“文件管理”中看到的“音樂”這種目錄,也可以是可移動的外部存儲介質,比如存儲卡和硬盤。
SQLite數據庫的核心思想與一般數據庫相差無幾,只是更輕量一些,是一個嵌入式關系型數據庫。所以使用它的流程也就幾步,先看數據庫有沒有打開,接著確認有無數據表,沒有就進行創建。在創建的時候要記得添加“IF NOT EXISTS”,避免重復操作。當完成之后,就是常規的增刪查改操作了[3]。最后操作完畢時,數據庫進入close狀態。網絡存儲則最為簡單,就是通過網絡實現數據存儲與獲取,只需要解析HTTP協議或者是調用Web Service的數據即可實現。
3.1.2 界面開發
這是開發中的基本內容,工期短、工作量小,但不可圖快,不然即便功能開發得再好,應用也不會得到多好的反響。因為界面決定應用功能模塊的分布,對于設計、開發的影響很大。更重要的是,它直接關系用戶體驗。界面就是第一印象,只有第一印象好了,用戶才會有興趣體驗實際使用效果。所以對于界面的開發,要注意對資源的溝通和操作。
3.1.3 語音識別
這是一種改善人機交互的技術,簡化操作,節省用戶的時間,提升效率。用戶只需要通過語音指令,就可以完成一些信息查詢和Android智能設備操作。它可以說是人機接口中很關鍵的一步,相關市場發展迅速,相關的產業已經極具規模。要想在基于Android操作系統的移動終端App開發中利用技術并實現語音識別,需要借助一些商業解決方法,保證語音識別能力和速度維持在較高水平[4]。
3.1.4 AR、VR、AI
增強現實(AR)、虛擬現實(VR)和人工智能(AI)這三種皆為當下最前沿的技術,要想在開發過程中運用這些技術,需要依靠相應的硬件設備。
3.2 開發重點
由于Android繼承了Linux的安全機制,開發之前就需要獲得相應的權限,可通過添加標簽和Manifest.xml文件進行操作。搭建用戶界面,生產過程有兩種:XML配置和直接使用代碼,生產之后便是界面進行相關的UI設計和布局。最后需要了解各大構件以及通過數據存儲獲取各種資源文件。
4 基于Android操作系統的移動終端App開發安全環境
由于Android存在時間久,市場份額高,基于Android操作系統進行移動終端App的開發可以借鑒很多前輩開發者的經驗。而且Android本身在設計上就考慮得很全面,借助該平臺進行開發可以降低不少難度,工作量也會大大減少。但需要注意的是,Android的特點是開源,也就是提供一個開放的環境,并不會處處注重其他開發者可能對環境造成安全威脅的情況。相較于電腦這種桌面設備來說,移動智能設備受到的安全挑戰更大,面臨的情況更加嚴峻。所以開發者要注意管理和維護自身開發環境的安全,發現漏洞就要及時開展修補工作,開發的全程要保證安全性。
4.1 框架層安全
框架層安全需要借助Android的數字認證,也就是通過數字證書來保證安全。數字證書是SSL通信協議的核心,是安全領域的大招,由Certificate Authority發行,本質是一串數字,不過可以在互聯網中標記各方的身份信息。
4.2 代碼安全
開發者編寫的代碼要安全規范,對于軟件質量和安全性來說都是基礎。Android的開放性很強,終端開發容易遭受惡意攻擊,代碼也會被惡意反編譯,所以對代碼安全進行質量管控非常重要。開發者可以增加保護性的編程,通過混淆的代碼來保護代碼。在編程完畢之后,還要進行細致的安全審計。
4.3 權限管理
安卓在初期設計的時候就考慮到了權限方面的問題,并借鑒當時一些操作系統解決安全問題的經驗,對于權限的設定、授予進行了規范。開發者若想對權限進行管理,可以借助Android manifest.xml等配置文件,或者通過內部的權利管理機制設定。另外,也要避免網絡的隱藏威脅。如果要訪問移動數據,需要加入運行訪問的ACCESS NETWORK STATE條目。為防萬一,在用戶安裝App時也要提醒用戶檢查權限,提前規避可能遇到的風險。
5 結束語
科學技術的不斷發展給我們的生活帶來極大便利,尤其是當今的信息化時代之下,各種智能設備的出現更是提高了我們的生活質量,同時也對發展提出了新的要求。正是在此基礎之上,以Android操作系統為載體,推進移動終端App的開發研究顯得尤為必要,除了提升人類的生產生活水平之外,也讓移動終端App與Android操作系統更好地相適應,并推動著移動終端App的運用和Android操作系統的發展。
參考文獻:
[1] 李登科,王聰華.基于Android操作系統的移動終端APP開發研究[J].電腦編程技巧與維護,2020(9):69-70.
[2] 唐翔.基于Android平臺的某景點移動端旅游軟件系統設計與實現[D].成都:電子科技大學,2020.
[3] 楊樂.基于權限的Android惡意軟件檢測方法研究[D].天津:天津理工大學,2020.
[4] 吳明瑞,王莉軍.基于Android操作系統的移動終端APP開發研究[J].數字通信世界,2019(2):113.
收稿日期:2021-05-06
作者簡介:姚雅峰,女,天津人,講師,碩士,主要研究方向為計算機軟件技術、計算機應用技術。