一、本次Daily Scrum Meeting主要内容

  • 各队员的任务完成情况
  • 文件选择器布局只是暂时使用,后期会改方式,放在后面解决。
  • 接下去都要做什么

二、项目进展

学号尾数 今日已完成任务 接下去要做
502 在手机端解析Json数据,并插入手机数据库 将数据库的数据转换成Json数据,并发送到服务器;在服务器上解析Json数据
509 解决生成数据库样例数据的类的BUG 写出服务器插入数据到数据库教师表的API
517 解决日期选择器BUG 绑定数据库的数据到界面:报课表显示界面及点击报课表后的弹窗;
530 绑定数据库的数据到界面:教师列表界面 绑定数据库的数据到界面:教师详情界面;根据选择的xls文件,导入到教师表

三、Burndown Chart

11/10补上正确的燃尽图:


四、遇到的困难

  • 在手机上解析Json数据,然后插入数据库碰到了问题(已解决)。因为我们数据库的操作是使用开源框架来完成的,而用这个框架插入数据到数据库的时候,要求数据是整个pojo类。因此解析服务器发过来的Json数据,就需要绑定到一个类上面。

    • 如果简单粗暴的调用set方法或者构造方法将Json数据放到一个pojo类里面,那么需要在解析Json数据的时候,逐个取出数据。这样就不能保证良好的扩展性,到时候数据库有改变,得改很多地方。而且代码会很冗余
    • 上网查资料,最终决定使用Gson来解析Json数据。当Json一次性包含了多个数据库行的时候,可以直接解析为List。只要在解析的时候,将pojo作为参数传入,它会自动将数据对应起来。这样得到的就是一个pojo的List。这样不仅具有良好的扩展性,而且代码简洁。在服务器数据库表结构改变的时候,只需要改pojo类里的内容,就既可以让本地数据库同时改变,又可以在解析Json的时候获得正确的结果。
  • 对于数据库的操作,碰到了问题(已解决)。因为是用开源框架来操作的,对pojo类的要求比较严格。这一点一开始没注意到,geter 和 seter 方法的名字在改动的时候没有那么在意,就没同步更新名称。这导致在插入数据库的时候,发生了错误,无法插入数据。试了各种方法,最后发现只要重置seter和geter就行了。(509同学简直要疯了,一整天空余时间没有复习过两天要考的科目,都耗在这上面(ಥ _ ಥ))

五、体会

509:

  • 框架能避免我们写一大堆自定义模块来实现我们要的东西,框架能节省我们不少的时间和精力,但前提是你要彻彻底底的学会如何使用框架,而学习也需要花比较多的时间,不过只要学会使用框架之后,将是终生的受益。但我觉得使用框架最大的缺点就是如果使用框架而出现错误,将很不好找出原因,毕竟我们并不了解框架的内部结构,只能通过一些经验和尝试去排除错误。

    • 这次编写本地数据库使用的是afinal框架,在编写之前也花了好些时间学习,但学完之后花了不到两小时就把本地数据库的类给写好了。本来以为没问题了,但在用数据库类写初始化数据库类时还是发现了严重的问题:有三个表的主键在不能插入表的情况下其它数据居然能插入表中,这然我很不知所措,因为文档上说将数据插入表时必须要有主键,不然无法插入。
    • 去查看用于创建数据表的实体类(afinal是通过实体类来创建表的),发现没什么错误。于是又拿之前哪来测试的实体类(经测验次实体类能正确插入数据)来对比,也没发现什么不同。后来又设想了好几种错误进行排查,比如将数据表的名字换成跟实体类的名字一样(结果发现还是没用),在排除了几乎所有可能错误的假设之后还是没发现错误在哪,最后在舍友提议下将实体类中的setter方法(用来插入数据和更新数据)从新编写,将方法名设置成和变量名一样,结果居然能将数据正确插入了。虽然不知道为什么要这样,但是解决了问题还是很激动,不过回想起来居然会错在这种令人想不到的地方(因为感觉方法名字并不会影响到什么),而花了那么多时间又很心累。想了想,以后要是自己有实力,能自己写的东西还是尽量不要再用框架的好。

