Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android項目結構(翻譯)

Android項目結構(翻譯)

編輯:關於Android編程

原文鏈接

項目概述

一個Android Studio的項目包含了一個應用的所有資源,包括源碼、依賴資源、測試代碼、build的配置等。創建一個新的項目,Android Studio創建了所有必要的文件並顯示在左邊的”Project”窗口裡(點擊View>Tool Windows>Project)。下面介紹了項目的核心組件。

Modules

一個module是一個源文件和build的配置的集合,可以讓你將項目分割成不同的功能模塊。一個項目可以有一個或多個module,一個module可以依賴另一個module。每個module可以獨立的build,測試,調試。

另外,module經常被用作項目的代碼庫,或者是不同設備如手機、手表等對應的不同的代碼集合。需要注意的是要保證所有的的module在同一個項目下,且除了主module,其它module要被依賴且用到依賴裡的代碼或資源。

你可以點擊File>New>New Module,在項目中添加一個新的module。

Android Studio提供了一些不同的module類型:

Android app module

為應用的源碼、資源文件和app的設置層級例如:module-level的build文件、Android Manifest文件等提供一個容器。創建一個新的項目,默認的module名字是”app”。

在”Create New Module”窗口,Android Studio提供了下面的app module類型:

Phone & Table Module 手機、pad module Android Wear Module 手表module Android TV Module 電視module Glass Module 眼鏡module
上面的每一種都提供一些適合對應的應用或設備類型的基本的文件和代碼模板。

添加module的更多信息,閱讀 vciBhIE5ldyBEZXZpY2U=">Add a Module for a New Device

Library module

提供了一個可以復用的代碼容器,可以作為其它項目的依賴或者從其它的項目中導入。”library module”和一個”app module”結構上相同,但當在build時,它創建的是代碼歸檔文件而不是一個apk,所以不能被安裝在設備上。

在”Create New Module”窗口,Android Studio提供了下面的library module:

Android Library:該類型包含一個Android項目支持的所有文件類型,包括源碼、資源文件、清單文件等。Build的結果是一個歸檔文件(Android Archive file AAR),可以作為app module的依賴。 Java Library:該類型只包含java源文件。Build的結果是一個java歸檔文件(Java Archive file JAR),可以作為Android app module或java項目的依賴。
Google Cloud module

這種module提供一個谷歌雲端後台代碼庫。它為簡單使用HTTP的Java應用引擎、雲端點和雲信息提供了必要的代碼和依賴來連接你的應用。你可以在後台開發來提供你的應用需要的雲服務。

用Android Studio來創建開發Google Cloud module可以讓你管理同一個項目的後台和應用的代碼。你也可以在本地運行和測試後台代碼。

查看添加Google Cloud module的更多信息 Adding an App Engine Java Servlet Module。查看更多的運行開發Google Cloud module查看Running, Testing, and Deploying the Backend。

一些人把module作為子項目是可以的,因為Gradle也可以把module引用為工程。例如,當創建一個library module並把它作為app module的依賴時,你必須的build文件裡聲明:

dependencies {
  compile project(':my-library-module')
}

Android顯示類型

默認Android Studio顯示項目文件以”Android”類型顯示方式展示。它不會影響硬盤上實際的文件層級,但以module和文件類型的形式來簡潔明了展示項目的核心文件,隱藏不常用的文件和文件夾。和物理實際的文件結構相比有下面一些變化:
ProjectStructure

顯示所有的工程的build-related的配置文件在一個頂層的Gradle Script組。 將每個module的manifest文件展示在模塊分組(不同的產品build類型有不同的清單文件)。 將所有可選擇性的資源文件放在一個單獨的分組,替換掉分類文件夾的修飾符。例如,所有不同像素的應用icon可以並排顯示。

每個Android的app module,文件按下面的分組顯示:

manifests

包含AndroidManifest文件。

java

包含java的源碼文件,按不同的包名劃分,包好JUnit測試代碼。

res

包含所有的非代碼資源,如xml layout,界面的strings,bitmap圖片,按對應的子文件夾劃分。更多的資源類型信息,查看Providing Resources。

Android的Project類型視圖

查看項目的真實文件結構的所有文件,包括Android視圖下隱藏的文件,選擇在頂層的Project下拉框中選擇Project類型。
ProjectView2

當你選擇了Project視圖,就可以看到更多的文件和文件夾。其中最終要的如下:

module-name/
    build/ 包含build的輸出文件
    libs/ 包含私有的庫
    src/ 包含所有的代碼和相應模塊下子文件下的所有資源文件
        androidTest/包含運行在Android設備上的測試代碼。
        main/ 包含主要的代碼集合:有Android代碼和各種build變形共享的資源(其它build的變體文件在統計的目錄下,比如src/debug/是調試build類型)
            AndroidManifest.xml 描述應用的特性和它的組件。
            java/ 包含Java代碼。
            jni/ 包含用Java Native Interface(JNI)生成的原生代碼。
            gen/ 包含Android Studio生成的Java文件,例如R.java文件和根據AIDL文件創建的接口等。
            res/ 包含應用的資源,比如drawable文件,layout文件,界面的string。
            assets/ 包含要被編譯在.apk文件的資源文件。你可以用URI和通過AssetManager讀取字節流文件的形式來使用這個文件夾下的資源。比如像游戲的數據、texture可以放在改目錄下。
        test/ 包含運行在JVM上的本地測試代碼。
    build.gradle(module) 定義了特定的module的build配置。
build.gradle(project) 定義了所有module的build的配置。這個文件是項目不可缺少的,所以應該保持該配置與所有源碼的一致。

Project Structure Settings

改變Android Studio項目的各種設置,可以點擊File>Project Structure。它包含了下面的部分:

SDK Location: 設置項目的JDK, Android SDK, Android NDK的位置。 Project: 設置Gradle、Android plugin for Gradle的版本,庫的名字。 Developer Services:包含從谷歌和其他第三方添加Android Studio add-in組件的設置。 Modules: 允許你編輯特定module的配置,包括目標、最小版本的SDK,應用的簽名,依賴庫等。
Developer Services

這部分包含應用使用的一些服務的配置頁。包含下面一些部分:

AdMob:允許你打開谷歌的AdMob組件,幫助你了解用戶並展示定性的廣告。 Analytics:允許你打開谷歌的Analytics,幫助你觀測應用在不同的設備環境上的用戶交互情況。 Authentication:允許你使用谷歌賬號登錄應用。 Cloud:允許你為應用打開Firebase雲基礎服務。 Notifications:允許你使用谷歌雲信息來實現應用與服務的交互。

應用中打開上面任一項服務會是Android Studio添加必要的依賴和權限。如果你想啟動哪項服務,每個配置頁面列出了這些和其它的Android Studio的行為配置。

Modules

可以在該部分改變項目中每個module的配置。每個module的設置頁面包含下面的分類:

Properties:指定編譯該module的SDK和build tools的版本。 Signing:指定應用的簽名證書 Flavors: 創建多個build的偏好,每個偏好指定了一些列的配置設置,比如module的最小和目標SDK的版本、版本的名字、版本號。比如:可以設置偏好為minimun SDK=15,target SDK=21;另一個偏好設置為minimum SDK=19, target SDK=23。 Build Type:可以創建和修改build的配置。默認的每個module有debug和release的build類型,但你可以定義更多需要的。 Dependencies:列出該模塊依賴的類庫,文件和模塊。你可以在改部分添加,修改、刪除依賴。
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved