"数字口袋精灵app"二次开发

目录:

一、项目github总仓库推送

二、开发成员

三、分工与合作

四、各模块成果

五、心得墙

六、团队成员贡献分

内容:

一、项目github总仓库:

https://github.com/LiangZhilin/We-have-bing

二、开发人员:

223孙海林(商软2班)
225江志彬(商软2班)
256林集团(商软2班)
224颜文生(商软2班)
404曹嘉琪(商软1班)
142梁植淋(商软1班)

三、分工与合作:

林集团、颜文生:负责该安卓程序在Eclipse-adt及Android stdio上的部署工作,并整理出一套详细的教程文档。

孙海林、江志彬:负责对项目逻辑运算部分做多场景的单元测试,找出运算上的Bug等问题。

曹嘉琪:负责真机运行测试,从用户的角度分析应用。找出应用存在的一些用户体验问题,并提出改进的建议。

梁植淋:负责分析项目任务、团队协调及分工、总代码仓库的管理、统合各成员的成果、以及总博客的执笔

四、各模块成果:

1.在android studio上部署项目(模块负责人:林集团)

 

一、Android Studio 安装

步骤1 - 安装JDK并配置环境变量

jdk安装步骤请参考百度经验:

http://jingyan.baidu.com/article/7e440953f1ae532fc0e2efbf.html

步骤2 - 安装 Android Studio

1.打开Android Studio安装包,点击下一步

2.选择你的jdk路径
 
3.这个页面全部打勾:
 
4.指定SDK路径:

5.有点慢,不要方,坐等进度条即可:

6.出现以下界面,android studio就装好了,没错!就是这么简单:

 

二、部署“数字口袋精灵”app项目:

1.去总仓库把项目fork到自己的仓库中,然后下载项目

2.打开eclipse导入我们的clone下来的项目

3.导入“数字口袋”app项目

然后,你就可以对项目进行二次开发了,没错,就是这么简单

2.在eclipse-adt上部署项目(模块负责人:颜文生)

1.网上下载jdk

2.jdk的安装与配置环境变量:此步骤参考链接

http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html

3、Github上fork这个项目的源代码,截图如下:

4、将代码下载到本地

5.将项目导入到eclipse-adt里

摸索到这里,就这样项目部署完了,好像也挺简单

6、然而,还是出现了问题,运行不成功,运行时出现以下错误信息提示,正在努力解决中

3.对项目就行单元测试(模块负责人:孙海林、江志彬)

江志彬部分:


界面的内容就不多解释了
以下是算法的主要流程和数据流向:

PlayActivity
由随机数产生4种题目     共10题
0是普通题目,1 是阶乘 , 2是分数题目,3是带括号题目
0:普通题目  2-5个数的四则运算   负数加括号   被除数为0重新获取随机数
1:阶乘  直接随机数加!
2:分数题目  6个随机数组成3个分数加2个操作符
3:带括号题目  4个随机数3个操作符 随机个数括号 随机括号位置

每一题生成之后都会进行计算 保存在   String  staticanser[i]中
2:分数题目计算将跳转到Calculator类 计算
3个分数的计算 按 (1)a*b+c (2)a+b*c两种情况不同 传3个参数的先后顺序也不同 (1)先计算a b返回的值再和c计算
(2)先计算b c返回的值再和a计算

3:带括号题目计算将跳转到KuohaoCalc类 计算

Calculator
     由compute()方法作为与PlayActivity类的接口进入

执行顺序:

之后r1、r2的  numerator 和 denominator就分别有了分子分母的值
就拿加法运算如

r1 (1,2)
r2 (2,3)  的分数计算为 交叉相乘再相加为 新分子
两分母相乘为 新分母

KuohaoCalc

参数khdate的值为括号题目生成时的字符串 传去kuohaocalc类计算
1+(2+3)+4
先判断单括号的位置 然后截取括号内内容 进入interceptOperation()方法进行无括号四则运算
返回的值加上头和尾的数值形成新的字符串

