計算機套用技術專業畢業設計:Android手機播放器

(6)ssl:(securesocketsuyer),中文名為“安全套接層協定層”,它是網景公司提出的基於web套用的安全協定,當前版本為3.0。ssl協定指定了一種在應用程式協定(如http、telenet、nmtp和ftp等)和tcp/ip協定之間提供數據安全性分層的機制,它為tcp/ip連線提供數據加密、伺服器認證、訊息完整性以及可選的客戶機認證。它已被廣泛地用於web瀏覽器與伺服器之間的身份認證和加密數據傳輸。ssl協定位於tcp膽協定與各種套用層協定之間,為數據通訊提供安全支持。ssl協定可分為兩層:ssl記錄協定(ssl record proto col):它建立在可靠的傳輸協定(如tcp)之上,為高層協定提供數據封裝、壓縮、加密等基本功能的支持。ssl握手協定(ssl hand shake proto col):它建立在ssl記錄協定之上,用於在實際的數據傳輸開始前,通訊雙方進行身份認證、協商加密算法、交換加密密鑰等。ssl協定提供的服務主要有:①認證用戶和伺服器,確保數據傳送到正確的客戶機和伺服器;②加密數據以防止數據中途被竊取;③維護數據的完整性,確保數據在傳輸過程中不被改變。

(7)sqlite:sqlite是一套開放性的關聯式資料庫,能夠被所有應用程式使用的輕量級的關係資料庫引擎。

(8)web kit:是一個先進的網頁瀏覽器引擎,被用來構建android瀏覽器和內嵌的web視圖,也可以讓開發者利用這個引擎來做不同的套用。

(9)lib c:就是一個bsd標準c類庫。但是,針對linux嵌入式裝置進行過最佳化的調整。

2.2.3 android運行時組件

雖然android是用java語言來開發、撰寫應用程式,但卻不使用java運行時組件來執行java程式,而是使用了由google自行研發的android運行時組件來執行程式。android運行時組件包括兩個重要的部分,一個是核心類庫,另一個是dalvik虛擬機。

2.3android套用的構成和工作機制

對於一個android應用程式來說,是由activity、intentreceiver、service、content provider四部分組成,但並不是每一個android應用程式都必須由這四部分組成。在應用程式中使用時,需要在配置檔案androidmanifest.xml中進行配置。這個配置檔案是每個android應用程式所必需的,用於定義應用程式的組件、組件的功能以及必要條件等。android套用的構成和工作流程如圖2-2:

圖2-2  android的構成和工作流程

3、android應用程式結構剖析

3.1 android的api

android api主要包含了以下幾個部分:

(1)androidmanifest.xml

androidmanifest.xml是系統的控制檔案,它告訴系統如何處理所創建的所有套用組件(尤其是活動(activity),服務(service),意圖接收器(intent receiver)和內容提供者(content provider))。舉例來說,控制檔案就是把活動和要接收的意圖(intents)連線在一起的“膠水”。

(2)活動

活動就是一個有生命周期的對象。一個活動就是完成某些工作的代碼塊,這部分工作還可能包括對用戶ui界面的顯示。不過這不是必須的,有些活動從不顯示ui界面。

(3)視圖

視圖可以將其自身繪製到螢幕上。android的用戶界面由一系列的視圖樹構成。接口都是由一組以樹的形式出現的視圖組成的。開發者可以通過創建一個新的視圖的方法來使用自定義的圖形處理技術(比如開發遊戲,或者是使用了不常用的用戶圖形視窗界面)。

(4)意圖

意圖是一個簡單的訊息對象,它表示程式想做某事的“意圖”。比如應用程式想要顯示一個網頁,那么它可以通過創建一個intent實例並將其傳遞給系統來表示意圖瀏覽這個uri。系統將定位到能處理這一intent的代碼(在當前情況下就是瀏覽器),並運行之。意圖也可以用於廣播系統範圍內的有效事件(例如通知事件)。

(5)服務

服務是運行在後台的一段代碼。它可以運行在它自己的進程,也可以運行在其他應用程式的進程里,這取決於自身的需要.。其它的組件可以綁定到一個服務上來,通過遠程過程調用(rpc)來調用這個方法。例如媒體播放器的服務,當用戶退出媒體選擇的界面時,仍然希望音樂依然可以繼續播放,這時就可用服務來保證當用戶界面關閉時音樂還繼續播放著。

(6)通知

通知將以小圖示的形式呈現在狀態欄里,用戶通過與圖示的互動來接收訊息。最常見的通知包括簡訊息、通話記錄和語音郵件,但是應用程式也可以創建它們自己的通知事件。

(7)內容提供者

內容提供者是用來提供對設備上數據進行訪問。典型的例子就是使用內容提供者來訪問聯繫人列表。應用程式也可以使用其它程式通過內容提供者提供的數據,同時也可以定義自己的內容提供者來向其它套用提供數據訪問服務。