標籤:
一個Android項目包含了這個App裡面的所有原始碼。
這篇文章展示了怎麼通過AndroidStudio或者SDKTool裡面的命令列,來建立一個全新的項目。
Note: 你應該已經安裝了AndroidStudio或者AndroidSDK,沒有的話去上一篇文章裡看吧.
使用Android Studio建立項目
1.使用Android Studio建立新項目:
-
- 如果沒有已經開啟的項目,那麼在歡迎介面,點擊Start a new Android Studio project.
-
- 如果已經有項目開啟了,那麼File菜單點擊New Project.
2.在Configure your new project介面, 照圖中填入相應內容,點擊Next.
幾個欄位如下:
-
- Application Name 是展現給使用者的App的名字. 如的"My Application"
- Company domain 這裡的公司名稱,相當於一個限定符,會加到包名裡面去; Android Studio 會把上次建立新項目的時候填入的這個公司名稱記錄下來.
- Package name 項目的唯一名稱,即所謂的包名 (需要遵循Java語言的包命名規範). 在Android系統裡所有已經安裝了的App裡面,你的這個包名必須是唯一的. 當然你可以手動點擊 Edit 來修改預設產生的這個包名.
- Project location 工程所在目錄位置.
3.Select the form factors your app will run on介面, 選中Phone and Tablet.
4.Minimum SDK, 選擇API 10: Android 2.3.3 (Gingerbread).
Minimum SDK就是指你的app最低支援到哪個Android系統版本,同時表示你能在coding時能使用的API level. 為了支援更多的裝置,你應該根據你的app的核心功能選擇儘可能低的系統版本. 如果app裡面有任何只能運行於高版本系統的但卻不是核心的功能,你可以選擇做一些版本適配,只有運行於高版本時,才啟用這些新功能。可以參考 (相容不同的系統版本).
5.保留剩下的所有選項 (TV, Wear, and Glass) 未選中狀態,然後點擊 Next.
6.在Add an activity to mobile介面, 選擇 Blank Activity 點擊 Next.(這裡可以根據項目需求,選擇合適的activity模版)
7.在 Customize the Activity 介面, Activity 名為 MainActivity. Layout Name 名為 activity_main, Title 名為 MainActivity. Menu Resource Name 菜單是 menu_main.
Activities
Activity是Android架構的四大組件之一。Activity提供給使用者來訪問你的應用程式,而且一個app裡面可能會有很多個Activity。應用程式通常會有一個主要的Activity來給使用者啟動應用程式,當使用者選擇介面上的某一些內容時,例如,當她和其他活動執行其他任務中的應用。有關更多資訊,請參見 Activities。
8.點擊Finish按鈕,開始建立app.
此時你的“HelloWorld”app已經建立完成,其中包含了一些預設檔案。請熟悉一下比較重要的一些東西:
app/src/main/res/layout/activity_main.xml
在你通過AndroidStudio建立項目的時候,會自動產生一個對應於Activity的布局檔案。在最新的開發工具中, Android Studio提供了兩種編輯模式,一種是傳統的代碼編輯模式,另一種是可視化的布局編輯模式. 這個布局檔案裡面,包含了一些預設的設定,添加了一個 TextView 元素,上面顯示了一句話, "Hello world!"
app/src/main/java/com.netease.myapplication/MainActivity.java
在你通過AndroidStudio建立新項目這個工作流程完成後,對應於這個檔案的一個tab會出現在編輯視窗。當你選擇這個檔案的時候,你就能看到在這個檔案裡面建立了對應這個Activity的類,class。最後,當你編譯運行這個app的時候,這個Activity類運行起來了,並且在螢幕上顯示出了"Hello world!"
app/src/main/AndroidManifest.xml
manifest file,中文字面意思是清單,這個檔案裡面描述了應用程式的基本特徵,並且定義它的每一個組件(參考Android四大組件)。 在後面的教程裡,你會不停的回顧這個檔案,並且往裡面添加我們需要添加的各種組件。
app/build.gradle
Android Studio使用Gradle來編譯產生我們的app。對應於項目裡面的每一個模組,都有一個build.gradle,當然同時也有一個build.gradle檔案對應於完整的一個工程。通常,你只需要關注app和application模組的build.gradle檔案。這就是我們的app編譯、依賴關係所在的地方了,那麼這個設定檔裡面,還包含了defaultConfig這樣的設定:
-
compiledSdkVersion 這個值表示你的這個app使用哪個版本的sdk編譯。預設情況下,我們一般採用最新版的sdk,比如這裡我們採用22。(Google官方會推薦4.1以上,這樣適配率更高;如果沒有安裝的話,使用SDK Manager去安裝一個)。你可以選擇開發的app支援到2.3.3或者4.0.3等較老的版本(通過後面的minSdkVersion控制),但是這個設定希望採用最新的版本號碼,這樣可以在一些最新的裝置上得到最友好的體驗,甚至代碼在不同的系統版本上可以運行不同的效果。
applicationId 就是你在建立工程時定義過的完整的app包名。
minSdkVersion 這個值就是上文提到的app支援的最低系統版本。一般也是在建立項目的時候就設定好了。
targetSdkVersion 表明了開發人員測試過的最高的系統版本。隨著Android更新版本的發布,你應該及時的在最新的系統版本上面測試你的app,並且更新這個值以匹配最新的API層級。 更多資訊可以參考 支援多平台版本的開發.
如果想瞭解更多關於使用Gradle來編譯app的知識,請參考這裡Building Your Project with Gradle。
學習到這裡,你可能還發現在項目目錄下面有這麼一個檔案夾 /res,這個檔案夾裡面就是我們app工程所包含的所有資源:
-
drawable<density>/
-
這個目錄存放的是drawable對象(如位元影像,selector等),同時,這些資源需要對應不同的螢幕解析度來設計,比如medium-density (mdpi,中解析度,320x480),high-density (hdpi,高解析度,480x800)。
-
layout/
-
這個目錄存放的是app裡面每一個介面所包含的布局檔案。比如上文中MainActivity中的布局檔案activity_main.xml。
-
menu/
-
這裡定義了app裡面需要用到的所有的功能表項目。
-
values/
-
這個目錄放置了其他一些xml檔案,這裡包含了一些資源合集,比如string、color值等等。上文樣本中的"Hello world!"就是在這裡的string.xml檔案裡面定義的.
到這裡為止,使用AndroidStudio來建立App工程結束了,App工程最重要的一些結構及檔案也已經全部說明。接下去,要運行這個建立好的app,請參考下一篇教程。
下面,在介紹用命令列模式來建立app工程。
1.如果你沒有使用AndroidStudioIDE的話,你可以在命令列模式下使用SDK工具中提供的一些工具來完成建立工作。
2.命令列模式下cd到AndroidSDK所在目錄下。
運行指令:
tools\android list targets
這個命令列出了你已經下載好的Android平台版本。自己找到你準備用來編譯app的版本,記住對應的id號。Google推薦選擇最高版本。你可以選擇開發的app支援到2.3.3或者4.0.3等較老的版本(通過minSdkVersion控制),但是這個設定希望採用最新的版本號碼,這樣可以在一些最新的裝置上得到最友好的體驗,甚至代碼在不同的系統版本上可以運行不同的效果。
如果你沒有看到任何裝置被列出來,那麼你需要用AndroidSDKManager下載一些下來。參考Adding SDK Packages。
3.建立工程:
android create project --target <target-id> --name MyFirstApp --path <path-to-workspace>/MyFirstApp --activity MyActivity --package com.example.myfirstapp
<target-id> 就是上一步中,讓你記錄的準備編譯用的sdk目標版本。<path-to-workspace> 就是你準備把項目放在哪個目錄下。上一步中,只是隨意的把工程建立在了sdk根目錄,這是不推薦的。sdk和workspace最好單獨存放在各自的目錄。
小提示: 可以把SDK目錄下的 platform-tools/ 以及tools/ 目錄添加到系統的環境變數中,然後在操作adb、android等指令的時候就不需要每次開啟CMD都必須cd到sdk目錄下了。設定環境變數參考這裡。
至此,通過命令列模式建立項目已經完成,這個工程也是一個"Hello World"功能的簡單app,包含了一些預設檔案,檔案結構與上文中用AndroidStudio建立的一致。
建立Android工程