直到不存在括号 进行无符号四则运算 返回结果

孙海林部分:


测试结果如下:

注:

1、分数加减乘除计算和带括号的四则运算可以测试

2、阶乘和普通整数的加减乘除运算,由于作者写在同一个方法下,无法拆分,耦合度高 下

面是测试修改源代码的图:

3.对项目就行运行测试(模块负责人:曹嘉琪)

一、从质量保证的角度

1.当最后一题回答错误,最后显示的答对题数比实际答对题数多一题,而且回答最后一题,无论是对还是错,完全没提示

2.游戏结束后,由于没有设置“重新开始”按键,只能按返回键,会出现闪退的问题

二、从用户的角度

1、游戏结束后,要有“重新开始”或者选择“继续通关”按钮,可以设置通关易难程度或者时间计算,由于不同用户的能力不同,这样可以让用户在练习中不断提升自己的能力,最好有个排名版,这样更能鼓励用户积极认真思考答题

2、答题的生命条应该动态显示答对几题、答了几题,一目了然,便于用户清楚自己回答的题数和答对题数,有些学生如果发现自己的答对题题数太少了,在接下来的题数会更加认真的回答

3、可以设置“取消音乐”按钮,毕竟有些学生边做题目边听音乐会受影响,所以有“取消音乐”的功能再人性化不过

4、作为本项目的测试人员,有个很大的体会:我刚刚那题算错了,我想重新看看思考刚刚做的题,根本不能返回,最好有两个按钮“上一题”“下一题”,让用户有重新思考的时间,这样更能达到提高用户计算能力的效果

5、添加个用户交流版块,能让用户在交流中碰撞出更多的火花

三、从产品的角度

1、该app除了把对象定义为小学生,如果可以的话,添加初中、高中等数据计算,这样整个app的面向对象更多,用户量也会大大提高,知名度更高

2、盈利方面可以通过植入广告,由于该app是面向学生,所以在广告的选取方面也要适合学生发展的,不要什么广告都植入

3、app的推广可以通过app之间合作,比如一个相关的app下载的同时会将该app推荐给用户,是否下载就交给用户去决定

四、从开发者的角度,在架构、算法、技术实现、可扩展性、代码规范等方面可以怎样优化?该app的逻辑方法比较凌乱、命名不规范,例如求公约数的方法为f,这样就不利于二次开发以及单元测试

五、团队合作项目之“心得墙”:

曹嘉琪:

组长的合理分配任务,每个人负责不同的部分,最后任务能顺利完成,也多亏其他几位同伴的功劳,大家都为了完成这项任务,也是蛮拼的。


梁植淋:

很荣幸能跨越两个班把这堆人组合在了一起,第一次合作超乎预想的顺利,每个人都很配合,都为团队贡献了自己的力量,还在合作中体会到了沟通的魅力。感谢队友们对我的支持肯定与包容,深深感受到团队的力量实在庞大,也深感做一个领队要考虑的事情很多很多,如工作分配的合理性,如何促进成员间的沟通,还有言语表达是否恰到好处等。


林集团:

Android studio之前就已经安装好了,当时自己弄了很久的哦,遇到了各种各样的问题,现在问题解决了,但是,以后还是会遇到这种不是“课本知识”的问题,我觉得真正重要的是解决问题思维,学习的知识是无止境的,而问题也会伴随我们的学习工作,bug也是天天要改,那么,掌握一种解决问题的思维就显得非常必要。

