chapter 2 建構bmi 範例程式
DESCRIPTION
Chapter 2 建構BMI 範例程式. 大綱. 建構 BMI 範例程式 建立新專案 UI 設計:相關工具、 LinearLayout 、 TextView 、 EditText 、 Button UI 資源統整及優化: string.xml 、 style.xml 等 進入 BMI 程式前: Activity 介紹、 AndroidManifest 相關參數介紹 BMI 程式:連結 UI 與控制 程式結構優化 Debug 版面配置介紹. 建立 BMI 新專案. BMI 程式畫面. 建立 BMI 專案. 建立 BMI 專案. 建立 BMI 專案. - PowerPoint PPT PresentationTRANSCRIPT
Chapter 2 建構 BMI 範例程式
大綱
建構 BMI 範例程式建立新專案UI 設計:相關工
具、 LinearLayout 、 TextView 、 EditText 、 Button
UI 資源統整及優化: string.xml 、 style.xml 等進入 BMI 程式前: Activity 介紹、 AndroidManifest
相關參數介紹BMI 程式:連結 UI 與控制程式結構優化Debug
版面配置介紹
建立 BMI 新專案
BMI 程式畫面
建立 BMI 專案
建立 BMI 專案
建立 BMI 專案
BMI UI 設計
UI 設計 – Graphical Layout
UI 設計 – Graphical Layout
若畫面有問題,至Window > Preferences > General > Editors > restore defaults
UI 設計 – XML
BMI UI 分析
線性排版LinearLayout
項目、結果、建議TextView
輸入框EditText
按鈕Button
請完成以下版面
View 常用屬性
所有元件都是繼承 View
idex : @+id/test
width 、 heightfill_parent
wrap_content
長度單位 (px 、 dip)
paddingpadding 、 paddingLeft 、 paddingTop 、 paddingRight 、
paddingBottom
View 常用屬性
layout_marginlayout_marginLeft 、 layout_marginTop 、 layout_marginRig
ht 、 layout_marginBottom
visibilityvisible 、 invidible 、 gone
background資源 id (ex : @color/red) 、 RGB 、 ARGB
layout_gravityleft 、 right 、 top 、 bottom 、 center 、
center_vertical 、 center_horizontal
LinearLayout 線性排版
orientationvertical 、 horizontal
gravityleft 、 right 、 top 、 bottom 、 center 、 center_vertical 、
center_horizontal
TextView
text
資源 id (ex : @string/test) 、文字
textSize
px 、 sp
textColor
資源 id (ex : @color/red) 、 RGB 、 ARGB
textStyle
normal 、 bold 、 italic
gravity
singleLine
ellipsize
none 、 start 、 middle 、 end 、 marquee
marqueeRepeatLimit
EditText
extends TextView
hint資源 id (ex : @string/test) 、文字
textColorHint資源 id (ex : @color/red) 、 RGB 、 ARGB
inputTypetext( 任何字元 ), textMultiLine, textEmailAddress, textPassword…
Button
extends TextView
請完成以下版面
BMI UI 資源統整及優化
UI 資源統整及優化
字串strings.xml
顏色colors.xml
樣式styles.xml
自訂 xml
抽離字串 strings.xml
@string/ 字串名稱
抽離顏色
@colors/ 顏色名稱
抽離樣式
@style/ 樣式名稱
自訂 xml
BMI 建議
BMI UI
進入 BMI 程式前
AndroidManifest
AndroidManifest
AndroidManifest
package nameAPP 主要識別
versionCode整數,為主要版本編號識別,不會於 APP 介紹頁顯示
versionName字串,為版本名稱,於 APP 介紹頁顯示
AndroidManifest
使用者最低版本需求, 10 為 android 2.3.3
APP 定義標籤,主要結構包括 Activity 、 Service等需定義在此標籤內
iconAPP 主要 icon
labelAPP 主要顯示名稱
AndroidManifest
Activity 定義標籤,即 APP 主要畫面,一個標籤代表一個 Activity ,沒有在 application 標籤中定義的Activity 將無法呼叫
nameActivity 名稱,為路徑描述,若是在 APP packget name 的 package
中,可以用 [ .ActivityClassName] 表示,代表 [ package.ActivityClassName ] ,其他 package 則需寫出完整路徑,如 [ com.yzu.test.TestActivity ]
label顯示於 Activity 上方標題列的名稱
AndroidManifest
intent-filter 定義 Activity 的性質,包含進入此Activity 的方式以及類別
action為進入點, android.intent.action.MAIN ,表示進入 App 時,
此 Activity 將第一個執行顯示
category類別定義, android.intent.category.LAUNCHER ,表示此
Activity ,將顯示於 Launcher 的應用程式列表中
Activity
具有生命週期代表 APP 主要畫面需在 AndroidManifest.xml 中設置
Activity
package 資料夾位置
匯入相關的 Class
程式主體,代表 [ 宣告一個公開的BMIActivity 類別,此類別繼承 Activity 類別 ]
Activity
onCreate 為 Activity 啟動初始化時第一個執行的Method ,即 Activity 生命週期的起始點,而為了建立此 APP 專用的 Activity ,因此覆寫繼承自 Activity 類別的 onCreate ,
@Override表示此 Method 複寫父類別的 Method
Bundle savedInstanceState當 APP 啟動、背景等待或關閉等狀態改變時,皆需要傳遞此參數,
以維持 APP 運作,一般不需要任何改變
Activity
super 為關鍵字,代表此類別的父類別 Activity ,因此這句的意思為執行父類別的 onCreate ,一般M ethod 覆寫後將忽略原本父類別 Method 中的內容,但是在父類別 Activity onCreate 中會呼叫所有 Activity 執行所需的 Method ,故在此需要先呼叫父類別的 onCreate Method ,再繼續加入需要的內容
Activity
執行 setContentView 設定 Activity 畫面,在此為引入R .layout.main 設定檔,以此設定檔內容繪製 Activity 畫面,並與此 layout 連結
Activity 生命週期
Activity
http://developer.android.com/reference/android/app/Activity.html
了解 Activity 生命週期運作
覆寫生命週期中的 Method 並以 Log 追蹤android.util.Log
Log.v(Tag,Mes)
verbose 黑色,以 verbose 為條件過濾時任何消息都會輸出Log.d(Tag,Mes)
debug 藍色,以 debug 為條件過濾時 d 、 i 、 w 、 e 都會輸出
Log.i(Tag,Mes)
info 綠色,以 debug 為條件過濾時 i 、 w 、 e 都會輸出Log.w(Tag,Mes)
warning 橘色,以 debug 為條件過濾時 w 、 e 都會輸出Log.e(Tag,Mes)
error 紅色
BMI 程式設計
識別 Layout 中的元件
將要控制的元件加上 idandroid:id = ” @+id/ 名稱 ”
android:id="@+id/ET_Height“
android:id="@+id/ET_Weight”
android:id="@+id/B_Count”
android:id="@+id/TV_Result“
android:id="@+id/TV_Advice"
程式撰寫
執行結果
BMI 程式結構優化
BMI 程式結構優化
BMI 程式結構優化
DDMS 除錯
Oops!
eclipse 顯示程式碼行數
Windows > Preferences > General > Editors > Text Editors > show line numbers
DDMS
Devices
Emulator control
DDMS
File Explorer
DDMS
LogCat
DDMS
Heap
DDMS
Logcat
Find the bug
Debug