【Alpha】Daily Scrum Meeting第七次的更多相关文章

  1. 【Beta】Daily Scrum Meeting第七次

    1.任务进度 学号 已完成 接下去要做 502 发布任务到服务器 测试 509 将各api的处理逻辑放到类里面 让主api调用这些类 517 删除任务和教师的控件及逻辑 提交报课审核信息 530 完善 ...

  2. 一、Daily Scrum Meeting【Alpha】------Clover

    [Alpha]Daily Scrum Meeting 第一次 [Alpha]Daily Scrum Meeting 第二次 [Alpha]Daily Scrum Meeting 第三次 [Alpha] ...

  3. Daily Scrum Meeting 汇总

    Alpha Daily Scrum Meeting --FirstDay(11.8) Daily Scrum Meeting --SecondDay(11.9) Daily Scrum Meeting ...

  4. 【Alpha】Daily Scrum Meeting第十次

    一.本次Daily Scrum Meeting主要内容 每个人学习情况 测试的任务的安排 Alpha版本展示的具体内容 二.任务安排 学号尾数 昨天做的任务 今天做的任务 任务用时 612 完成将计时 ...

  5. 【Alpha】Daily Scrum Meeting第三次

    本次随笔调换了展示顺序,把重要的内容放前面. 一.本次Daily Scrum Meeting主要内容 说明要完成alpha版本还需要哪些功能 对这些功能进行分析和实现方式的讨论 强调编码规范和变量命名 ...

  6. 【Alpha】Daily Scrum Meeting第四次

    之前没领悟到Daily Scrum Meeting的精髓,认为要做出些东西才敢拿出来. 在范老师提醒我们保持有节奏的迭代后,我们意识到之前的想法是不符合Daily Scrum Meeting的思想的. ...

  7. 【Alpha】Daily Scrum Meeting第六次

    一.本次Daily Scrum Meeting主要内容 各队员的任务完成情况 接下去要做的任务有哪些方面的问题 二.项目进展 学号尾数 今日已完成任务 接下去要做 502 统一Excel表头数据的英文 ...

  8. 【Beta】 第七次Daily Scrum Meeting

    第七次meeting会议 [Beta] 第七次Daily Scrum Meeting 一.本次会议为第七次meeting会议 二.时间:10:00AM-10:20AM 地点:禹州楼 三.会议站立式照片 ...

  9. Alpha阶段scrum meeting七天冲刺博客-天冷记得穿秋裤队

    Alpha阶段scrum meeting七天冲刺博客 day url 第一天 https://www.cnblogs.com/laomiXD/articles/9874052.html 第二天 htt ...

随机推荐

  1. Anynote 基于ExtJS多用户个人信息管理系统

    Anynote——个人信息管理系统 —–主要用于学习交流—– 源码下载:https://git.oschina.net/xiyt/Anynote.git 一.系统说明 Anynote是一个基于extj ...

  2. Node.js Stream - 实战篇

    邹斌 ·2016-07-22 11:04 背景 前面两篇(基础篇和进阶篇)主要介绍流的基本用法和原理,本篇从应用的角度,介绍如何使用管道进行程序设计,主要内容包括: 管道的概念 Browserify的 ...

  3. ORACLE 触发器

    •1.1 触发器类型 • DML触发器 • 替代触发器 • 系统触发器 •1.2 创建触发器 • 触发器触发次序 • 创建DML触发器 • 创建替代(INSTEAD OF)触发器 • 创建系统事件触发 ...

  4. 《征服 C 指针》摘录6:解读 C 的声明

    一.混乱的声明——如何自然地理解 C 的声明? 通常,C 的声明 int hoge; 这样,使用“类型 变量名;”的形式进行书写. 可是,像“指向 int 的指针”类型的变量,却要像下面这样进行声明: ...

  5. Segment set

    题目大意: 在一个平面上,给定N根线段,若某条线段与另一条线段相交,则将它们归于同个集合,给定k,问第k条线段所在的集合中线段的数量. 题目分析: 问题主要考察计算几何和并查集. 首先我们要判断两条线 ...

  6. r-cnn学习(五):SmoothL1LossLayer论文与代码的结合理解

    A Loss Function for Learning Region Proposals 训练RPN时,只对两种anchor给予正标签:和gt_box有着最高的IoU && IoU超 ...

  7. debug [LTS]

    0613 A. 复制代码的时候忘了后续的对称的修改. 统计答案时出现了一些不可理喻的低级失误. B. 在0-indexed的程序中访问第一个元素使用了Arr[1]. Matrix-tree为mat[d ...

  8. screen 常用命令

    screen -r <id | name>  # 进入 screen C-a c # ctrl+a + c , 新建screen窗口 C-a A # ctrl+a + A, 命名scree ...

  9. Odd Even Linked List

    Given a singly linked list, group all odd nodes together followed by the even nodes. Please note her ...

  10. go:匿名函数与闭包

    一.匿名函数 定义:没有函数名的函数. 作用:在go语言中目前了解的作用就是用于构成闭包. *注:由于javascript不存在块级作用域,故匿名函数常用来包含代码以不污染全局命名空间,运行后销毁环境 ...