Android 程式設計(1)
講師:王瑋毅
Android 架構介紹
• Android SDK(JAVA)
• Android NDK(C/C++)
參考: Android 架構圖
概要
• 安裝Android開發工具
• 安裝JDK
• 安裝Android Studio
• 安裝SDK
• 建立專案
• 安裝Android 模擬器
• 介紹Android Layout
• LinearLayout
• RelativeLayout
• FrameLayout
• TableLayout
安裝Android開發工具步驟
• 安裝Java開發工具包(Java Development Kit, JDK)
• 安裝Android Studio
• Android 軟體開發套件(Software Development Kit, SDK)
安裝JDK(1/2)
• 至Oracle官網下載適當的JDK版本,點選Download
安裝JDK(2/2)
• 選擇接受(Accept License Agreement),以Windows作業系統為例,
下載安裝檔
安裝Android Studio(1/8)
• 至 Android Developer官網 下載Android Studio
安裝Android Studio(2/8)
• 必須勾選同意,按一下Download Android Studio鈕,開始下載檔
案
安裝Android Studio(3/8)
• 按Next繼續,將選項都打勾,再按Next
安裝Android Studio(4/8)
• 按I Agree,再按Next
安裝Android Studio(5/8)
• 按Install,將開始進行安裝
安裝Android Studio(6/8)
• 完成以後按Next,接著按Finish開啟Android Studio
安裝Android Studio(7/8)
• 第一次執行Android Studio時會提示,是否要從以前的版本導入設
置,沒有的話使用預設,點擊OK
安裝Android Studio(8/8)
• 看到這畫面表示Android Studio已安裝好了,接著要開始安裝
Android SDK,繼續點擊Next
安裝Android SDK(1/3)
• 安裝類型選擇 Standard,點擊Next
安裝Android SDK(2/3)
• 按Finish,接著會自動開始下載Android SDK相關套件(只會下載
最新版)
安裝Android SDK(3/3)
• 看到這畫面表示Android SDK已安裝好了,按Finish
設定Android Studio(1/2)
• 設定IDE Encoding 和 Project Encoding 為 UTF-8
設定Android Studio(2/2)
• 設定SDK Manager
建立專案(1/4)
• 選擇 Start a new Android Studio project,建立一個Project開發App
建立專案(2/4)
• 設定專案基本配置:
• Application name: App名稱
• Company Domain: 公司或自己的
domain名稱用來辨識這個App的所有者是誰
• Package name: 專案的Java套件名稱,預設
為Company Domain加Application name組合
,也可以點擊右方Edit修改
• Project location: 專案的儲存位置
建立專案(3/4)
• 選擇裝置最低版本限制,下方會顯示選擇的Android版本目前符合
的人數佔多少百分比
建立專案(4/4)
• 選擇要開發的Activity類型,第一次開發建議選擇Basic Activity或
Empty Activity
安裝Android 模擬器(1/9)
• 看到這畫面代表已經建好專案了,接著要設定模擬器,方法有兩
種:
• 點擊上方手機圖示
• 點擊Tools -> Android
-> AVD Manager
安裝Android 模擬器(2/9)
• 點擊Create New Emulator
安裝Android 模擬器(3/9)
• 選擇要安裝的尺寸
安裝Android 模擬器(4/9)
• 下載對應版本的System Image
安裝Android 模擬器(5/9)
• 點選Accept,再點Next,看到Done表示下載完畢,點擊Finish
安裝Android 模擬器(6/9)
• 選好System Image點擊Next
安裝Android 模擬器(7/9)
• AVD基本設定,用預設就可以了
安裝Android 模擬器(8/9)
• AVD模擬器都會顯示在此處,選擇後,點擊OK
安裝Android 模擬器(9/9)
• AVD模擬器結果畫面
Activity 生命週期(1/2)
• 當Activity 準備要產生時,先呼叫onCreate方法
• Activity 產生後(還未出現在手機螢幕上),呼叫onStart方法
• 當Activity 出現手機上後,呼叫onResume方法
• 當按下返回鍵結束Activity時,先呼叫onPause方法
• 當Activity 從螢幕上消失時,呼叫onStop方法
• 最後完全結束Activity 之前,呼叫onDestroy方法
• 當一個Activity 再次啟動之前會呼叫onRestart方法
Activity 生命週期(2/2)
• 一般啟動:
onCreat -> onStart -> onResume
• 呼叫另一個Activity:
onPause(1) -> onCreate(2) -> onStart(2) ->
onResume(2) -> onStop(1)
• 回復原Activity:
onPause(2) -> onRestart(1) -> onStart(1) ->
onResume(1) -> onStop(2) -> onDestroy(2)
參考資料: https://developer.android.com/reference/android/app/Activity.html
Android Layout - FrameLayout
• 在FrameLayout無法指定子元素位置,
後一個子元素會覆蓋在前一個子元素上
Android Layout -
LinearLayout
• LinearLayout 以設定的垂直或水平的屬
性,來排列所有子元素
屬性 功能描述
android:orientation 此屬性表示元件的排列方式是垂直(vertical)或平行(horizontal)。
android:layout_width 此屬性表示元件的寬度,值為 match_parent 為填滿,值為wrap_content會依內容
進行調整。
android:layout_height 此屬性表示元件的高度,值為 match_parent 為填滿,值為wrap_content會依內容
進行調整。
android:layout_margin 設定這個 view 距離上下左右額外的距離。
android:layout_marginBottom 設定這個 view 距離下方額外的距離。
android:layout_marginTop 設定這個 view 距離上方額外的距離。
android:layout_marginLeft 設定這個 view 距離左方額外的距離。
android:layout_marginRight 設定這個 view 距離右方額外的距離。
Android Layout - RelativeLayout(1/2)
• RelativeLayout允許子元素指定其他元素的位置
(透過ID指定)
屬性 功能描述
android:layout_below 將當前元件的上邊緣與指定的ID元件下邊緣進行對
齊。
android:layout_above 將當前元件的下邊緣與指定的ID元件上邊緣進行對
齊。
android:layout_toLeftOf 將當前元件的右邊緣與指定的ID元件左邊緣進行對
齊。
android:layout_toRightOf 將當前元件的左邊緣與指定的ID元件右邊緣進行對
齊。
Android Layout - RelativeLayout(2/2)
• 當前元件和ID元件對齊邊緣一致
屬性 功能描述
android:layout_alignLeft 將當前元件的左邊緣與指定的ID元件左邊緣進行
對齊。
android:layout_alignRight 將當前元件的右邊緣與指定的ID元件右邊緣進行
對齊。
android:layout_alignTop 將當前元件的上邊緣與指定的ID元件上邊緣進行
對齊。
android:layout_alignBottom 將當前元件的下邊緣與指定的ID元件下邊緣進行
對齊。
Android Layout – TableLayout(1/2)
• TableLayout 是一個類似表格排列方式的Layout
,主要使TableRow將內容分行
Android Layout – TableLayout(2/2)
• TableLayout 主要的一些功能如下:
屬性 功能描述
android:stretchColumns
將指定的欄位填滿剩餘的空間,可以用*代表是全部的欄
位。
android:shrinkColumns 將指定的欄位縮小空間,可以用*代表是全部的欄位。
android:collapseColumns 將指定的欄位進行刪除。
android:layout_span 合併欄位的格數。
android:layout_column 指定欄位的編號。
謝謝大家

Android 程式設計(1)