20155213课后加分项目
20155213课后加分项目
口算伴我成长自动出题Android APP
软件功能概述
- 整体概述
- 本APP可以自动遴选出10以内加减乘除四则运算20道题,每道题依次打印到屏幕上,每做完一道后即可进入下一道题的测试,其中提供查看本题答案的功能。
- 功能区块概述及界面设计
-
初始界面
- 初始界面由背景图和文字
Now Challenge yourself!
构成 - 触摸中间的文字,可以进入出题系统
- 初始界面由背景图和文字
-
出题系统Questions
-
出题系统由题目,输入答案,以及一些功能键组成
-
题目模块有上下两部分组成上面显示第几道题
Question(1~20) is :
和下面的题目组成; -
答案输入模块有前缀
Input your Answer:
和数字输入栏组成; -
功能键介绍
-
这里有四个功能键分别是
BEGIN
、SUBMIT
、CHEAT
、NEXT
;BEGIN
键是用来提示系统开始做此题SUBMIT
键是用来提交答案的,这里提交之后,后台会比对你的答案和正确结果是否相同,相同则显示
Correct!
否则显示
Incorrect!
,这时你当然可以重新再做一遍,但每次输入答案之后要再次点击BEGIN
键,提示系统重新接受答案;CHEAT
键用来查看此题答案的,点击CHEAT
键后会显示一串文字Are you sure you want to do this?
这句话下面是SHOW ANSWER
键,点击就可以查阅了NEXT
键,顾名思义,是进入下一道题的,当做完20道题后,再次点击NEXT
键,系统则会重新为你生成20道题;
-
-
软件内部详细设计
- 本APP主要由
MainActivity.java
、questions.java
、Cheat.java
、SetQuestions.java
以及MyBC.java
和MyDC.java
类和相应的界面.xml
文件组成MainActivity.java
调用了一个OnTouch
方法以及使用了Intent
相关方法,从而实现触摸TextView
里面的内容来启动下一个Activity
SetQuestions.java
这是最主要的一个类之一,这个类用来随机生成20道题,并返回这二十道题,里面具体有chooseSingleOp()
、AddBrackets()
,首先,该类在主函数里随机生成Size控制下的几个操作数,之后调用chooseSingleOp()
方法,向操作数间添加操作符号,再调用AddBrackets()
再随机合适位置添加括号,将生成的20道题合并成字符串数组,然后返回;
questions.java
这是最主要的一个类之二,在这里面调用了SetQuestions.java
来生成20道题并接收,然后用but4.setOnClickListener
方法控制着将每道题依次打印到屏幕上,其中里面包括了很多键的控制语句,这里不一一赘述了;Cheat.java
用来实现在用户需要查看答案时,跳转到新的Activity
,来显示答案;MyBC.java
用来实现中序表达式转后缀表达式,返回一串后缀表达式字符串;MyDC.java
用来实现后缀表达式的求解,返回的是一个整数;
功能截图展示
-
初始界面
-
出题界面
- 查看答案界面
体会总结
其实,心里话,做的途中还是很崩溃的,因为接触Android开发
还没超过两星期。但好在我从来都是不计坏的后果的做东西的,所以做之前还是很乐观的,心里想着,要实现这个,实现那个,但之后真的开始做了,倒有点无从下手了,刚开始的,很是茫然。
然后就是去图书馆找书,刚开始还是饥不择食的漫无目的的翻阅,之后做着做着就有点头绪,开始在书中找需要的章节来细读。我是从昨天上午决定做的,接着就去找了书,下午开始代码编程。当时心里已经安排好了,先在IDEA里面实现出题的类,之后开始在AndroidStudio里面实现该APP,于是当天下午完成了SetQuestions.java
的编写以及调试,接着就开始编写APP的构造了,书中没有答案的我就上百度,什么背景怎么设置,如何设置TextView的颜色等等。在电脑前一呆就是三四个小时,其中还要不停的找bug,真的是很崩溃。
因为需要复习期末了,时间有点紧,于是就草草的收尾了,虽然结束了,但心里还是有点不甘。
这一整天的学习设计调试,有点累,但收获颇丰。我觉得,要掌握一门语言还是要在做项目中去学习,这样才能知道自己掌握知识的极限在哪,怎么去填补自己的不足,还有就是一般的语言方面的书籍,其实是不适合系统的去学的,当自己已经入门之后,那些书就应该用作“字典”,当自己不会的时候来查找,还有一个更加直接有效的方法就是上网查阅,往往对于初期学习的人来说,都会有自己想要的答案。
码云链接
参考文献
- 《Android编程权威指南》人民邮电出版社
- 《AndroidStdio实战》 清华大学出版社
- Android文本输入框EditText属性和方法说明
- android EditText控件事件监听
- 全面解析Android中对EditText输入实现监听的方法
PSP(Personal Software Process)时间
步骤 | 耗时(h) | 百分比 |
---|---|---|
需求分析 | 1 | 8.3 |
设计 | 1.5 | 12.5 |
代码实现 | 6 | 50 |
测试 | 1.5 | 12.5 |
分析总结 | 2 | 16.6 |