萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 安卓開發 >> Android助力雲計算介紹

Android助力雲計算介紹

在一個充斥著蹩腳比喻的行業,突然有人跳出來並抓住富有創造力的業務和 IT 人員的想象力,這一點也不奇怪。雲計算 就是這樣一種比喻,而且它已經(請允許我這樣說)席卷了全球。但雲計算到底是指什麼呢?下面我們給大家介紹一下Android助力雲計算吧!

當然,雲是由許多水分子組成的,幾乎有幾億個。雲沒有中央控制,基本上可以隨風吹向各處。從這個角度來說,Internet 中無數個具有各種用途的客戶機和服務器以及驅動其發展的控制實體就像是雲。將這一概念與手機公司帶給我們的無線數據革命結合後,我們似乎就處在一種無形的 “雲” 計算力量中了。

自電子計算機誕生以來,就一直有人對計算機的 4 個主要功能部分進行明確的劃分:

提供人機接口的輸入/輸出(I/O)設備

中央處理單元

易失性隨機訪問存儲器(RAM)

非易失性存儲器

前三個部分將 “計算” 功能植於計算機中。第 4 部分通常存儲有價值的數據資產,這一部分將隨著雲計算的到來而發生翻天覆地的變化。有價值的數據駐留在非易失性存儲器中,以免因為斷電而丟失 — 不管這種斷電是有意還是無意。非易失性存儲設備一般為硬盤,但也可以是安全數字(SD)卡之類的固態設備,甚至可以是磁帶設備(不過現在已經過時了)。但是這些設備都有它們的局限性。

隨著時間的流逝,技術也在不斷進步,出現了計算機網絡,在計算機網絡上,企業中有價值的數據資產都集中在一台由多個終端共享的計算機中,而且定期對這些數據進行備份是一項基本的 IT 職能。這種模型(稱為大型機模型)提供了許多優點 — 其中之一就是它減輕了每個終端位置的工作負載。僅具有一個微型終端(鍵盤、鼠標、顯示器和 PC)的小型辦公室可以訪問 GB 級的企業數據,而無需提供大型機的處理能力 — 只要它們通過電纜連接在一起。

下一個巨大的范式轉變來自於我們所熟知的 Internet,在其中,龐大的計算機系統(本地網絡)可以為位於全世界任何可以使用衛星天線的位置的大量微型終端提供服務。這種配置的無線遠程特點即被稱為雲。

隨後出現了個人數字助理(PDA)、移動電話和智能手機,計算機的微型化已經發展到我們熟知的並非常喜愛的手持形式。一夜之間,智能終端已經成為無數高生產力人員的工具,它們以驚人的速度生成和消費著信息。

在 20 世紀 90 年代中期和末期,電子郵件和萬維網(World Wide Web)是主導雲的最流行應用程序。大多數人都使用 Web 浏覽器與雲進行交互並認識到 Internet 是一種比較簡單的應用。隨著 Yahoo! 和 Google 在商業方面的成功,TB 級服務器和網絡連接取代本地硬盤成為首選的非易失性存儲設備。就像許多具有超前思維的預見者所預言的那樣,雲已經成為了一種像水、電話和電那樣不可缺少的現代實用工具。通過將移動電話數字網絡作為主要的 Internet 服務提供商(Internet Service Provider,ISP),雲已經發展為使用幾百萬個微型手持設備作為顯示服務器數據的主要工具。

就像雲到處移動和隨風變化那樣,這些微型手持設備的操作模式也是如此 — 終端變得越來越小,功能越來越強,可移植性增強了許多,服務器的功能也越加強大,通過軟件虛擬化並根據使用收費,能更好地滿足用戶的數據需求。

公司不再需要維護大型而昂貴的服務器 “集群”,現在有另一種成本更低的方法:通過 Google、Amazon 和 IBM? 之類的供應商實現服務外包。通過虛擬化,以前在定制環境中運行的應用程序現在可以被復制或 “映像化”,從而在供應商服務器的雲中運行。通過恰當地對這些服務計費,公司就不需要在服務空閒期間支付高額費用。

在硬件技術不斷進步的同時,軟件技術也在不斷發展,並且我們看到出現了很多新的應用程序。例如,基於位置的服務可確定接近手機訊號接收塔的企業、內置全球定位系統(GPS)可以確定您的位置。出現了下載和測試有用程序和數據文件的新市場,比如用於購買和下載音樂的 Android Market 和 Amazon MP3 Market。毫無疑問,這些獨特的新的雲計算應用程序將進一步發展 — 例如,公司可以分類和選擇區域聯系人信息,然後在區域銷售人員休息時自動將當天的促銷電話列表發送到他們的基於 Android 的手機中。

雲計算將可移植設備與強大的服務器互為補充,它需要一個能夠讓服務器架構師和程序員最大程度利用小型客戶機機器的操作系統。Android 就是這樣一種操作系統。

Android 架構

首先,Android 是一個用於移動設備的軟件堆棧。這意味著優先級最高的事是保持電池電量和有效地管理有限的內存資源。Android 系統堆棧有 5 個不同的層:

Acorn RISC Machine(ARM)Linux 內核構成了所有其他層所依賴的堅實基礎。Linux 被證明是一種高可靠性的技術,而 ARM 處理器以能在非常低的電源需求下發揮高性能而著稱。

