chapter 2 建構bmi 範例程式

Post on 24-Jan-2016

51 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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 Presentation

TRANSCRIPT

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

top related