編輯:關於Android編程
原文鏈接
一個Android Studio的項目包含了一個應用的所有資源,包括源碼、依賴資源、測試代碼、build的配置等。創建一個新的項目,Android Studio創建了所有必要的文件並顯示在左邊的”Project”窗口裡(點擊View>Tool Windows>Project)。下面介紹了項目的核心組件。
一個module是一個源文件和build的配置的集合,可以讓你將項目分割成不同的功能模塊。一個項目可以有一個或多個module,一個module可以依賴另一個module。每個module可以獨立的build,測試,調試。
另外,module經常被用作項目的代碼庫,或者是不同設備如手機、手表等對應的不同的代碼集合。需要注意的是要保證所有的的module在同一個項目下,且除了主module,其它module要被依賴且用到依賴裡的代碼或資源。
你可以點擊File>New>New Module,在項目中添加一個新的module。
Android Studio提供了一些不同的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”和一個”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項目的依賴。這種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 Studio顯示項目文件以”Android”類型顯示方式展示。它不會影響硬盤上實際的文件層級,但以module和文件類型的形式來簡潔明了展示項目的核心文件,隱藏不常用的文件和文件夾。和物理實際的文件結構相比有下面一些變化:
每個Android的app module,文件按下面的分組顯示:
包含AndroidManifest文件。
包含java的源碼文件,按不同的包名劃分,包好JUnit測試代碼。
包含所有的非代碼資源,如xml layout,界面的strings,bitmap圖片,按對應的子文件夾劃分。更多的資源類型信息,查看Providing Resources。
查看項目的真實文件結構的所有文件,包括Android視圖下隱藏的文件,選擇在頂層的Project下拉框中選擇Project類型。
當你選擇了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的配置。這個文件是項目不可缺少的,所以應該保持該配置與所有源碼的一致。
改變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,應用的簽名,依賴庫等。這部分包含應用使用的一些服務的配置頁。包含下面一些部分:
AdMob:允許你打開谷歌的AdMob組件,幫助你了解用戶並展示定性的廣告。 Analytics:允許你打開谷歌的Analytics,幫助你觀測應用在不同的設備環境上的用戶交互情況。 Authentication:允許你使用谷歌賬號登錄應用。 Cloud:允許你為應用打開Firebase雲基礎服務。 Notifications:允許你使用谷歌雲信息來實現應用與服務的交互。應用中打開上面任一項服務會是Android Studio添加必要的依賴和權限。如果你想啟動哪項服務,每個配置頁面列出了這些和其它的Android Studio的行為配置。
可以在該部分改變項目中每個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:列出該模塊依賴的類庫,文件和模塊。你可以在改部分添加,修改、刪除依賴。有時候,我們的實體類中會有一些屬性,但是數據庫中沒有對應的類型,這個時候我們就需要自定義轉換器進行類型轉換。很常見的處理就是Date類型一般如果精度要求不高的話我們會轉換
目標 實現 控制 小飛機 左右移動 躲避子彈 打boss.本節 實現 開始菜單界面1 首先 資源文件拷過來2, 劃分游戲狀態 public static final
在android應用開發過程中,固定的一些控件和屬性可能滿足不了開發的需求,所以在一些特殊情況下,我們需要自定義控件與屬性。 一、實現步驟 1. 繼承
(一)概述Android 3.0後引入的一個UI控件——ViewPager(視圖滑動切換工具),實在想不到 如何來稱呼這個控件,他的大概功能:通過