Android 开发第一项目——计算器的开发记录
2017.4.1
今天布局界面基本完成,现在写了一点事件绑定。计划是多用动态绑定,随时用随时改。关于布局方面,昨天弄到很晚,原因是Layout使用错误,用的自带的,没仔细看,预览的时候没有问题但是真机调试就出错。是兼容性问题,很多的安卓系统不支持constrainlayout(6.0不支持不要问我为什么知道)。改用LinearLayout,简单嵌套了一下,主体还是用了几个LinearLayout分别写了每一行,其中用了几个LinearLayout用来调整按钮间隙。然后稍微调了字号和对齐方式。
2017.4.2
今天简单写了整数的加减乘除,为了看一下这种实现方法是否可用,但是没有写清零,这就导致了一个问题,如果后台没有关闭程序就会一直将最后的结果一直作为底数运算,并且没有运算符连接,会造成蜜汁错误。还有,在学长的提醒下,发现了double和int型数据在连接字符串中的不同,在以后写double的时候一定要注意。
2017.4.3
今天写了后退,考虑以后写double型的时候进行相同的判断。int型有很多的不足,尤其是开平方的时候涉及到强制类型转换,需要尽快将数据类型扩展到double。关于正负号和小数点还没有写。
2017.4.6
这几天主要是把数据类型改了double,今天完成小数点部分,连加之类的运算完成,但是真的不知道怎么办自动清空啊...感觉和连加之类的十分冲突,但是Windows计算器就是能这样的啊...其实也就是这样吧,突然觉得写计算器还好。
2017.4.7
各种连加完成,就差数值判断和自动清空了啊!还有就是让按钮不能按,这个还好,还好...(已经解决)争取周日前完成初步,然后面对脚本...之前让冬宇给我先乱按一通。
数值判断完成!就差自动清空了啊!!!大写的绝望
2017.4.9
初步版本完成,拿去测试。
2017.4.13
第一次测试测了19个错误,很难过。6个小时修改了4个BUG,还有至少两个BUG等着我。做完去睡觉
真的觉得会被打,代码量太多了,必须要修改。主要是各种按键重复代码过多,比如数字键还有功能键,用相似的代码应该就可以。除此之外,我的逻辑也比较复杂,判断用的变量也挺多的,而且可能还有没考虑到的地方。非常累,感觉计算器这种东西并不适合我的样子。
2017.4.14
代码量从2300缩小到600左右,bug也有修复,但是关于正负号和小数点还是有问题。bug13个,有一个只是我忘了改某一部分的代码(忘了复制粘贴),大体的逻辑没问题,就是带小数点以后输入0这个问题...有点可怕。尽量改,尽量早睡,嗯,只是尽量。
2015.4.15
改了BUG,昨天的问题基本解决,准备进行提交前最后一次测试。
还好,11个BUG,算是我之前几次通过的几个这次又出错了...觉得有点浪费机会,但是修复很快,自己也发现了一些其他的BUG,出错的最终应该会大幅下降一些。快做完这个项目了,觉得这次对自己算是一次很不错的提高吧,尤其是前几天的2300多行代码,虽然行数很多,但是主体的逻辑都是在这里实现的,后面重写的还是对这个逻辑的补充吧。其实写到后来,对于能出多少错已经没那么在乎了,更多的是对测试数据的好奇吧(虽然平常自己也有乱按)。之前也有过接近崩溃的时候吧,不过不管怎么说,都过去了不是吗。
Android 开发第一项目——计算器的开发记录的更多相关文章
- 循序渐进开发WinForm项目(6)--开发使用混合式Winform模块
1.Winform数据访问模式定义 传统的Winform程序模块:用于传统的数据库通讯获取数据,这种方式获取数据,方便快捷,可以用于常规的业务系统的场景,用于单机版软件或者基于局域网内的业务系统软件. ...
- android 串口开发第一篇:搭建ndk开发环境以及第一个jni调用程序
一:ndk环境搭建 1:开发环境 我使用的是android studio 2.3.3版本,搭建ndk开发环境比较简单,打开File----Settings----Appearance&Beha ...
- Eclipse安装Git插件以及通过Git导入华为软件开发云项目
--内容提交-- 1. Eclipse安装Git插件 2. 在Eclipse中导入华为软件开发云项目, 以及常用Git操作 一. Eclipse安装Git插件 现在从eclipse官网下载 ...
- vsCode开发flutter项目
Visual Studio Code 安装: 下载链接:https://code.visualstudio.com/ 下载完成后根据步骤自行安装. 使用vsCode开发flutter项目需要部 ...
- iOS开发——高级技术精选&底层开发之越狱开发第一篇
底层开发之越狱开发第一篇 做越狱开发也有一些时间了,有很多东西想总结一下,希望给他人一些借鉴,也是自己对过去开发经历的一些总结.个人不推荐使用盗版,这里主要以技术介绍为主. 这个系列里面主要介绍怎样进 ...
- web前端开发教程系列-1 - 前端开发编辑器介绍
目录: 前言 一. Webstorm 1. 优点 2. 缺点 3. 教程 4. 插件 5. 技巧 二. SublimeText 1. 优点 2. 缺点 3. 教程 4. 插件 5. 技巧 前言 由于很 ...
- 开园第一篇 - 论移动开发环境 IOS与Android的差异
首先,在真正写技术之前做个自我简介.本人08年开始学c语言 一年后,转vc++.开始接触MFC MFC做了两年.转眼11年了我考上了一个不知名的大专.搞C++发现没有市场了因为当时酷狗腾讯的软件已经日 ...
- 安卓开发第一步:Android Studio安装配置
虽然本人是JAVA开发工程师平时主要开发Web App,但因为项目需求需要开发对应的移动端.一时又找不到合适的安卓开发人员,兄弟我只好被项目经理"抓来当壮丁了".俗话说好" ...
- 菜鸟成长日记之新手备忘录-IOS开发第一个项目总结
2013年5月3号,开始找IOS开发工作(自学了大半年,做了一个功能不全的Demo,该出去见见世面了!),5月4号面试了第一家公司(是家刚成立一段时间的外包公司),5月5号第一家公司已二轮电话面试,5 ...
随机推荐
- MyBatis探究-----传递参数详解
1.单个参数 mybatis不会做特殊处理,#{参数名/任意名}:取出参数值 例如:接口中方法 public Employee getEmpById(String empId); XML中 <s ...
- vue配置手机通过IP访问电脑开发环境
vue配置手机通过IP访问电脑开发环境config/index.js// Various Dev Server settings host: '0.0.0.0', // can be overwrit ...
- PHP百度AI的OCR图片文字识别
第一步可定要获取百度的三个东西 要到百度AI网站(http://ai.baidu.com/)去注册 然后获得 -const APP_ID = '请填写你的appid'; -const API_KEY ...
- java RSA实现私钥签名、公钥验签、私钥加密数据、公钥解密数据
通过OpenSSL生成公私钥文件(如果没有OpenSSL工具建议下载Cmder工具自带OpenSSL指令) 1.生成RSA密钥的方法 genrsa -out private-rsa.key 2048 ...
- oracle 事务 与 提交
Oracle事务 一般事务(DML)即数据修改(增.删.改)的事务事务会将所有在事务中被修改的数据行加上锁(行级锁),来阻止其它人(会话)同时对这些数据的修改操作.当事务被提交或回滚后,这些数据才会被 ...
- win10电脑只有自带浏览器能上网
今天遇到了个奇葩问题,开机后登陆微信,怎么也登陆不上,用360检测,修复不了,找来大神一枚,打开我的Edge浏览器,各种网页浏览正常.......就告诉我就修好了.WTF!!! 现象:只有自带浏览器能 ...
- css3常用动效以及总结
(迁移自旧博客2017 08 06) CSS3 文本效果: box-shadow:盒子阴影,可以给卡片添加提高美化效果.可广泛应用于内容展示页面. <div class="card&q ...
- IIC为什么要配置为开漏输出呢?
开漏输出只能输出低电平,类似于三极管的集电极,要输出高电平需要上拉电阻才能输出 当集电极接上拉电阻后,(1)基极为高电平,三极管导通,集电极的电位就会被拉低: (2)基极为低电平,三极管不导通,集电极 ...
- curl的Get请求,封装方法
//GET请求//参数1是请求的url//参数2是发送的数据的数组//参数3是其他GET选项private function curlGET($url, array $get = array(), a ...
- [Linux]防火墙关闭与开启
防火墙关闭与开启 系统环境:ubuntu16.04 工具:xshell 测试远程主机的端口是否开启 telnet 192.168.xx.xx 80 防火墙关闭/开启/重启 # 防火墙关闭 sudo u ...