SlideShare ist ein Scribd-Unternehmen logo
1 von 41
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 指定欄位的編號。
謝謝大家

Weitere ähnliche Inhalte

Was ist angesagt? (8)

App inventor 演講簡報
App inventor 演講簡報App inventor 演講簡報
App inventor 演講簡報
 
GAE Java IDE installation
GAE Java IDE installationGAE Java IDE installation
GAE Java IDE installation
 
多媒體系統05_Android App圖形元件
多媒體系統05_Android App圖形元件多媒體系統05_Android App圖形元件
多媒體系統05_Android App圖形元件
 
Use Git-flow Manage Your Git Workflow
Use Git-flow Manage Your Git WorkflowUse Git-flow Manage Your Git Workflow
Use Git-flow Manage Your Git Workflow
 
轻松写出优雅的Java代码之check style
轻松写出优雅的Java代码之check style轻松写出优雅的Java代码之check style
轻松写出优雅的Java代码之check style
 
應用 Sikuli 在 Android 設備上執行自動化測試
應用 Sikuli 在 Android 設備上執行自動化測試應用 Sikuli 在 Android 設備上執行自動化測試
應用 Sikuli 在 Android 設備上執行自動化測試
 
Orientation Program
Orientation ProgramOrientation Program
Orientation Program
 
2013/05/19 - Titanium 入門實戰 30 分鐘教你寫出 youtube App + 會員系統 @jsdc2013
2013/05/19  - Titanium 入門實戰 30 分鐘教你寫出 youtube App + 會員系統 @jsdc20132013/05/19  - Titanium 入門實戰 30 分鐘教你寫出 youtube App + 會員系統 @jsdc2013
2013/05/19 - Titanium 入門實戰 30 分鐘教你寫出 youtube App + 會員系統 @jsdc2013
 

Andere mochten auch (10)

不同尺寸與解析度的螢幕下,Android 程式 UI 的設計與解決方式
不同尺寸與解析度的螢幕下,Android 程式 UI 的設計與解決方式不同尺寸與解析度的螢幕下,Android 程式 UI 的設計與解決方式
不同尺寸與解析度的螢幕下,Android 程式 UI 的設計與解決方式
 
App inventor 教學講義 chapter4
App inventor 教學講義 chapter4App inventor 教學講義 chapter4
App inventor 教學講義 chapter4
 
App inventor 教學講義 chapter3
App inventor 教學講義 chapter3App inventor 教學講義 chapter3
App inventor 教學講義 chapter3
 
App inventor 教學講義 chapter6
App inventor 教學講義 chapter6App inventor 教學講義 chapter6
App inventor 教學講義 chapter6
 
App inventor 教學講義 chapter2
App inventor 教學講義 chapter2App inventor 教學講義 chapter2
App inventor 教學講義 chapter2
 
App inventor 2
App inventor 2App inventor 2
App inventor 2
 
App inventor 3
App inventor 3App inventor 3
App inventor 3
 
Android 程式設計(2)
Android 程式設計(2)Android 程式設計(2)
Android 程式設計(2)
 
App inventor 4
App inventor 4App inventor 4
App inventor 4
 
App inventor 5
App inventor 5App inventor 5
App inventor 5
 

Ähnlich wie Android 程式設計(1)

Introduction to air for android 邱彦林
Introduction to air for android 邱彦林Introduction to air for android 邱彦林
Introduction to air for android 邱彦林
FLASH开发者交流会
 

Ähnlich wie Android 程式設計(1) (20)

Docker基礎
Docker基礎Docker基礎
Docker基礎
 
Processing on your Android
Processing on your AndroidProcessing on your Android
Processing on your Android
 
Google app engine安裝教學
Google app engine安裝教學Google app engine安裝教學
Google app engine安裝教學
 
GDG Taichung - Flutter and Firebase.pdf
GDG Taichung - Flutter and Firebase.pdfGDG Taichung - Flutter and Firebase.pdf
GDG Taichung - Flutter and Firebase.pdf
 
炎炎夏日學 Android 課程 - Part 0: 環境搭建
炎炎夏日學 Android 課程 - Part 0: 環境搭建炎炎夏日學 Android 課程 - Part 0: 環境搭建
炎炎夏日學 Android 課程 - Part 0: 環境搭建
 
Flutter 踩雷心得
Flutter 踩雷心得Flutter 踩雷心得
Flutter 踩雷心得
 
和Android源代码一起工作 | 海豚浏览器 胡继堂
和Android源代码一起工作 | 海豚浏览器 胡继堂和Android源代码一起工作 | 海豚浏览器 胡继堂
和Android源代码一起工作 | 海豚浏览器 胡继堂
 
Android gradle 从入门到gg 0
Android gradle 从入门到gg 0Android gradle 从入门到gg 0
Android gradle 从入门到gg 0
 
Android gradle 从入门到gg 1
Android gradle 从入门到gg 1Android gradle 从入门到gg 1
Android gradle 从入门到gg 1
 
LargeCodebases_Lecture01_Getting Set Up.pptx
LargeCodebases_Lecture01_Getting Set Up.pptxLargeCodebases_Lecture01_Getting Set Up.pptx
LargeCodebases_Lecture01_Getting Set Up.pptx
 
Introduction to air for android 邱彦林
Introduction to air for android 邱彦林Introduction to air for android 邱彦林
Introduction to air for android 邱彦林
 
Android工作坊
Android工作坊Android工作坊
Android工作坊
 
Windows App development for iOS, Android developer
Windows App development for iOS, Android developerWindows App development for iOS, Android developer
Windows App development for iOS, Android developer
 
Android
AndroidAndroid
Android
 
VSCode Remote Development
VSCode Remote DevelopmentVSCode Remote Development
VSCode Remote Development
 
VSCode Remote Development 介紹
VSCode Remote Development 介紹VSCode Remote Development 介紹
VSCode Remote Development 介紹
 
Flutter實作概述 | GDSC NYCU
Flutter實作概述 | GDSC NYCUFlutter實作概述 | GDSC NYCU
Flutter實作概述 | GDSC NYCU
 
Android_lecture_000
Android_lecture_000Android_lecture_000
Android_lecture_000
 
第十一堂 學習編譯與上架
第十一堂 學習編譯與上架第十一堂 學習編譯與上架
第十一堂 學習編譯與上架
 
導入 Flutter 前你應該知道的事
導入 Flutter 前你應該知道的事導入 Flutter 前你應該知道的事
導入 Flutter 前你應該知道的事
 

Android 程式設計(1)