庫提供可重用的和可共享的低級代碼,用於基本函數,如 codecs(用於編碼和解碼數字音頻與視頻的軟件),以及用於在小的顯示器上表示豐富圖形的函數、支持在雲中加密 TCP/IP 流量的安全 shell,以及支持 Web 浏覽(WebKit)的組件、SQL 數據庫功能(SQLite)和可以在 Linux 系統中使用的標准 C 庫功能。

Dalvik 運行時字節碼解釋程序非常類似於 Java? 語言的字節碼解釋程序,它添加了幾個獨特的特性,使用獨特的方式定義了 Android 的安全和電力保持模型。例如,當前運行的每個應用程序都運行自己的用戶 ID 和解釋程序副本以嚴格區分進程,從而實現安全性和可靠性。

Android 應用程序框架允許您使用和替換您認為適合的組件。這些高級 Java 類與定義 Android API 的組件緊密集成在一起。

Android 核心應用程序包括 WebKit 浏覽器、Google 日歷、Gmail、Maps 應用程序、SMS messenger 和一個標准的電子郵件客戶機等等。Android 應用程序是用 Java 編程語言編寫的,您可以隨時從 Android 市場下載更多的 Android 應用程序。

每個 Android 應用程序可以被進一步劃分為不同的功能單元:

活動(Activities)

目的(Intents)

服務(Services)

安全模型(Security model)

活動

活動 是 Android 應用程序的一個組件,它擴展 Activity 基類並定義一個由響應事件 的 視圖(View)組成的接口。如果一個應用程序由 3 個窗口(例如,一個登錄窗口、一個文本查看窗口和一個文件查看窗口)組成,那麼每一個窗口通常用一個不同的 Activity 類來表示。

Android 維護每個從主頁中運行的應用程序的歷史堆棧,您可以單擊 Back 按鈕回滾這些活動的歷史。

目的

目的 與活動一樣,是應用程序代碼中的一個特殊類,定義應用程序要做的事情。目的添加了一個間接層來支持復雜組件的重用和替換。例如,某個應用程序可能提供了一個標簽為 Clients 的按鈕,單擊該按鈕時,會顯示一個聯系人列表,上面都是您的客戶。然後就要使用間接層了:您不需要對這些聯系人使用默認查看器;相反,可以使用一種不同的查看器。

對某些應用程序而言,這可能是一個非常強大的應用程序集成功能。對於特殊的顯示,使用地形圖或許要比使用默認地圖的效果更好。

諸如 BroadcastReceiver 這樣的類定義的代碼將在外部事件觸發它們時執行。定時器鳴叫或手機來電等事件可以以這種方式進行監視。通常,這類代碼不顯示窗口,但可以使用 NotificationManager 類來提醒用戶需要注意某事。

服務

服務 是在較低級別運行的一個應用程序,沒有顯示,也沒有 UI。它通常是一個會在幕後運行很長時間的應用程序。一個很好的例子就是播放歌曲列表的媒體播放器程序。盡管媒體播放應用程序會顯示一個 UI 來允許用戶定義他們的播放列表,但是程序實際上是讓服務來控制給定播放列表中的歌曲播放。

安全模型

Android 的安全模型只允許程序有自己的數據。如果程序員想在幾個不同程序之間共享數據,他們可以為此定義內容提供者。

android.provider 包定義一些允許應用程序讀取大量內置 Android 數據庫的類和接口。聯系人、照片和歌曲等信息可以通過這些接口在不同應用程序之間輕松共享。

永遠不要低估開放源代碼的強大威力,就像不能低估自由的、有創造性的人們的能力一樣。Android 平台不受專用 API 和經常影響軟件工程進度的公司利益的束縛,它擁有一個非常活躍的大型開發人員社區,將許多人的才能結合起來確實實現了一加一大於二的效果。想拓展您的編程職業生涯嗎?那就學習 Android 平台編程吧,而且某一天,您將擁有包含幾百萬名移動電話用戶的潛在市場 — 其中一些人可能需要使用您的程序。

Android 的核心是 ARM Linux。單憑這一點就可以對此平台的迅速發展抱有極大信心。Linux 是一?快速且安全的操作系統,有成千上萬名的程序員對它都很熟悉。許多基於 Linux 的系統被連接到雲中並服務請求,它們可以正常運行好多年 — 這充分證明了 linux 的可靠性。  簡介: 開源的 Android 操作系統已經席卷全球,它允許您在任何位置運行復雜的雲計算應用程序。它設計用於在電池供電設備(如 T-Mobile G1 智能電話)上高效工作,Android 本質上就是 Linux?,Android 編程模型有多個層,允許創建為雲計算量身定做的安全應用程序。使用 Android 達到新的高度並體驗前所未有的移動計算吧。

開發環境:Eclipse、Windows、Linux

考慮 Android 開發環境時,程序員們有多種選擇。他們可以使用 Microsoft? Windows? XP 或 Windows Vista?、Macintosh OS X(V10.4.8 或更高版本,僅 x86)、Desktop Linux(首選 Ubuntu)。這些常用的操作系統都有可下載的軟件開發工具包(SDK)。

您可以使用 Eclipse 或 Sun Microsystems 的 NetBeans 之類的 GUI IDE,也可以使用命令行方法和標准編輯器,您可以任意選擇。

Android 社區鼓勵

copyright © 萬盛學電腦網 all rights reserved