举个例子来说,要想有效率的解决bug,首先我们需要掌握调试技巧,查看日志的技巧,以及看外文技术软文的技巧,而不是但但盯着几行代码用逻辑推理演福尔摩斯。而解决各种问题呢,我们首先必须了解问题的本质,如这次的android开发环境搭建,我们需要安装许许多多的插件,我们应该首先弄懂sdk,adt,虚拟机究竟是嘛东西,然后仔细看几篇有质量的教程,掌握大概步骤流程在进行实际操作,不然在不了解的情况下开始实际操作,很容易出问题,而且出了问题查找解决方案都不知道,就如同一道数学题不懂,我们首先是掌握缺失的知识点,然后掌握解题思路,而不是抄答案,这不是解决问题之道。好了我的genymotion又不能用了,大家以后尽量不用genymotion,问题太多了。


颜文生:

先感谢我的队友为我分配任务,让我感觉到很荣幸。其次我的任务是安装下载eclipse—adt等,之后导入项目运行。该过程中一句话总结就是很烦,并且很多机制不了解,为此有时感到很沮丧。队友知道我遇到麻烦就马上给我提建议,先百度看看安装教程。于是我就按着队友给我的建议去完成。在安装过程中,可能并不是那么顺畅,到最终还是迎刃而解。虽然很多机制完全不理解,但我还是觉得慢慢来,总结经验才是我们需要完成的,接下来的事情就是要好好理解为什么需要安装sdk之类的内容。


孙海林:

1、团队项目可以锻炼与团队之间的配合和默契度
2、在第一次项目中我和志彬两人负责单元测试模块,在一开始阅读程序花了很多时间和功夫,到最后算是有一个交代。
3、最后还是为队长的带头能力和分配任务能力点个赞。


江志彬:

这是我们团队的第一次合作,经由组长植淋分配任务,各自完成各自的任务然后由他总结起来,使第一次团队合作任务快速完成。希望在接下来的团队合作中大家磨合得越来越好,共同进步。

六、团队成员贡献分:

虽然我们团队六个人,看起来好像有点多。但对比我们所做的工作量,其实人也就不多了,这里的贡献分就按大家的工作量给吧,虽然大家的能力都无可挑剔。

孙海林:22
江志彬:21
林集团:18
颜文生:17
曹嘉琪:19
梁植淋:23

最后,感谢队友,合作愉快!

0421--"数字口袋精灵app"二次开发(Blackbriar团队开发)的更多相关文章

  1. 0428数字口袋精灵app优化

    "数字口袋精灵app"优化 目录: 一.项目github总仓库推送 二.开发成员 三.分工与合作 四.各模块成果 五.团队成员贡献分 内容: 一.项目github总仓库: http ...

  2. “数学口袋精灵”App的第二个Sprint计划----开发日记

    一.现状 在第一个sprint计划中,我们已经初步完成了“数学口袋精灵”App的基本框架,现在我们要继续完善app,使其功能更加强大,界面更加有趣. 二.任务认领 完成界面后的后续任务: 冯美欣:欢迎 ...

  3. “数学口袋精灵”App的第一个Sprint计划----开发日记

    “数学口袋精灵”第一个Sprint计划----第一天 项目进度: 1.我们在商量这我们的初步想法,考虑要选择做算数的软件还是做关于摄影O2O APP的开发(推荐).每个人会去上网百度浏览了解这两个项目 ...

  4. “数学口袋精灵”App的第三个Sprint计划----开发日记

    一.现状 上一阶段基本完成一个小游戏,游戏具有:随机产生算式,判断对错功能.通过轻快的背景音乐,音效,给玩家提供一个良好的氛围.   二.任务认领 完成界面,基本功能后的后续任务: 冯美欣:设计&qu ...

  5. 数学口袋精灵app(小学生四则运算app)开发需求

    数学口袋精灵APP,摒除了传统乏味无趣学习数学四则运算的模式,采用游戏的形式,让小朋友在游戏中学习,培养了小朋友对数学的兴趣,让小朋友在游戏中运算能力得到充分提升.快乐学习,成长没烦恼! 项目名字:“ ...

  6. “数学口袋精灵”App的第三个Sprint计划(总结与团队感悟)----开发日记

    第三阶段Sprint完成情况: 我们的"数学口袋精灵"App已经完成了,该app能随机产生多种形式的算式,比如带括号的,分数四则运算,混合运算,阶乘等,通过游戏形式让用户乐在其中. ...

  7. “数学口袋精灵”App的第三个Sprint计划----开发日记(第十一天12.17)

    项目进度: 基本完成一个小游戏,游戏具有:随机产生算式,判断对错功能.通过轻快的背景音乐,音效,给玩家提供一个良好的氛围.  任务分配: 冯美欣:设计"数学口袋精灵"App图标.整 ...

  8. “数学口袋精灵”App的第三个Sprint计划----开发日记(第一天12.7~第十天12.16)

    “数学口袋精灵”第三个Sprint计划----第一天 项目进度: 基本完成一个小游戏,游戏具有:随机产生算式,判断对错功能.通过轻快的背景音乐,音效,给玩家提供一个良好的氛围.  任务分配: 冯美欣: ...

  9. 0422 数学口袋精灵app

    首先要部署这个app项目就是第一步: 一.前提下载并安装JDK 在线图解:手把手教你安装JDK      http://www.lvtao.net/server/windows-setup-jdk.h ...

