Android學習筆記1---簡單計算機

來源:互聯網
上載者:User

 實驗題目:
          在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變數。這一點,要注意。
 


摘自 張建波專欄

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.