Android代碼實現求和運算
實驗要求:
用Android語言設計一個界面,點擊某按鈕實現求和運算。
代碼實現
- 碼雲鏈接
- 核心代碼
以上為求和按鈕的代碼截圖,解析如圖標注。 - 實驗結果
當輸入為空值時,會彈出如下提示:
- 代碼分析
- 首先是從編輯框獲取信息:
如上,通過findViewById實現。如果要進一步引用mAdd1的值,則需要用到mAdd1.getText().toString()
實現。 - 排空問題:
如上,如果輸入為空值的話,則彈出一個提示框,提示重新輸入,並不進行求和運算。 - 求和運算:
通過Integer將mAdd中的值強制轉換為int類型,並將數值賦予value,以方便下一步的求和計算。 - 結果顯示:
利用textView。定義private TextView textView;
后即可進行上圖所示操作,實現求和結果的輸出顯示。
- 首先是從編輯框獲取信息:
實驗過程中遇到的問題及解決
當輸入為空的時候,出現閃退。
- 問題描述:
程序中雖然設置了排空,但是在程序運行的時候,如果沒有輸入數值,則會導致程序意外退出。正常輸入數值時不會有此現象。 - 分析:
由於正常輸入數值時不會有閃退現象,因此分析問題出在了排空代碼塊處,代碼如下:
檢查發現,引號中間有一個空格,而非真的空值。問題很有可能出現在這里。 - 解決:
嘗試着將空格去掉后,重新點擊運行,提示框正常出現,問題解決。 - 擴展:
在查閱排空問題的過程中,了解到String.trim()的用法,trim()有去掉首尾空格的作用。但是應用於本例后失敗了,分析原因,是因為trim()是去掉字符串的首尾的空格,而本例的editText值已強制轉換為int類型,所以不受用。
學到了什么
- 1、首先鞏固了Android程序設計中的界面設計和Button的使用;
- 2、溫習了字符串與數值之間的轉變,用Integer。例如:
int value1=Integer.parseInt(mAdd1.getText().toString());
就是將編輯框mAdd1中的字符串類型強制轉換成int類型,從而可以賦值給int類型的value,為接下來的運算做准備。 - 3、另外,在調試過程中,知道了textView的用法,它可以將結果顯示出來。
- 4、還有一點,就是設置輸入類型。剛開始運行程序時,點擊編輯框會彈出按鍵,但是默認的為字母輸入界面,如果想輸入數字的話還需要另外點擊數字按鈕,才能轉換到數字的輸入界面。如下:
所以想到能不能實現默認彈出的就是數字輸入界面,找到如下方法:在EditText下面添加一句:android:inputType="number"
,再次點擊編輯框,則自動出現如下輸入界面:
問題得到解決。
基於上述用法的好處,有上網查了一些關於輸入模式的其他語句,可參考 Android資料之-EditText中的inputType - 5、總之,實現雖小,但仍然有很多需要注意的問題,例如排空時引號中的空格導致異常、各種監聽的實現等等。
感悟和體會
本次實驗最大的感受就是:小細節不能忽視。就比如說上述排空問題,一直閃退困擾了我許久,一致認為空格就是代表空,因此一直找不到錯誤。這次實踐給了我挺大的教訓,一定要關注細節,越是基礎性的知識越要反復操練,牢記於心,避免眼高手低,否則很容易栽在簡單問題的細節上。