"数字口袋精灵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. mysql数据库用户密码管理

    创建用户:create user 'oracle'@'localhost' identified by 'password'; MySQL 8以上:alter user 'root'@'localho ...

  2. [原]nginx 一下快一下慢的问题

    在本机用thinkphp建了一个小网站,没任何问题,发布到云空间,就出现访问很慢的情况,而且是一下快一下慢,奇数次快,偶数次慢 换了一台win10的笔记本,情况一样,更新了phpstudy更新了thi ...

  3. Delphi写的DLL,OCX中多线程一个同步问题

    Delphi写的DLL,OCX中如果使用了TThread.Synchronze(Proc),可能导致线程死锁,原因是无法唤醒EXE中主线程, Synchronze并不会进入EXE主线程消息队列. 下面 ...

  4. Python中各种进制之间的转化

    1.十进制转化为其它进制 (1)bin(x):十进制转化为二进制 [实例1] x=bin(20)   # x的值为字符串'0b10100' (2)oct(x):十进制转化为八进制 [实例2] x=oc ...

  5. 白帽子讲web安全——认证与会话管理

    在看白帽子讲web安全,刚好看到认证与会话管理:也就是我们在平常渗透测试中遇到最多的登录页面,也即是用户名和密码认证方式,这是最常见的认证方式. 了解两个概念:认证和授权 1):认证的目的是为了认出用 ...

  6. django无法加载样式

    如果运行的环境是win10,那么首先应该考虑是否是如下问题 win10中Django后台admin无法加载CSS等样式 解决: 修改win10的注册表:[win+R输入Regedit] 因为你安装的某 ...

  7. React with webpack

    //entry.js require("!style!css!./style.css"); require("./hello.jsx"); // documen ...

  8. 20155223 2006-2007-2 《Java程序设计》第3周学习总结

    20155223 2006-2007-2 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 有点好奇:为什么Java编程语言一定要使用java.math.BigDecimal才 ...

  9. 20155307《Java程序设计》实验二实验报告

    一.单元测试和TDD 用程序解决问题时,要学会写以下三种代码: 伪代码 产品代码 测试代码 正确的顺序应为:伪代码(思路)→ 测试代码(产品预期功能)→ 产品代码(实现预期功能),这种开发方法叫&qu ...

  10. 实验五 Java网络编程

    实验五 Java网络编程 实验五 Java网络编程 实验五所涉及的密码学算法及编程思路 ## Java对称加密-DES算法 (1) 获取密钥生成器 KeyGenerator kg=KeyGenerat ...