android四则运算生成器
四则运算生成——安卓版
问题描述
- 能够自动生成四则运算练习题
- 可以定制题目数量
- 用户可以选择运算符
- 用户设置最大数(如十以内、百以内等)
- 用户选择是否有括号、是否有小数
- 用户选择输出方式(如输出到文件、打印机等)
- 最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)
问题分析
上了软件工程的课,老师一直在强调前期好的设计要比直接动手写代码后期再不断修改
效率高很多。所以这次的作业在开始之前我认真做了前期的研究。大致有几个方案:
- 用c++做windows版
- 用java做windows版
- 用objective做iphone版
- 用java做安卓版
经过一番研究和对比后我选择了安卓版主要原因有一下几点: - 对win32大致了解了一下,因为年代久远看那个代码感觉实在太复杂,遂放弃。
- java做windows面临两个难点,首先我对java不熟悉,其次从来没做过windows的开发,有点陌生的恐惧感
- ios的项目我之前做过一个,虽然有些遗忘,但是如果选择这个的话,应该还是我最熟悉的工具,但是考虑到结对编程,
并且我初步打算最后的大作业就做一个安卓的APP,所以应该先熟悉一下环境。 - 安卓上学期上过一个选修课,做过几次作业,虽然还是不太熟悉,但是基本环境还是有的。并且考虑到以后的大作业,这次就算试试水吧。
流程设计
根据用户给定的条件生成算式。那就建立两个activity,第一个用了收集用户的条件,第二个根据这些条件生产算式,总体结构来说很简单
关键是这些条件的判断和随机数的生成。在这里我们使用了快速原型模型,首先使用androidstudio搭建界面,根据界面讨论功能然后在activity
里写具体的逻辑代码。这里用两张截图说明流程。
在设计过程中我们考虑到拓展一下直接做成可以答题并判断的功能,但是由于时间有限,这部分功能还没有实现。这算是一个遗憾吧。
导航员评价
这次结对编程作业是我和候婷婷同学合作完成的。她在这次作业中做了很多关键性的工作,也给我的编码工作带来很大帮助。由于这种将
复审进行到极致的方法,使得代码中很少出现错误,这样避免了后期的修改。由于她的认真工作,使得我们的工作顺利进展。她在界面设计
和布局给出的建议都很有用。但是她的编功力还差一些,需要继续努力练习并熟练掌握,我相信这样以后的作业会更加顺利。
总结
在这次作业中我学习到很多,也对未来有了更清晰的认识。首先是在代码上的学习:
- 复习了android的线性布局
- 复习了activity间的传值和调用
- 复习了android几个控件的调用方法
- 对java的随机数有了一定程度的了解
然后是在合作过程中的: - 结对编程中由于两个人的互相监督,效率会比较高
- 结对编程使我们的技术提高的会比较快,遇到问题直接交流有时比查资料会更快更精准
- 可以学习到对方编码的思路
- 可以提高我们的表达能力,在编程过程中表达自己的思想
再总结一下我对以后的学习和生活的几点认识。在这次作业中,清晰的了解了自己对android开发的掌握情况,很多入门级别的东西都还
没有清晰的理解。java代码写的也不够简练,究其原因是对java理解的不够深入,这也带来了我对自己学习方式的反思。我一直习惯于在应
用和实践中学习,简单说就是用到什么学什么,我之间一直觉得这是一种很高效的学习方法,但是在这种有时间限制,而且又有很多其它事
情的时候,因为之前掌握的知识不扎实,不成体系就会导致很多问题。首先,零散的知识是点状的,它们之间没有很强的联系,这就导致很
容易忘掉一些知识,但是如果是系统的学习就可以避免这种情况。所以以后在学习中要注意这种情况,多做总结,在知识之间建立桥梁,这
样才能做到温故而知新。
代码
Coding
工作照
内测版下载