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、总之,实现虽小,但仍然有很多需要注意的问题,例如排空时引号中的空格导致异常、各种监听的实现等等。

感悟和体会

本次实验最大的感受就是:小细节不能忽视。就比如说上述排空问题,一直闪退困扰了我许久,一致认为空格就是代表空,因此一直找不到错误。这次实践给了我挺大的教训,一定要关注细节,越是基础性的知识越要反复操练,牢记于心,避免眼高手低,否则很容易栽在简单问题的细节上。

posted on 2017-06-18 13:51  20169214姚静  阅读(2277)  评论(0编辑  收藏  举报