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 ...
随机推荐
- python中split()的用法
Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串. 语法: str.split(str="", num=str ...
- SynchronousQueue------TransferStack源码分析
s,e在线程栈里面,TransferStack在堆里面,方法只是线程的执行逻辑.线程过来调用transfer方法,线程在堆里面创建一个节点,加到Stack里面去,然后这个线程归属节点的waiter,阻 ...
- restful 跨域
同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能. 就浏览器而言的, http://127.0.0.1:8000 协议 域名 端口 跨域 问题// 简单 ...
- 2019 Lonsdor K518S VS K518ISE
2019 Lonsdor K518S VS K518ISE: The same: IMMO capabilities + Vehicle coverage. The difference: The u ...
- java 接口详解
定义接口 接口继承和实现继承的规则不同,一个类只有一个直接父类,但可以实现多个接口.Java 接口本身没有任何实现,只描述 public 行为,因此 Java 接口比 Java 抽象类更抽象化.Jav ...
- linux单项目发布流程
1.安装python #1.安装python3.7所需要的依赖包yum -y groupinstall "Development tools"yum -y install zlib ...
- jdk版本相关问题
1.switch在jdk1.7版本之后开始支持String类型: 2.maven3版本默认支持jdk版本为jdk1.5 3.编辑器中jdk版本设置为1.7或1.8版本,但未指定maven中的jdk版本 ...
- mysql时间相加函数DATE_ADD()
mysql中的DATE_ADD()函数 1.定义:函数向日期添加指定的时间间隔. 2.语法:DATE_ADD(date,INTERVAL expr type) date 参数是合法的日期表达式.exp ...
- 解决Postman User-Agent 设置失效
问题: 设置header中的UserAgent选项,抓包以后依然还是默认头信息 test Domain www.baidu.com Iphone6 UserAgent访问效果 User-Agent: ...
- 【Alpha】Scrum Meeting 10
目录 前言 任务分配 燃尽图 会议照片 签入记录 困难 前言 第10次会议于4月14日19:00在教一316召开. 交流确认了任务进度,对下一阶段任务进行分配.时长40min. 任务分配 姓名 当前阶 ...