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 ...
随机推荐
- bzoj 3328 PYXFIB——单位根反演
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3328 单位根反演主要就是有 \( [k|n] = \frac{1}{k}\sum\limit ...
- 指向NULL的类
引出:写个类A,声明类A指针指向NULL,调用类A的方法会有什么后果,编译通过吗,运行会通过吗? (在VS2008与VC++的情况下) 有错误欢迎批评指正! #include<stdio.h&g ...
- Renesas PPP Mode
不同厂家的NB/4G/2G,配置PPP模式略有差异,回调配置在如下路径: “synergy\ssp_supplemental\src\framework\sf_cellular_cat3\sf_cel ...
- Linux 开发环境搭建与使用——SlickEdit 的安装与配置
SlickEdit 的介绍 vim 是公认很好用很完美,但是对新手来说,上手毕竟不是很容易.Windows 下程序员很多都很喜欢Source Insight 这个工具来看代码,各种语法高亮看着很舒服. ...
- 如何量化考核技术人的 KPI?
如何量化考核技术人的 KPI? 原创: 张建飞 阿里技术今天 阿里妹导读:对技术人来说,技术是成长的"核心".然而,在实际工作协作中,技术的重要性常常被业务所掩盖,造成先业务后技术 ...
- javax.persistence.RollbackException: Error while committing the transaction
the valid jpa update entity code gives the exception below in the case of wrong dependency( org.hib ...
- vs启动项目提示Web 服务器被配置为不列出此目录的内容。
解决方法 确认网站或应用程序配置文件中的 configuration/system.webServer/directoryBrowse@enabled 属性已设置为 true. 配置一下web.con ...
- 【转】volatile关键字。编译器不优化,多线程会改。防止随时变动的
来自:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777432.html 1. 为什么用volatile? C/C++ 中的 vol ...
- eclipse cut copy paste plugin
The Cut Copy Paste Plus plug-in enhances the standard Cut, Copy and Paste commands in Eclipse IDE. W ...
- 286 walls and gate最近的出口
[抄题]: 您将获得一个使用这三个可能值初始化的 m×n 2D 网格.-1 - 墙壁或障碍物. 0 - 门. INF - Infinity是一个空房间.我们使用值 2 ^ 31 - 1 = 21474 ...