Android代码实现求和运算
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、总之,实现虽小,但仍然有很多需要注意的问题,例如排空时引号中的空格导致异常、各种监听的实现等等。
感悟和体会
本次实验最大的感受就是:小细节不能忽视。就比如说上述排空问题,一直闪退困扰了我许久,一致认为空格就是代表空,因此一直找不到错误。这次实践给了我挺大的教训,一定要关注细节,越是基础性的知识越要反复操练,牢记于心,避免眼高手低,否则很容易栽在简单问题的细节上。