第三次作业——结队编程

成员:

031302501

031302530

实现功能:

  1、将初始的排课表导入数据库。

  2、将系统数据库的排课数据 显示在APP的界面里。

功能分析:

  1、对于第一个功能,主要是利用到java的处理excel的包,将excel表格的内容解析出来,存到设计好的数据库表里面,编码难度相对较大,需要考虑格式的转换等问题。

  2、第二个功能是将成功导入数据库的表格给展示在界面上,难度要比较小,侧重点在于如何能够使界面友好,简洁。

实现思路:

  1、本次任务我是负责将excel表导入数据库,并实现数据库的相关操作;我们组使用Android实现;java有专门的jar包来处理excel表格,我们导入jxl包;考虑到要实现数据的封装,我们专门建立一个课程类course.来储存excel表格中每个课程的信息;Android有自带的SQLite数据库,我们先创建一个类继承SQLiteOpenHelper类来创建course表,然后创建相应的方法来实现表的增删改查;这样就实现excel表导入数据库,后面就可以通过对数据库的操作将课程信息展现在相应界面上了。

  2、在数据库操作类DBManager定义两个方法,一个能够返回所有的课程名称,将课程名称分别关联到ListView控件里面,作为每一个ListView的关键字,显示在一个ShowInfoActivity里面,点击任意一个ListView之后,把它对应的关键字利用intent.putExtra方法,传递给另一个用来显示对应课程名称的数据项的详细信息ShowCourseActivity,这个活动则利用获取到的关键字,调用DBManager的另一个方法得到该条数据项的信息,并用一系列的TextView显示出来。

数据库设计:

  因为这次我们只需要创建一个course表,所以我们没有使用powerdesigner;

  我们可以用sqlite studio来查看sqlite数据库中的course表:

  

PSP表格:

PSP

Personal Software

Process Stages

Time(%)

Planning 计划  5
  Estimate   估计这个任务需要多少时间  5
Development 开发  90
  Analysis   需求分析  5
  Design Spec   生成设计文档  0
  Design Review   设计复审  5
  Coding Standard   代码规范  5
  Desin   具体设计  20
  Coding   具体编码  30
  Code Review   代码复审  12
  Test   测试(自测,修改代码,提交修改)  13
Reporting 报告  5
  Test Report   测试报告  0
  Size Measurement   计算工作量  0
  Post&ProImpro...   事后总结,并提出过程改进计划  5

实现效果:

  刚开始显示所有课程

  

  点击课程会显示相应课程信息:

  

结对照片:

          

Github链接:

  https://github.com/sefzu2015GHello/CourseManagement.git

Github日志:

  

总结:

  1、我们在上传到github的时候一直faild,后来发现是因为当其他人已经往上面push过的时候,自己的代码可能和其他人的发生冲突了,无法合并,必须把github上的项目pull下来,在本地合并,然后把那些发生冲突的地方人工解决掉,之后再push上去就可以了。

  2、本次在截止时间内我们小组没有完成任务,数据库的插入与查询方法有bug;这主要是因为我们对Android知识掌握不够,以及安排的时间不够:比如说开始我刚开始设计course表时有int、String|、Float类型(SQLite中对应为integer、text、real),运行时会遇到各种bug,最后只能把course表的所有类型改成String;再比如说表中有的字段是空值,在执行插入、查询操作时会报错,这次也主要是卡在这个地方,所以才不能完成任务;后面我们会解决这个bug,把这个任务完成;

原文地址:https://www.cnblogs.com/fenice/p/4848905.html