【文章內(nèi)容簡介】
e Phone will have great development Guards is one of them. Android platform offers users very convenient Security Guards the will be for Security Guards the design and implementation of service provides a better addition, Android platform is basically free, so can effectively reduce the software costs, Finally let each user will be free to get information, Also for the popularization of mobile phone Security Guards the service contribution. This paper discusses the present application of Symbian, Windows Mobile, MacOSX and RIM situation of such platform are analysed and pared. Further research and analysis of the Android platform system architecture and the ponent model, then analyzes the important Android API and the application form, with Intent and life cycle mechanism, on this basis, design and development of mobile phone Security Guards the software based on the Android platform. This system friendly interface, Convenient operation, Has good expansibility and maintainability。 after test of system, can stable operation, To meet the basic needs of mobile phone users. Keywords: Android、 Java、 Security Guards 、 Intent、 Layout 3 第一章 引言 隨著移動(dòng)通信與 Inter 向移動(dòng)終端的普及,網(wǎng)絡(luò)和用戶對移動(dòng)終端的要求越來越高,而 Symbian, Windows Mobile, PalmOS 等手機(jī)平臺(tái)過于封閉,不能很好的滿足用戶的需求,因此市場迫切需要一個(gè)開發(fā)性很強(qiáng)的平臺(tái)。經(jīng)過多年的發(fā)展,第三代數(shù)字通信( 3G)技術(shù)活動(dòng)了廣泛的接受,它為移動(dòng)終端用戶帶來了更快的數(shù)據(jù)傳輸速率。隨著 3G 網(wǎng)絡(luò)的使用,移動(dòng)終端不再僅是通訊網(wǎng)絡(luò)的終端,還將成為互聯(lián)網(wǎng)的終端。因此,移動(dòng)終端的應(yīng)用軟件和需要的服務(wù)將會(huì)有很大的發(fā)展空間。 Google 為此與 2021 年 11 月推出了一個(gè)專為移動(dòng)設(shè)備設(shè)計(jì)的軟件平臺(tái) —— Android。 Android 是一套真正意義上的開發(fā)性的移動(dòng)設(shè)備綜合平臺(tái),它包括操作系統(tǒng)、中間件和一些關(guān) 鍵的平臺(tái)應(yīng)用。 Android 是由 Linux+Java 構(gòu)成的開源軟件,允許所有廠商和個(gè)人在其基礎(chǔ)上進(jìn)行開發(fā)。 Android 平臺(tái)的開放性等特點(diǎn)既能促進(jìn)技術(shù)(包括平臺(tái)本身)的創(chuàng)新,又有助于降低開發(fā)成本,還可以是運(yùn)營商能非常方便地制定自己的特色化的產(chǎn)品。因此,它具有很大的市場發(fā)展?jié)摿Α? 根據(jù)中國互聯(lián)網(wǎng)信息中心( CNNIC)發(fā)布的《第 22 次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》顯示,截止 2021 年 6 月底,我國網(wǎng)民數(shù)量達(dá)到了 億,首次大幅超過美國,網(wǎng)民規(guī)模躍居世界第一位,其中手機(jī)網(wǎng)民達(dá)到 7305 萬,手機(jī)上網(wǎng)成為網(wǎng)絡(luò)接入 的一個(gè)重要發(fā)展方向。 Palm OS 是一套專門為掌上電腦編寫的操作系統(tǒng),是一種輕量級(jí)、比較開放的操作系統(tǒng),占用的內(nèi)存非常小,允許用戶在其基礎(chǔ)上編寫和修改相關(guān)軟件,是支持的應(yīng)用程序更加豐富多彩。 Plam 在其它方面也還存在一些不足,如 Plam操作系統(tǒng)本身不具備錄音、 MP3 播放功能等,但是可以通過加入第三方軟件或硬件設(shè)備來實(shí)現(xiàn)。其代表性的產(chǎn)品有 Palm m50 Palm m500、 Palm III 等。 Symbian 是一個(gè)實(shí)時(shí)性、多任務(wù)的純 32 位操作系統(tǒng),具有功耗低、內(nèi)存占用 4 少等特 點(diǎn),非常適合手機(jī)等移動(dòng)設(shè)備使用,經(jīng)過不斷完善,可以支持 GPRS、藍(lán)牙、 SyncML 以及 3G 技術(shù)。 Windows mobile系列操作系統(tǒng)是從微軟計(jì)算機(jī)的 Windows操作系統(tǒng)上變化而來的。 Windows mobile 系列操作系統(tǒng)功能強(qiáng)大,而且支持該操作系統(tǒng)的智能手機(jī)大多數(shù)都采用了英特爾嵌入式處理器,主頻比較高,在其它硬件設(shè)置(如內(nèi)存、儲(chǔ)存卡容量等)上也采用其他操作系統(tǒng)的智能手機(jī)要高出許多,因此性能比較強(qiáng)勁,速度比較快。 Windows mobile 系列操作系統(tǒng)包括 SmartPhone 以及 Pocket PC Phone 兩種平臺(tái)。 Pocket PC Phone 主要用于掌上電腦型的智能手機(jī),而SmartPhone 則主要為手上智能手機(jī)提供操作系統(tǒng)。 Linux 系統(tǒng)是一個(gè)源代碼開放的操作系統(tǒng)。由于其開源性,手機(jī)制造商可以根據(jù)實(shí)際情況開放自己的 Linux 手機(jī)操作系統(tǒng),從而也能夠吸引更多的軟件制造商在其上開發(fā)更多的應(yīng)用軟件,豐富第三方的應(yīng)用。但是 Linux 操作系統(tǒng)也還存在一些不足,集成開放環(huán)境和基于 Linux 的產(chǎn)品與 PC 的連接性比較差等。 本文首先分析了系統(tǒng)的研究背景,介紹了當(dāng)前手機(jī)操作系統(tǒng)、即時(shí)通訊 軟件的發(fā)展現(xiàn)狀和即時(shí)通訊協(xié)議,以及本文的主要內(nèi)容。 第二章,介紹了 Android的特征、 Android的架構(gòu)以及 Android應(yīng)用的構(gòu)成和工作機(jī)制,并對 Android與其它手機(jī)操作系統(tǒng)進(jìn)行了比 較,說明了 Android的優(yōu)勢。 第三章,詳細(xì)論述了在 Android平臺(tái)上開發(fā)手機(jī)安全衛(wèi)士軟件,提出了軟件的主要功能,軟件的總體描述和架構(gòu)設(shè)計(jì)。 第四章,介紹了軟件的設(shè)計(jì)特點(diǎn),著重論述了賬戶操作的工作流程。 第五章,給出本文的結(jié)論并對課題進(jìn)行了進(jìn)一步的展望。 5 第二章 Android 的架構(gòu)分析 Android 是一個(gè)移動(dòng)設(shè)備的軟件平臺(tái),是由 Linux+Java 構(gòu)成的開源軟件,它提供包括 SDK、 Key Apps、 Middleware、 Linux Kernel 四個(gè)部分在內(nèi)的全套手機(jī)軟件方案。它開放了基于 Linux 內(nèi)核以上的開發(fā)工具,從而保證了內(nèi)容的可移植性和多樣性。 Android 平臺(tái)為我們開發(fā)應(yīng)用程序提供了一套很好的框架,我們可以在這個(gè)平臺(tái)的基礎(chǔ)上開發(fā)不同的應(yīng)用程序,也可以開發(fā)新的組件供應(yīng)用程序調(diào)用。 Android 特征 應(yīng)用框架:用于開發(fā)可重用、可替代的組件。 Dalvik 虛擬機(jī): Android 采用的 Java 虛擬機(jī)是自主開發(fā)的代號(hào)為 Dalvik 的虛擬機(jī)技術(shù),在保證 API 方面兼容的同時(shí) Dalvik 針對移動(dòng)手機(jī)進(jìn)行了大幅優(yōu)化,占用資源更小,運(yùn)行效率更高。 內(nèi)嵌瀏覽器:基于開源的瀏覽器網(wǎng)頁排版引擎 WebKit。 優(yōu)化的圖形:強(qiáng)大的自定義二維圖形庫?;?OpenGL ES 標(biāo)準(zhǔn)的 3D 圖形功能,在移動(dòng) 3D 開發(fā)中有著至關(guān)重要的地位。 SQLite 數(shù)據(jù)庫: SQLite 提供結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)。它是一款輕型免費(fèi)的且開源的數(shù)據(jù)庫,它的設(shè)計(jì)目標(biāo)是嵌入式的,它占用的資源非常低、需要的內(nèi)存空間少、處理速度比較快和支持事務(wù)處理功能等。 多媒體支持:支持各種通用的音頻、視頻和靜態(tài)圖像格式,如 MP JPG、 PNG等。 Open Core 是 Android 多媒體框架的核心,所有 Android 平臺(tái)的音頻和視頻采集、播放的操作都是通過它來實(shí)現(xiàn)的。通過 Open Core,程序員可以方便快速的開發(fā)出想要的多媒體應(yīng)用程序。 GSM 技術(shù):(依賴硬件) Global System for Mobile Communications,全球通訊系統(tǒng),俗稱“全球通”,是第二代移動(dòng)通信技術(shù),其開發(fā)目的是讓全球各地可以共同使用一個(gè)移動(dòng)電話網(wǎng)絡(luò)標(biāo)準(zhǔn),讓用戶使用一部手機(jī)就能行遍全球。 藍(lán)牙, EDGE,3G and WiFi:(依賴硬件)藍(lán)牙和 WiFi 都是一種短距離的無線連接技術(shù),在短距離內(nèi)可以實(shí)現(xiàn)話音和數(shù)據(jù)的無線傳輸。 EDGE(Enhanced Data 6 Rate for GSM Evolution),是增強(qiáng)型數(shù)據(jù)速率 GSM 演進(jìn)技術(shù)。 Cameram,GPS,pass,andaccelerometer: ( 依 賴 硬 件 ) GPS(Global Positioning System),即全球定位系統(tǒng)。它是由一個(gè)由覆蓋全球的 24 顆衛(wèi)星組成的衛(wèi)星系統(tǒng)。 Compass 是一個(gè)開放源碼的 Java 搜索引擎框架。 強(qiáng)大的開發(fā)環(huán)境:包括一個(gè)設(shè)備模擬器,調(diào)試工具,內(nèi)存和性能檢測,以及Eclipse IDE 的開發(fā)插件。 Eclipse 是個(gè)集成開放環(huán)境。 Android 架構(gòu) Android 的架構(gòu)是由 Linux 內(nèi)核、 C/C++函數(shù)庫、 Dalvik 虛擬機(jī)、應(yīng)用框架以及關(guān)鍵應(yīng)用程序構(gòu)成的。通過編譯基于框架的應(yīng)用程序可以降低開發(fā)負(fù)荷。應(yīng)用軟件原則上是在 DalvikVM 上運(yùn)行的。 圖 Android 架構(gòu) 開發(fā)人員也可以完全訪問核心應(yīng)用程序所使用的 API 框架。該應(yīng)用程序的架構(gòu)設(shè)計(jì)簡化了組件的重用 。任何一個(gè)應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊 (不過得遵循框架的安全性限制 )。同樣,該應(yīng)用程序重用機(jī)制也使用戶可以方便的替換程序組件。 隱藏在每個(gè)應(yīng)用后面的是一系列的服務(wù)和系統(tǒng) , 其中包括 。 豐富而又可擴(kuò)展的視圖 (Views),可以用來構(gòu)建應(yīng)用程序, 它包括列表 7 (lists),網(wǎng)格 (grids),文本框 (text boxes),按鈕 (buttons), 甚至可嵌入的web 瀏覽器。 內(nèi)容提供器 (Content Providers)使得應(yīng)用程序可以訪問另一個(gè)應(yīng)用程序的數(shù)據(jù) (如聯(lián)系人數(shù)據(jù)庫 ), 或者共享它們自己的數(shù)據(jù) 資源管理器 (Resource Manager)提供 非代碼資源的訪問,如本地字符串,圖形,和布局文件 ( layout files )。 通知管理器 (Notification Manager) 使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息。 活動(dòng)管理器 ( Activity Manager) 用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。 程序庫 Android 包含一些 C/C++庫,這些庫能被 Android 系統(tǒng)中不同的組件使用。它們通過 Android 應(yīng)用程序框架為開發(fā)者提供服務(wù)。以下是一些核心庫: 系統(tǒng) C 庫 一個(gè)從 BSD 繼承來的標(biāo)準(zhǔn) C 系統(tǒng)函數(shù)庫 ( libc ), 它是專門為基于 embedded linux 的設(shè)備定制的。 媒體庫 基于 PacketVideo OpenCORE。該庫支持多種常用的音頻、視頻格式回放和錄制,同時(shí)支持靜態(tài)圖像文件。編碼格式包括 MPEG4, , MP3, AAC, AMR, JPG, PNG 。 Surface Manager 對顯示子系統(tǒng)的管理,并且為多個(gè)應(yīng)用程序提 供了 2D和 3D 圖層的無縫融合。 LibWebCore 一個(gè)最新的 web 瀏覽器引擎用,支持 Android 瀏覽器和一個(gè)可嵌入的 web 視圖。 SGL 底層的 2D 圖形引擎 3D libraries 基于 OpenGL ES APIs 實(shí)現(xiàn) 。該庫可以使用硬件 3D 加速 (如果可用 )或者使用高度優(yōu)化的 3D 軟加速。 FreeType 位圖 (bitmap)和矢量 (vector)字體顯示。 8 SQLite 一個(gè)對于所有應(yīng)用程序可用,功能強(qiáng)勁的輕型關(guān)系型數(shù)據(jù)庫引擎。 運(yùn)行庫 Android 包括了一個(gè)核心庫,該核心庫提供了 JAVA 編程語言核心庫的大多數(shù)功能。每一個(gè) Android 應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個(gè)獨(dú)立的Dalvik 虛擬機(jī)實(shí)例。 Dalvik 被設(shè)計(jì)成一個(gè)設(shè)備可以同時(shí)高效地運(yùn)行多個(gè)虛擬系統(tǒng)。 Dalvik 虛擬機(jī)執(zhí)行 (.dex)的 Dalvik 可執(zhí)行文件,該格式文件針對小內(nèi)存使用做了優(yōu)化。同時(shí)虛擬機(jī)是基于寄存器的,所有的類都經(jīng)由 JAVA 編譯器編譯,然后通過 SDK 中 的 dx 工具轉(zhuǎn)化成 .dex 格式由虛擬機(jī)執(zhí)行。 Dalvik 虛擬機(jī)依賴于 linux 內(nèi)核的一些功能,比如線程機(jī)制和底層內(nèi)存管理機(jī)制。