20155213课后加分项目

20155213课后加分项目

口算伴我成长自动出题Android APP

软件功能概述

  • 整体概述
    • 本APP可以自动遴选出10以内加减乘除四则运算20道题,每道题依次打印到屏幕上,每做完一道后即可进入下一道题的测试,其中提供查看本题答案的功能。
  • 功能区块概述及界面设计
    • 初始界面

      • 初始界面由背景图和文字Now Challenge yourself!构成
      • 触摸中间的文字,可以进入出题系统
    • 出题系统Questions

    • 出题系统由题目,输入答案,以及一些功能键组成

      • 题目模块有上下两部分组成上面显示第几道题Question(1~20) is :和下面的题目组成;

      • 答案输入模块有前缀Input your Answer:和数字输入栏组成;

      • 功能键介绍

      • 这里有四个功能键分别是BEGINSUBMITCHEATNEXT

        • BEGIN键是用来提示系统开始做此题
        • SUBMIT键是用来提交答案的,这里提交之后,后台会比对你的答案和正确结果是否相同,相同则显示
          Correct! 否则显示
          Incorrect!,这时你当然可以重新再做一遍,但每次输入答案之后要再次点击BEGIN键,提示系统重新接受答案;
        • CHEAT键用来查看此题答案的,点击CHEAT键后会显示一串文字Are you sure you want to do this?这句话下面是SHOW ANSWER键,点击就可以查阅了
        • NEXT键,顾名思义,是进入下一道题的,当做完20道题后,再次点击NEXT键,系统则会重新为你生成20道题;

软件内部详细设计

  • 本APP主要由MainActivity.javaquestions.javaCheat.javaSetQuestions.java以及MyBC.javaMyDC.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,真的是很崩溃。

因为需要复习期末了,时间有点紧,于是就草草的收尾了,虽然结束了,但心里还是有点不甘。

这一整天的学习设计调试,有点累,但收获颇丰。我觉得,要掌握一门语言还是要在做项目中去学习,这样才能知道自己掌握知识的极限在哪,怎么去填补自己的不足,还有就是一般的语言方面的书籍,其实是不适合系统的去学的,当自己已经入门之后,那些书就应该用作“字典”,当自己不会的时候来查找,还有一个更加直接有效的方法就是上网查阅,往往对于初期学习的人来说,都会有自己想要的答案。

码云链接

参考文献

PSP(Personal Software Process)时间

步骤 耗时(h) 百分比
需求分析 1 8.3
设计 1.5 12.5
代码实现 6 50
测试 1.5 12.5
分析总结 2 16.6
posted on 2017-06-01 18:17  20155213陆忠民  阅读(229)  评论(0编辑  收藏  举报