"数字口袋精灵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. docker tar 镜像 容器相互转换

    学习 使用 docker 也有一段时间了 但是在基础去上面有些东西总是容易忘记 整理之前看到的文档,看到一个问题 怎么将一个容器导出成为tar,我本以为是首先 保存成为镜像 再 save 进行保存 查 ...

  2. 浅谈es5和es6中的继承

    首先给大家介绍下在es5中构造函数的继承 function A(){ 2 //构造函数A 3 this.name="我是A函数"; 4 } 5 6 A.prototype={ 7 ...

  3. php图片上传存储源码,可实现预览

    <?php header("content-Type: text/html; charset=gb2312"); $uptypes=array('image/jpg', // ...

  4. jQuery 效果 - toggle() 方法切换元素的可见状态。

    定义和用法 toggle() 方法切换元素的可见状态. 如果被选元素可见,则隐藏这些元素,如果被选元素隐藏,则显示这些元素. 语法 $(selector).toggle(speed,callback, ...

  5. 【二】调通单机版的thrift-C++版本

    [任务2]调通单机版的thrift-C++版本 [任务2]调通单机版的thrift-C++版本 创建文件 安装boost开发工具 拷贝文件 [可忽略此步骤,如果c++代码直接编译无误的话] 编译 创建 ...

  6. 调试日志——基于stm32的智能声光报警器(三)

    智能声光报警器基本功能调试完成. 1.通过拨码开关来设置LED闪烁的频率. 2.关门时喇叭不想,灯熄灭. 3.旁路模式时,灯处于闪烁状态,此时关门灯扔闪烁. 关于此次代码我觉得还是有可以优化的地方,电 ...

  7. mysql底层实现

    MySQL 的常用引擎 1. InnoDB InnoDB 的存储文件有两个,后缀名分别是 .frm 和 .idb,其中 .frm 是表的定义文件,而 idb 是数据文件. InnoDB 中存在表锁和行 ...

  8. Asp.Ner Core定时任务

    AspNet Core定时任务 纪念人类首张黑洞照片发布 第一种方式BackgroundService 基于后台服务类BackgroundService实现,类所在命名空间Microsoft.Exte ...

  9. jdk各种老版本的下载链接

    java SE 1.6各个版本 jdk  api http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downlo ...

  10. [agc002D]Stamp Rally-[并查集+整体二分]

    Description 题目大意:给你一个n个点m个条边构成的简单无向连通图,有Q组询问,每次询问从两个点x,y走出两条路径,使这两条路径覆盖z个点,求得一种方案使得路径上经过的边的最大编号最小.n, ...