Android菜鳥必看:解析應用的基本原理

來源:互聯網
上載者:User

應用基礎-Application Fundamentals

Android應用程式以java作為開發語言。用Android SDK 提供的工具,可以將應用程式所需要的資料和資源檔打包到一個android包檔案中,這個檔案用.apk作為副檔名。所有代碼都在單個.apk檔案中,當成一個應用,這個檔案就是通常安裝在Android裝置中的應用.

一旦安裝到了一個裝置,每個應用生存在它自己的安全沙箱中。

  • 一個Android系統是一個多使用者的Linux系統,其中的每個應用都是一個不同的使用者。
  • 預設情況下,系統給每個應用程式指派一個獨立的Linux使用者ID(這個ID只由系統使用並且對應用來說是不可知的),系統給在某個應用中的所有檔案設定了許可權,所以只有分配了那個使用者ID的應用才能訪問它們
  • 每個進程擁有它自己的虛擬機器,所以一個應用代碼的運行,與其他應用代碼的運行是隔離的.
  • 預設情況下,每個應用程式均運行於它自己的Linux進程中。當應用程式中的任意代碼開始執行時,Android啟動一個進程,而當不再需要此進程而其它應用程式又需要系統資源時,則關閉這個進程。

通過這種方法,Android系統實現了最小特權原則。預設,每個應用僅僅訪問需要工作的組件,並不多做其他的事。這樣建立了一個非常安全的環境,應用不能訪問系統沒有授權的其他部分.

然而,應用可以有多種方法來與其他應用,共用資料及訪問系統服務:

  • 有可能安排兩個應用共用一個linux使用者ID,在那種情況下,它們能互相訪問相互的資料。為了節約系統資源,擁有相同使用者ID的應用,可能也被安排運行在同一個Linux進程中並共用相同的VM(應用必須被簽名成同樣的認證)。
  • 所有應用能請求允許訪問硬體資料,比如像使用者通訊錄,SMS訊息及可掛載的存放裝置(SD card),網路攝影機,藍芽等,所有應用的許可權必須在使用者安裝時被許可。

上述了一個應用怎樣存在於一個系統中的相關基本概念,這個文檔的其他部分將向你介紹如下 內容:

  • 定義在你的應用中核心架構組件
  • 在manifest中,給你的應用,聲明組件及裝置特點請求
  • 獨立於應用代碼的資源,可以讓你的應用極大的最佳化它在各種配置裝置的表現
應用組件-Application Components

應用組件是構建Android應用程式的關鍵和基石。 每個組件是一個不同的入點,系統可以從這些點進入到你的應用。對於使用者來說,並不是每個組件都是實際的入點,但它們之間有一些依賴.但是每一個存在的組件都有它自己的一個入點,並扮演一個特定的角色--每一個都是獨一無二的構建塊,協助你定義你的應用的整體行為.

有四個不同類型的應用組件,每個類型服務於一個不同的目的,並有不同的生命週期,生命週期定義了如何建立和銷毀它.

下面是四種應用組件:

Activities活動
  • 一個activity在一個螢幕,顯示一個使用者介面.比如,一個email應用可能有一個activity,這個activity用於顯示新的email列表.而另一個activity用於寫郵件,還有一個activity用於讀取郵件.雖然這些activities一起工作於email應用中,形成一個完整的使用者體驗但每一個部分又是相互獨立的.正因如此,不同的應用才能啟動這些活動的任意一個(如個email應用允許它).比如,一個照相的應用,能開啟一個email應用中寫封新郵件的活動,讓使用者分享一張照片.
  • 一個activity被當作Activity的子類來實現的,在Activities開發指南中,你可以學到

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.