031302502
031302509
功能分析及实现思路(502)
- 从存储器获取excel文件位置:
制作了一个简易的文件浏览器来实现。首先获取存储器默认位置,用listview显示所有文件。通过点击可获取文件名,若是文件夹,则进入;若是文件,则判断是否是.xls文件,如果是xls文件,则返回其位置。
- 将excel导入数据库:
- 一开始上网搜索android端解析excel文件的api,得知要使用jxl或者Apache的POI。两个都试用一遍,才选择jxl。使用POI时,Android Studio无法编译,好像是LICENSE重复,屏蔽编译这个文件也没有用,花费半天时间仍然没法解决,于是舍弃POI。其实POI功能更强,而jxl不支持excel2007及以后的文件。
- 用jxl解析老师上传的文件,需要跳过1-3行,所以直接从第四行开始。获取有效行列数,使用双重for循环来遍历每个元素。每行结束后,将获取的该行数据插入数据库表中。
- 将数据库信息显示在界面上:
由于数据库表太长,因此将其分割为三个界面:
- 第一个界面:显示年级,专业,专业人数
- 第二个界面:专业人数,课程名称,选修类型,学分,学时,实验学时,上机学时
- 第三个界面:起讫周序,任课教师,备注
使用SQLite的distinct保证列表不显示重复。
每次切换界面,都会把上一个界面点击的列表位置上的值存到intent中,以此传到下一个界面。让下一个界面对此进行解析,并用这些值去数据库查找。
数据库的设计(509)
本次设计的数据库只需要一张表,把所有需要的数据全部存入里面,所以在设计上非常容易实现,因此使用PowerDesigner的设计过程这里略过,这里有一个连接供初学者学习如何使用PowerDesigner设计数据库
【http://blog.sina.com.cn/s/blog_93f52472010179jh.html 】
PSP表格(509)
源码的Github链接(509)
https://github.com/sefzu2015Ggavin/CourseManagement.git
commit记录
总结(509)
这是我们第一次结对编程,在这个过程中我们遇到了许许多多不同的问题,比如一开始不知道为什么用git push命令老是出错不能提交,居然和队友花了一个晚上的时间还是没解决,第二天才在队友的努力下发现是一个关于权限的问题,虽然只是个小问题,但我们为此付出了沉重的代价。不过这次的收获也不小,在开始的时候不知道从何做起,很多东西都不懂,都是边做边学,因此也感觉受益匪浅。在编程的过程中,能够及时与队友沟通,问题都能及时得到反馈,让进度提快了不少,也体会到了结对编程带来的好处和团队编程的重要性。然后最深最深的体会还是现在懂的东西太少,要学的东西还太多,只能说路漫漫其修远兮,吾将上下而求索。