Android分爲四個層,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和Linux內核層。java
Android 包含一些C/C++庫,這些庫能被Android系統中不一樣的組件使用。它們經過 Android 應用程序框架爲開發者提供服務。如下是一些核心庫:linux
Android開發四大組件分別是:android
新建了一個Android的項目,其文件結構以下web
與往常看慣的VS解決方案管理器看到的不一樣,VS裏面的視圖文件和後臺代碼文件以樹狀結構顯示呈現其從屬關係。不管是其餘類仍是視圖類的均可以任意放置,項目裏面有幾個固有的特殊文件夾(引用,資源等)。但在Java的項目中,視圖文件與後臺代碼文件放置的位置比較離散。數據庫
這個文件夾放的都是各個類的代碼,包括了界面的後臺代碼。瀏覽器
這個文件夾放的最重要的一個文件就是R.java。這個文件存放着全部界面控件的id值,圖片資源值,視圖文件等等一系列資源。app
這裏存放的是項目中引用的包,這個估計就相似於引用文件夾,裏面放的是dll文件。框架
res感受就像一個資源文件夾,不過裏面又有視圖文件存在的話,又不太像,可是轉一個方式去思考,視圖的配置獲取也算是一種資源。Res文件夾下面還有各類類型的子文件夾ide
項目中還有一個至關重要的文件AndroidManifest.xml,這個文件包含了activity(行爲)、view(視圖)、service(服務)之類的信息。但現時能看到的信息只侷限在application節點中。Application的屬性定義了整個項目的主題,程序名,圖標等。它是子節點activity則是程序中所運用到的視圖,android:name屬性存放着視圖的類的徹底限定名。帶有一會兒節點的activity節點只能有一個函數
1 <intent-filter> 2 <action android:name="android.intent.action.MAIN" /> 3 4 <category android:name="android.intent.category.LAUNCHER" /> 5 </intent-filter>
它所在的activity代表它就是應用程序最開始進入的頁面。
在Android中感受視圖文件與後臺代碼文件是不一樣級別的,在.NET中感受視圖文件和後臺代碼文件是同等重要的,視圖文件既須要代碼文件,代碼文件也須要視圖文件。但在Android中感受並不是這樣,代碼文件纔是主要的。它在onCreate的時候調用了setContentView方法。才決定這個頁面會真正的用那個佈局呈現出來,感受就比較鬆散。因此視圖文件放到資源文件夾res裏面也是有道理的。
學習Android,學習Java我本身以爲挺意外的,貌似是生活所逼,不過內心面的仍是.NET,仍是C#。