随机推荐

  1. 洛谷P1501 [国家集训队]Tree II(LCT)

    题目描述 一棵n个点的树,每个点的初始权值为1.对于这棵树有q个操作,每个操作为以下四种操作之一: + u v c:将u到v的路径上的点的权值都加上自然数c: - u1 v1 u2 v2:将树中原有的 ...

  2. 误卸载glibc类库导致系统崩溃解决方案

    由于系统中没有yum环境需要编译安装redis,但系统中却没有安装gcc和gcc-c++,挂载本地镜像安装gcc和gcc-c++由于版本太高,由于一时疏忽误将系统的依赖库glibc使用rpm -e 命 ...

  3. MVC和MVT的区别

    首先,MVC和MVT是框架式不是设计模式. 框架与设计模式虽然相似,但却有着根本的不同.设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象:框架可以用代码表示,也能直接执 ...

  4. 转 Linux会话浅析(写得极好,表述清楚语言不硬)

    说起会话,我们经常登录到linux系统,执行各种各样的程序,这都牵涉到会话.但是,一般情况下我们又很少会去关注到会话的存在,很少会去了解它的来龙去脉.本文就对linux会话相关的信息做一些整理,看看隐 ...

  5. php网易云信im即时通讯和聊天室

    话不多说 直接上代码 <?php/** * Created by PhpStorm. * User: lhl * Date: 2019/4/10 * Time: 17:38 */ namespa ...

  6. 大数据学习--day14(String--StringBuffer--StringBuilder 源码分析、性能比较)

    String--StringBuffer--StringBuilder 源码分析.性能比较 站在优秀博客的肩上看问题:https://www.cnblogs.com/dolphin0520/p/377 ...

  7. Hive(10)-文件存储格式

    Hive支持的存储数据的格式主要有:TEXTFILE .SEQUENCEFILE.ORC.PARQUET 一. 列式存储和行式存储 左边为逻辑表,右边第一个为行式存储,第二个为列式存储 1. 行式存储 ...

  8. 基于opencv和qt的人脸检测小系统

    摘要:利用opencv读取视频.图片并检测人脸,利用QT显示窗口,功能选择等 环境:Ubuntu18.04.OpenCV3.4.0.QT5.10.1 效果图: 代码如下(比较简单没什么注释): mai ...

  9. Python学习6——运算符

    1.算数运算符 例1:给定一个三位数,给出每个位置上对应的参数: #方法01:当作数字来求 print("请输入一个三位数:") number = input() number = ...

  10. PTA基础编程题目集6-3简单求和 (函数题)

    6-3 简单求和 (10 分) 本题要求实现一个函数,求给定的N个整数的和. 函数接口定义: int Sum(int List[],int N) 其中给定整数存放在数组List[]中,正整数N是数组元 ...