【正文】
e for Campus Information 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 Campus Information 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 Campus Information the software based on the Android platform. This system friendly interface, Convenient operation, Has good expansibility and maintainability。 關(guān)鍵詞 : Android。 進而研究分析了 Android 平臺的系統(tǒng)架構(gòu)和組件模型,接著解析了 Android 中的重要 API和應(yīng)用構(gòu)成,以 Intent和生命周期的機制。因此,手機的娛樂應(yīng)用服務(wù)將會有很大的發(fā)展空間,校園資訊軟件就是其中之一。 Android 平臺提供給用戶非常方便的數(shù)據(jù)查閱功能,這將為校園資訊軟件的設(shè)計與實現(xiàn)提供了更好的平臺。在此基礎(chǔ)上,基于 Android平臺設(shè)計和開發(fā)校園資訊軟件。Java。 after test of system, can stable operation, To meet the basic needs of mobile phone users. Keywords: Android。 Layout 3 1 引言 目前隨著移動設(shè)備越來越普及以及移動設(shè)備的硬件的提升,移動設(shè)備的功能越來越完善,移動設(shè)備的系統(tǒng)平臺也日漸火熱起來??梢夾ndroid 系統(tǒng)正在崛起之中。 Android 是基于 Linux 內(nèi)核的軟件平臺和操作系統(tǒng),是 Google 在 2020 年 11 月 5 日公布的手機系統(tǒng)平臺,早期由 Google 開發(fā),后由( Open Handset Alliance)開發(fā)。 希望通過這篇論文的研究,展示我在校期間學習與實踐的成果,希望給在浙師兩年的本科學習交上一份圓滿的答卷。 Symbian 是為手機而設(shè)計的操作系統(tǒng),它是一個實時性,多任務(wù)的純 32 位嵌入式的操作系統(tǒng),具有低能耗,內(nèi)存占用較少等特點。它主要是給 iPhone、 iPod touch以及 iPad 使用。 Windows Mobile 系列操作系統(tǒng)功能強大,而且支持該操作系統(tǒng)的智能手機大多數(shù)都采用了英特爾嵌入式處理器,主頻比較高,在其它硬件配置 (如內(nèi)存、儲存卡容量等 )上也比采用其它操作系統(tǒng)的智能手機要高出許多,因此性能比較強勁,速度比較快。 Palm 系統(tǒng)與其他手機系統(tǒng)相比在其它方面也還存在一些不足,如 Palm 操作系統(tǒng)本身不具有錄音、 MP3 播放功能等,但是可以通過加入第三方軟件或硬件設(shè)備來實現(xiàn)。同時也取得了一定成果。但不可否認的是我國在通信領(lǐng)域中相比許多發(fā)達國家仍然存在著不小的差距,就在國人還在為 EDGE 這種傳輸速度僅能達到 384KB/秒的 過渡技術(shù)而欣喜的時候,國外早已開始試行 HSDPA 這種 技術(shù),傳輸速度更可達到驚人的數(shù)兆每秒,而基于其上所開發(fā)的延伸功能更是數(shù)不勝數(shù),所以國內(nèi)外手機應(yīng)用也存在的較大的差異。 近年來十分熱門的網(wǎng)絡(luò)社交服務(wù)( Social Networking Services)也已進入到手機客戶端領(lǐng)域。國內(nèi)淘寶網(wǎng)旗下口碑網(wǎng)在今年也已經(jīng)推出針對多個手機平臺的客戶端程序。 手機娛樂游戲類應(yīng)用,該類應(yīng)用作為傳統(tǒng)類手機應(yīng)用,在各個平臺上發(fā)展已近相對完善,手機上對各種流媒體的播放也已完美的支持。 首先,提供智能提醒服務(wù),手機能夠與用戶實現(xiàn)密切配合,并監(jiān)控用戶的個性化設(shè)置(保持在本地或者云端),當重要時間點或關(guān)鍵事物需要用戶注意時,手機會向用戶發(fā)出“提醒”服務(wù),服務(wù)包括日程提醒、交通狀況、最佳行車路線、 最佳泊位、優(yōu)惠活動、實時新聞、體育賽事、天氣情況、股市行情、好友活動、親友生日等。如進行端到端的多人游戲、照片分享、書籍分享、音樂分享等。 2 Android 的相關(guān)技術(shù)介紹及分析 Android 系統(tǒng)架構(gòu)研究 Android 是一個包含操作系統(tǒng)、中介架構(gòu)層及應(yīng)用程序所產(chǎn)生出來的軟件堆棧架構(gòu)。 (3)集成的瀏覽器 :集成的瀏覽器是 Android 內(nèi)建的瀏覽器,是以 WebKit 的瀏覽引擎為基礎(chǔ)所開發(fā)成的。在2D 方面, Android 提供了一套特有的類庫 (SGL。 SQLite 是一款輕型的數(shù)據(jù)庫,它的設(shè)計目標是嵌入式的,目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用的資源非常低。同時它還支持事務(wù)功能和并 7 發(fā)處理等等。另外支持各種通用的靜態(tài)圖像格式,例如 :JPG、 PNG、 GIF 等格式。 EDGE(Enhanced Data Rate for GSM, Evolution),即增強型數(shù)據(jù)速率 GSM 演進技術(shù)。該技術(shù)使用的是 附近的頻段,該頻段目前尚屬沒用許可 的無線頻段。這個系統(tǒng)可以保證在任意時刻和任何地點都可以同時觀測到 4 顆衛(wèi)星,以保證衛(wèi)星可以采集到該觀測點的經(jīng)緯度和高度,以便實現(xiàn)導航、定位、授時等功能。 應(yīng)用程序框架 在 Android SDK 中,定義了讓開發(fā)者使用與核心應(yīng)用程序相同 API 的權(quán)限應(yīng)用程序框架是為了要簡化組件的重新利用而設(shè)計的,應(yīng)用程序可以發(fā)布功能為其它應(yīng)用程序所使用。 (3)資源管理器 :提供各種非程序代碼的資源讓應(yīng)用程序去使用。例如 :啟動應(yīng)用程序要用到的資源準備及關(guān)閉應(yīng)用程序時釋放內(nèi)存及相關(guān)資源等工作。 (9)包管理器 :管理所有安裝在 Android 系統(tǒng)內(nèi)的包。例如 :在 2D、 2D 顯示上的合成、疊合動作。 (4)Media Frame work:主要是以 packetVideo 公司的 OpenCORE 為基礎(chǔ)所發(fā)展的多媒體類庫,該庫支持回放和錄制大量流行的音視頻格式和靜態(tài)圖片。它已被廣泛地用于 Web 瀏覽器與服務(wù)器之間的身份認證和加密數(shù)據(jù)傳輸。 SSL協(xié)議提供的服務(wù)主要有 :①認證用戶和服務(wù)器,確保數(shù)據(jù)發(fā)送到正確的客戶機和服務(wù)器 。 (8)web Kit:是一個先進的網(wǎng)頁瀏覽器引擎,被用來構(gòu)建 Android 瀏覽器和內(nèi) 10 嵌的 web 視圖,也可以讓開發(fā)者利用這個引擎來做不 同的應(yīng)用。 Android 運行時組件包括兩個重要的部分,一個是核心類庫,另一個是Dalvik 虛擬機。 Android 應(yīng)用的構(gòu)成和工作流程如圖 22: 圖 22 Android 的構(gòu)成和工作流程 11 3 Android 應(yīng)用程序結(jié)構(gòu)剖析 Android 的 API Android API 主要包含了以下幾個部分 : (1) 是系統(tǒng)的控制文件,它告訴系統(tǒng)如何處理所創(chuàng)建的所有應(yīng)用組件 (尤其是活動 (Activity),服務(wù) (Service),意圖接收器 (Intent Receiver)和內(nèi)容提供者 (Content Provider))。不過這不是必須的,有些活動從不顯示UI 界面。開發(fā)者可以通過創(chuàng)建一個新的視圖的方法來使用自定義的圖形處理技術(shù) (比如開發(fā)游戲,或者是使用了不常用的用戶圖形窗口界面 )。意圖也可以用于廣播系統(tǒng)范圍內(nèi)的有效事件 (例如通知事件 )。例如媒體播放器的服務(wù),當用戶退出媒體選擇的界面時,仍然希望音樂依然可以繼續(xù)播放,這時就可用服務(wù)來保證當用戶界面關(guān)閉時音樂還繼續(xù)播放著。典型的例子就是使用內(nèi)容提供者來訪問聯(lián)系人列表。當決定使用以上哪些組件來構(gòu)建 Android 應(yīng)用程序時,需要將它們注冊在 文件中,這是一個 XML 配置文件,在這個文件中可以聲明應(yīng)用程序組件以及它們的特性和要求。一個活動就相當于應(yīng)用程序的 一個用戶界面,由事件響應(yīng)以及視圖等組成。顯示一個新界面就相當于生成一個對應(yīng)的活動對象。當一個活動不再需 要時,可以將它們從歷史堆棧中移除。在意圖的描述結(jié)構(gòu)中,含有兩個重要的數(shù)據(jù)結(jié)構(gòu) :動作和動作對應(yīng)的數(shù)據(jù)。當發(fā)生一個有效的目的請求時,意圖過濾器用來描述一個活動能夠處理什么意圖。例如 :一個活動使用 startActivity(myIntent)來調(diào)用其他活動時,系統(tǒng)會查找所有已經(jīng)安裝的應(yīng)用程序的意圖過濾器,并從中挑 選出能夠匹配 myIntent 意圖的活動。 意圖接收器 當想要編寫代碼來對外部事件做一些處理時,可以使用意圖接收器。 服務(wù) 服務(wù)是具有長生命周期并且沒有用戶界面的代碼。如果應(yīng)用程序之間想要共享數(shù)據(jù),就需要使用用內(nèi)容提供者。而這四種組件是獨立的,它們之間可以互相調(diào)用,協(xié)調(diào)工作,最終組成一個真正的 Android 應(yīng)用。 例如,在一個聯(lián)系人維護的應(yīng)用中,當在一個聯(lián)系人列表屏幕 (假設(shè)對應(yīng)的Activity 為 listActivity)上,點擊某個聯(lián)系人后,希望能夠調(diào)出此聯(lián)系人的詳細信息,為了實現(xiàn)這個目的, listActivity 需要構(gòu)造一個 Intent,這個 Intent 用于告訴系統(tǒng),要做“查看”動作,此動作對應(yīng)的查看 對象是“某聯(lián)系人”,然后調(diào)用startActivity(intent intent),將構(gòu)造的 Intent 傳入,系統(tǒng)會根據(jù)此 intent 中的描述,到 中找到滿足此 Intent 要求的 Activity。此外,還可以根據(jù)應(yīng)用的需要,定義自己的動作,并可定義相應(yīng)的活動來處理自定義的動作。而 ALTERNATIVECATEGORY 表示當前的意 圖是一系列的可選動作中的一個,這些動作可以在同一個數(shù)據(jù)上執(zhí)行。通常 Android 會根據(jù)意圖中包含的其它 15 屬性的信息,比如動作、數(shù)據(jù) /數(shù)據(jù)類型、類別進行查找,最終找到一個與之匹配的目標組件。這種語言使系統(tǒng)能夠理解諸如“查看某聯(lián)系人的詳細信息”之類的短語。通過指定具體的組件類,通知應(yīng)用啟動對應(yīng)的組件。 意圖解析機制主要是通過查找己注冊在 濾器及其中定義的意圖,最終找到匹配的意圖。 如果意圖中的數(shù)據(jù)不是 content:類型的 URI,而且意圖也沒有明確指定它的數(shù)據(jù)類型,將根據(jù)意圖中數(shù)據(jù)的格式 (比如 :或者 mailto:)進行匹配。 16 Android 活動的生命周期 Android 平臺是個手機作業(yè)系統(tǒng)。每多執(zhí)行一個應(yīng)用程序,就會多耗費一些系統(tǒng)內(nèi)存,而手機里的內(nèi)存是相當有限的。通常,每一個應(yīng)用程序 (入口一般會是一個活動的 onCreate 方法 ),都會占據(jù)一個進程。 一個活動類別除了 OnCreate 方法之外,還預先定義了 onPause(暫停 )、OnResume(繼續(xù) )等的基本方法,當從一個活動切換到另一個活動的時候,原來的活動將經(jīng)過一連串的狀態(tài)改變。主要有四種狀態(tài) : (l)活動狀態(tài) 活動狀態(tài)是指用戶啟動應(yīng)用程序或活動后,活動運行中的狀態(tài)。當警告對話框或電話來了時,都會讓原來運行的活動退到背景畫面。通過按返回鍵,可以調(diào)出所有處于停止狀態(tài)的應(yīng)用程序列表。如果是被系統(tǒng)回收,可能是因為內(nèi)存不足了,所以系統(tǒng)根據(jù)內(nèi)存不足時的回收規(guī)則,將處于停止狀態(tài)的活動所占用的內(nèi)存回收。相反地,當活動運行到停止狀態(tài)時,這個活動就會從屏幕上消失。 活動的運作流程 由實際運行來看,我們可以歸納出所有 Android 應(yīng)用程序都遵循的運作流程 : (l)一般啟動 啟動一個活動的基本流程為 onCreate 一 onstart 一 onResume。該流程首先凍結(jié)原來的活動,再交出屏幕控制權(quán) 。 ( 4)退出結(jié)束 退出結(jié)束的基本流程為 onPause 一 onStop 一 onDestroy。 當在模擬器上已經(jīng)執(zhí)行過多個應(yīng)用程序,只要按下返回鍵,就會開啟最近一次開啟過的活動。 需求分析 本軟件是 Android 平臺的 一個校園資訊 程序 ,啟動程序后查閱學校相關(guān)資訊包括在學校吃住娛樂風景等各方面的訊息。在“分類”中,有各種學校的相關(guān)資料。 首頁介紹學校的一個總體情況,分類是整個軟件的核心,其中包括了軟件的各種主要功能,搜索是一個數(shù)據(jù)庫搜索系統(tǒng),我的資料是個人資料和數(shù)據(jù)的一個整合和提供了一些簡單的小服務(wù),更多則是后期的一些擴展功能。 為了使源代碼文件的結(jié)構(gòu)更加清晰