Android Studio 專案主要可分為三大類 :

  • manifests:Android APP「整體資訊」的主要設定檔

  • java: Java 原始程式都放在這

  • res:專案所需資源檔 ( 非程式碼 )

  • Gradle Scripts 

 


manifests

manifests 目錄內有一個預設名稱為 AndroidManifest.xml 的檔案,紀錄 APP 的重要資訊。

其中package 為應用程式的完整套件名稱(此名稱也會成為該應用程式的 Application ID),因此再上架至google play時,不可與以上家之APP重複。因此一般預設會將 Company Domain反向來撰寫,以避免與其他APP衝突。

一個APP僅會有一個application標籤,其中android的四大元件之使用均需於此設定方能使用,否則調用時會出現錯誤導致APP崩潰。

四大元件包含Activity(活動)、Service(服務)、BroadcastReceiver(廣播接收者)與Content Provider(內容提供者)

 


Java

子目錄名稱,即是建立專案時由 Company Domain 反向後,在與 Application name 組成的 Package name,若採預設時將有一個預設的 Activity 元件 (MainActivity.java)。

其詳細開發時的函數呼叫與相關處理方式可以參考android activity lifecycle

 

 


res

res為 resource 的縮寫,專案所需的 UI 相關檔案,即非程式的資源,如 layout、圖片與文字。

drawable 目錄 : 圖像檔案資源,例如 png、jpg……圖形檔案

layout 目錄 : 使用者介面配置之說明檔

values 目錄 : 使用者介面需用之常數資料。

 

一般而言values內預設string.xml,其餘可以造需求自行新增亦或是自行定義。內容資料均採用xml方式進行定義。

 


Gradle Scripts

Gradle Scripts 為「專案自動化建構工具」。其應用不僅在 Java 領域,亦可和其他語言之開發環境搭配使用。

該目錄儲存與 Gradle 建置系統相關的設定檔,Gradle 是 Android Studio 採用的全新 APP 建置系統。每一個 APP 可以有多個模組(Module),例如一個音樂播放 APP,可以包含行動電話、平板電腦、穿戴式三個模組,每一個模組都可以被建置成一個獨立的 APP。這些重要的資訊儲存在 build.gradle 檔案內。

 

apply plugin: 'com.android.application'

android {
    // 應用程式模組編譯的版本(Android API Level)
    compileSdkVersion 24
    // Android 建置工具的版本編號
    buildToolsVersion "24.0.2"
    defaultConfig {
        // applicationId 應用程式模組的主套件名稱;就是 app/manifests/AndroidManifest.xml 檔案定義的 package 名稱
        applicationId "com.developer.lungyu.myapplication"
        // 代表要執行此應用程式最低需要的 API 層級(Level)。API 15 相當於 Android 4.0.3
        minSdkVersion 19
        // 主要版本
        targetSdkVersion 24
        // 自定的應用程式模組版本編號(控管的版本號碼,必須為整數值),上架之APP欲更新APK時,此編號值須大於上一版本之編號。
        versionCode 1
        // 自定的應用程式模組版本名稱(對外發佈的版本名稱,值為字串)
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

// 設定此應用程式會使用到的函式庫,編譯時Android studio 會載入相關函數資源,有時會使用到網路資源(需即時下載)
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    testCompile 'junit:junit:4.12'
}

 

arrow
arrow
    文章標籤
    Android
    全站熱搜

    Lung-Yu,Tsai 發表在 痞客邦 留言(0) 人氣()