實驗題目:
在Android模擬器裡,完成一個簡單的電腦功能。
實驗目的:
瞭解Android的常見控制項“文字框、按鈕”等的使用。
第一步、建立工程
選擇SDK的版本,例如我們這裡選擇2.3.3
至此工程建立完畢。
Android 工程已經預設建立了一個 main.xml的介面
雙擊開啟該介面。調整介面的螢幕大小。
Android介面的預設布局是“流式布局”,對於做慣了windows開發的人來說,可能還有點不適應。
因此首先將介面布局調整為“絕對布局(就是用x,y來控制位置)”
選擇AbsoluteLayout布局
在介面上添加如下控制項。
依次給按鈕控制項設定ID
按鈕ID,從btn0開始,
0-----btn0
1-----btn1
2-----btn2
.....
9-----btn9
0---btn10
(+)----btn11
(-)----btn12
(*)----btn13
(/)----btn14
完整的布局如下:
一個簡單計算機的外觀完成了。
現在來添加代碼。
Anroid的介面是xml檔案構成,而與代碼配套的代碼檔案是放在src下面的。例如jsqActivity.java
開啟 jsqActivity.java 這個檔案,我們可以看到初始代碼。
注意:在這裡已經找不到main函數了。
程式的啟動函數是從Activity開始的。
onCreate() 在 Activity 構造時執行,我們可以在這個地方加入我們的按鈕事件代碼。
Android的事件要手工去掛接,這一點上就沒有VisualStudi 方便多了。
掛接事件要經理2個步驟:
(1)捕獲該控制項
Button btn1=(Button)this.findViewByID(id);
通過findViewByID插在到該控制項的id,這也就是為什麼我們在進行介面布局的時候要指定控制項ID 的原因。
通過控制項的ID將控制項和對象進行關聯,然後就可以通過對象來操作該控制項了。
提示:
常用的對象有Button(按鈕)、TextView(文字框)等等
(2)綁定按鈕事件
這裡的代碼和java標準代碼是一致的,也是採用匿名事件代碼編寫。
通過給Button對象,設定一個監聽函數,有監聽函數去處理這個事件,並調用相應的方法。
有些時候為了方便書寫,還可以這麼寫
2個紅框裡的代碼效果完全一致。
如果熟練了,推薦使用下面的辦法綁定事件,可以少敲些代碼,少定義些對象。
那麼事件綁定完了,就要實現具體功能,例如,點擊按鈕1,就要把“1”添加到文本款
其它按鈕如法炮製:
例如按鈕2
數字按鈕就這麼做完掉。0 ~ 9 類似
現在這個介面已經可以實現0 ~ 9的按鍵輸入了。
那麼現在來實現“+” 加法功能。
分析:
加法功能,實際上在代碼裡要完成2件事情
(1)把txt文字框的內容儲存
(2) 清空txt文字框
(3)在代碼裡的某一個位置(int Flag)儲存現在的操作是加法
基本的思路: 加減乘除和“等號鍵”配合使用
現在加上,減法,乘法
除法類似,留給你自己實現了。呵呵
那麼“等號”按鈕的代碼如下:
至此,一個簡單的計算機完成了。我們現在來測試一下看看。
輸入 123+ 456
結果應該顯示 579
接著計算 579 - 100
結果顯示 479
一個簡單計算機的功能基本實現了。
我們現在進行總結:
通過本實驗
(1)應該掌握了“按鈕”事件的綁定,以及按鈕事件的編寫。
(2)瞭解Android應用程式的啟動建立、運行啟動流程
程式首先從 OnCreate 進行建立構造
(3)資料類型的轉換
例如String 轉float
Float 轉String
注意:文字框的內容不能直接給String,要轉換
因為 getText() 返回的並不是String
(4)注意變數的【範圍】
事件裡的匿名函數是不能訪問err_txt 這個對象的,它只能訪問全域的txt變數。這一點,要注意。
摘自 張建波專欄