zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    jQuery基础教程-第8章-002Adding jQuery object methods
    jQuery基础教程-第8章-001Adding new global functions
    福利彩票-001什么是福利彩票
    Java生产者消费者问题
    Java集合
    Java线程
    JavaPersistenceWithMyBatis3笔记-第5章Configuring MyBatis in a Spring applications-001
    CentOS安装和配置Apache(httpd)
    CentOS安装和配置FTP
    PHP 常用获取路径代码
  • 原文地址:https://www.cnblogs.com/elevator/p/6930214.html
Copyright © 2011-2022 走看看