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、总之,实现虽小,但仍然有很多需要注意的问题,例如排空时引号中的空格导致异常、各种监听的实现等等。
感悟和体会
本次实验最大的感受就是:小细节不能忽视。就比如说上述排空问题,一直闪退困扰了我许久,一致认为空格就是代表空,因此一直找不到错误。这次实践给了我挺大的教训,一定要关注细节,越是基础性的知识越要反复操练,牢记于心,避免眼高手低,否则很容易栽在简单问题的细节上。
Android代码实现求和运算的更多相关文章
- 编写高效的Android代码
编写高效的Android代码 毫无疑问,基于Android平台的设备一定是嵌入式设备.现代的手持设备不仅仅是一部电话那么简单,它还是一个小型的手持电脑,但是,即使是最快的最高端的手持设备也远远比不上一 ...
- 值得细读!如何系统有效地提升Android代码的安全性?
众所周知,代码安全是Android开发工作中的一大核心要素. 11月3日,安卓巴士全球开发者论坛线下系列沙龙第七站在成都顺利举办.作为中国领先的安卓开发者社区,安卓巴士近年来一直致力于在全国各大城市举 ...
- C# 使用SIMD向量类型加速浮点数组求和运算(1):使用Vector4、Vector<T>
作者: 目录 一.缘由 二.使用向量类型 2.1 基本算法 2.2 使用大小固定的向量(如 Vector4) 2.2.1 介绍 2.2.2 用Vector4编写浮点数组求和函数 2.3 使用大小与硬件 ...
- 下载最新Android代码的方法
之前我是去Android官方网站下载最新Android代码,但是这种方法需要FQ,而且有时候FQ又不太方便,今天我发现一个不错的网站,是清华大学搞的,跟Android官方的代码基本保持同步,而且下载方 ...
- Android代码混淆官方实现方法
首先查看一下 “project.properties” 这个文件: # This file is automatically generated by Android Tools.# Do not m ...
- Android代码内存优化建议-OnTrimMemory优化
原文 http://androidperformance.com/2015/07/20/Android代码内存优化建议-OnTrimMemory优化/ OnTrimMemory 回调是 Androi ...
- Android代码混淆和项目宣布步骤记录器
原本放在一起Android项目与发布的文件相混淆.我突然想到,为什么不写博客,分享.有这篇文章的情况下,. Android代码混淆及项目公布步骤记录 一.清理代码中的调试信息,如Log.System. ...
- Android 代码混淆 混淆方案
本篇文章:自己在混淆的时候整理出比较全面的混淆方法,比较实用,自己走过的坑,淌出来的路.请大家不要再走回头路,可能只要我们代码加混淆,一点不对就会导致项目运行崩溃等后果,有许多人发现没有打包运行好好地 ...
- 【Android】Android 代码判断当前设备是否为模拟器
[Android]Android 代码判断当前设备是否为模拟器 方法比较简单,直接粘贴代码 //判断当前设备是否是模拟器.如果返回TRUE,则当前是模拟器,不是返回FALSE public stati ...
随机推荐
- java web Servlet开发(二)
一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些 ...
- Unicode化
为了程序编写方便,根除乱码问题等等需求,很多新项目都采用了Unicode编码.同时,不少使用MBCS多字节编码的旧项目为了升级,也有了转向Unicode编码的意向.不过,从MBCS升级到Unicode ...
- gradle windows上面安装配置
本文转载自: http://blog.csdn.net/u011546806/article/details/44806513 前提条件 安装jvm,并配置好了java环境变量 安装步骤 1.下载gr ...
- Java 将字符串转换为字符数组 toCharArray()
Java 手册 toCharArray public char[] toCharArray() 将此字符串转换为一个新的字符数组. 返回: 一个新分配的字符数组,它的长度是此字符串的长度,它的内容被初 ...
- Linux操作系统-基本命令(一)
熟悉Linux命令基础 Linux系统的终端窗口 字符终端为用户提供了一个标准的命令行接口,在字符终端窗口中,会显示一个Shell提示符,通常为$. 用户可以在提示符后输入带有选项和参数的字符命令,并 ...
- Oracle NVL与NVL2函数
nvl( ) 函数 从两个表达式返回一个非 null 值. 语法 NVL(eExpression1, eExpression2) 参数 eExpression1, eExpression2 如果 eE ...
- leetcode38
public class Solution { public string CountAndSay(int n) { //1 //11 //21 //1211 //111221 //312211 // ...
- 实战zabbix3.0.2 使用percona mysql插件监控mysql5.7
1.系统环境 [root@shard0 templates]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.2 ...
- OpenCv dnn module -实时图像分类
配置环境:OpenCv3.4, vs2013(x64),Win7.用OpenCv dnn module 实时检测摄像头,视频和图像的分类示例原代码为:https://docs.opencv.org/3 ...
- 【327】Python 中 PIL 实现图像缩放
参考:Python 中使用PIL中的resize 进行缩放 参考:Python用Pillow(PIL)进行简单的图像操作(模糊.边缘增强.锐利.平滑等) 参考:廖雪峰 - Pillow 实现代码如下: ...