【正文】
礎(chǔ)功能上,將為 Android 手機(jī)用戶提供更加標(biāo)準(zhǔn)和完善的用戶體驗(yàn),真正實(shí)現(xiàn)全平臺的零流量。4.存在問題Android手機(jī)采用了進(jìn)程隔離的安全策略來保障手機(jī)的應(yīng)用程序和數(shù)據(jù)安全,即使手機(jī)用戶無意中下載并執(zhí)行了惡意程序,該惡意程序也沒有足夠的權(quán)限替換手機(jī)的程序文件。 Marco Cesati. 深入理解 Linux 內(nèi)核(影印版)[M]. 東南大學(xué)出版社,2006.[7] 趙丹文. 智能終端發(fā)展趨勢概述[J]. 中國傳媒科技,2011, 5.[8] :“安致”移動信息處理的未來[J]. 電子產(chǎn)品界,2010,3:1112.[9] Margaret Butler. Android:Changing the Mobile Landscape[J]. IEEE Pervasive Computing, 2011,10(1):47.[10] ALVAREZE, FERNANDEZA, GARCLAP. New Approach To Chaoticencryption[J]. Physics Letters A,1999,263:373375.[11] 張傳智. 三大手機(jī)管理軟件:強(qiáng)化人性化功能設(shè)計(jì)[EB/OL].[12] 丁飛飛. 阻止谷歌Android跨界擴(kuò)張諾基亞反向發(fā)力“上網(wǎng)本”[J]. IT時(shí)代周刊,2009,7.[13] 周思思.豌豆莢手機(jī)端“零流量模式”全面上線[EB/OL].[14] 劉昌平,王光衛(wèi),鄭秀林,宮亞峰. Android手機(jī)的輕量級訪問控制范明鈺[J]. 計(jì)算機(jī)應(yīng)用研究, 2010,7.[15] GONG Lei,ZHOU Cong. Development and Research of Mobile Termination Application Based on Android[J]. Computer And Modernization.,.畢業(yè)設(shè)計(jì)(論文)譯文及原稿譯文題目 安卓關(guān)鍵概念 原稿題目 Android Key Concept 原稿出處 Introducing Google39。所以,如果你只想閱讀本書中的一章,則非本章莫屬。 Linux內(nèi)核Android構(gòu)建在一個(gè)穩(wěn)定且得到廣泛認(rèn)可的基礎(chǔ)之上:Linux內(nèi)核。從內(nèi)部來看,Android使用Linux完成其內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)和其他操作系統(tǒng)服務(wù)工作。例如,adb shell 命令將打開一個(gè)Linux命令行窗口,從中可以輸入要在設(shè)備上運(yùn)行的其他命令。其中最重要的一些庫包括下面5個(gè)部分。它并不是將顯示內(nèi)容直接繪制到屏幕緩沖區(qū)中,而是將繪制命令傳遞給屏幕外的位圖,然后將該位圖與其他位圖組合起來,形成用戶看到的顯示內(nèi)容。使用Android時(shí),二位和三維元素可結(jié)合到一個(gè)用戶界面中。媒體編解碼器。 SQL數(shù)據(jù)庫。參見第7章中相關(guān)的示例。Dalvik與傳統(tǒng)Java虛擬機(jī)的不同之處體現(xiàn)在下面兩個(gè)重要的方面。 應(yīng)用程序框架位于本機(jī)類庫和運(yùn)行時(shí)上面的是應(yīng)用程序框架層。內(nèi)容提供者。資源是程序中涉及到任何非代碼內(nèi)容。參見第8章。 應(yīng)用程序Android架構(gòu)圖中的最高層是應(yīng)用程序?qū)?。購置Android手機(jī)時(shí),手機(jī)中會預(yù)裝一些標(biāo)準(zhǔn)的系統(tǒng)應(yīng)用程序,包括:Web瀏覽器;現(xiàn)在,讓我們仔細(xì)地了解一下Android應(yīng)用程序生命周期,它與你以前熟悉的概念有所不同。Android不是這樣管理窗口的。以及一個(gè)滾動列表,其中包含用戶可以打開的其他應(yīng)用程序。用戶可隨時(shí)按Back按鈕返回到棧中的上一個(gè)窗口。但是通過onXX()方法調(diào)用改變狀態(tài)時(shí),系統(tǒng)會通知開發(fā)人員。首次啟動活動時(shí)會調(diào)用該方法。onStart()。用戶可以開始與活動進(jìn)行交互時(shí)會調(diào)用該方法。活動將要進(jìn)入后臺時(shí)會運(yùn)行該方法,活動進(jìn)入后臺的原因通常是在前臺啟動了另一個(gè)活動。onStop()。onRestart()。銷毀活動前會調(diào)用該方法。Android調(diào)用該方法的作用是讓活動可以保存每個(gè)實(shí)例的狀態(tài),如光標(biāo)在文本字段中的位置。使用onSaveInstanceState()方法以前保存的狀態(tài)重新初始化某個(gè)活動時(shí)會調(diào)用該方法。在某些情況下,onPause()方法可能是活動者調(diào)用的最后一個(gè)方法,所以才應(yīng)在該方法中保存下次要繼續(xù)使用的任何數(shù)據(jù)。其中最為重要的就是活動、意圖、服務(wù)和內(nèi)容提供者。作為應(yīng)用程序生命周期的一部分,每個(gè)活動都要保存自己的狀態(tài),以便日后還原這些狀態(tài)?;蛘吣阏诰帉懸粋€(gè)新的電子郵件應(yīng)用程序,就可注冊一個(gè)活動來處理該意圖,并用該電子郵件程序替換標(biāo)準(zhǔn)的郵件程序??梢酝ㄟ^某個(gè)活動來播放音樂,但是我們希望即使當(dāng)用戶使用其他程序時(shí),人能繼續(xù)播放音樂。 內(nèi)容提供者內(nèi)容提供者是封裝在自定義API中的一組數(shù)據(jù),可以讀取該數(shù)據(jù)和向API中寫入數(shù)據(jù)。Android Key ConceptsNow that you have an idea of what Android is, let’s take a look at how it works. Some parts of Android may be familiar, such as the Linux kernel,OpenGL, and the SQL database. Others will be pletely foreign,such as Android’s idea of the application life ’ll need a good understanding of these key concepts in order to writewellbehaved Android applications, so if you read only one chapter in this book, read this one. The Big Picture Let’s start by taking a look at the overall system architecture—the key layers and ponents that make up the Android open source software stack. In Figure , on the next page, you can see the “20,000foot”view of Android. Study it closely—there will be a test layer uses the services provided by the layers below it. Starting from the bottom, the following sections highlight the layers provided by Android.Linux KernelAndroid is built on top of a solid and proven foundation: the Linux kernel. Created by Linus Torvalds in 1991, Linux can be found today in everything from wristwatches to superputers. Linux provides the hardware abstraction layer for Android, allowing Android to be ported to a wide variety of platforms in the future. Internally, Android uses Linux for its memory management, process management, networking, and other operating system services. The Android phone user will never see Linux, and your programs will not make Linux calls directly. As a developer, though, you’ll need to be aware it’s there.Some utilities you need during development interact with Linux. For example, the adb shell mand1 will open a Linux shell in which you can enter other mands to run on the device. From there you can examine the Linux file system, view active processes, and so forth, subject to security restrictions.Native LibrariesThe next layer above the kernel contains the Android native shared libraries are all written in C or C++, piled for the particular hardware architecture used by the phone, and preinstalled by the phone vendor.Some of the most important native libraries include the following:? Surface Manager: Android uses a positing window manager similar to Vista or Compiz, but it’s much simpler. Instead of drawing directly to the screen buffer, your drawing mands go into offscreen bitmaps that are then bined with other bitmaps to form the display the user sees. This lets the system create all sorts of interesting effects such as seethrough windows and fancy transitions.? 2D and 3D graphics: Two and threedimensional elements can be bined in a single user interface with Android. The library will use 3D hardware if the device has it or a fast software renderer if it doesn’t. See Chapter 4, Exploring 2D Graphics, on page 73 and Chapter 10, 3D Graphics in OpenGL, on page 198.? Media codecs: Android can play video and record and play backaudio in a variety of formats including AAC, AVC (), , MP3, and MPEG4. See Chapter 5, Multimedia, on page 105 for an example.? SQL database: Android includes the lightweight SQLite database engine,2 the same database used in Firefox and the Apple You can use this for persistent storage in your application. See Chapter 9, Putting SQL to Work, on page 178 for an example.? Browser engine: For the fast display of HTML content, Android uses the WebKit This is the same engine used in the Google Chrome browser, Apple’s Safari browser, the Apple iPhone, and Nokia’s S60 platform. See Chapter 7, The Connected World, on page 130 for an example.These libraries are not applications that stand by themselves. They exist only to be called by higherlevel programs. Starting in Android , you can write and