选修课推荐系统设计与开发

一、为什么
由于报名了学校的创新创业练习大赛,开始不知道做什么,就糊里糊涂的弄了个选修课推荐系统,之后发现不太实用,不过已经通过了,只能硬着头皮上了。
二、设计即成果图
1、登录注册界面(用户信息都在Bmob后端云里,减少服务器和数据库开发)
2、主界面,采用Tablayout,viewpager的布局,有三个碎片,分别是课程表,选修课推荐,个人中心。
3、课程表碎片,课程信息从学校的正方教务系统获得,展示由别人的控件展示。
4、选修课推荐碎片,有个性推荐分,总点击推荐,喜欢人数推荐。还可以选择自己不能选择的科目和搜索课程功能。个性推荐分由注册信息和该用户点击数组成;总点击分由全部用户点击组成;喜欢分由所有用户点击喜欢组成。
5个人中心界面,展示用户本人的信息。
6、主要成果图
选修课推荐系统设计与开发_第1张图片
选修课推荐系统设计与开发_第2张图片
选修课推荐系统设计与开发_第3张图片

三、遇到的困难和收获
1、登录界面要用到正则表达式,之后简单回顾了下。(以前不知道为什么老师说正则表达式很重要,现在才知道)
2、注册界面的的上传图片很麻烦,从相册获取图片之后还要剪辑。之后写了一篇关于这个的文章:地址:android之换头像及遇到的一些坑
3、课程表从学校的正方教务系统获取课程信息,很麻烦,要用jsoup和抓包工具Fiddler,收获匪浅。也写了一篇博客。地址:android之爬取正方教务管理系统获取信息
4、从学校获取课程表信息后,要提取其中需要的文字,这是个繁琐的工程,需要耐心和找到规律。
5、推荐界面主要与bmob打交道,有并发的事情发生,还好bmob有原子计数器

四、项目源码:百度网盘
密码:z0bh
五、改进
1、图标
2、界面优化
3、改变标题栏
4、活动的关闭
5、无网络也有数据,需要三级缓存,现在缺少初始化的时候,先读内存,再读文件,再读网络,而我没有文件这部分
6、权限设计
7、课程表可以自己增加,修改,删除课程。还有第几周可以根据时间变化,而不是打开就是那个周。可以选择第一学期,第几学年度。
8、一个用户喜欢只能点击一次,不能无限次,增加评论功能
9、可以时时更新剩余课程量
10、可以修改个人信息
六、参考资料
1、BmobAndroid参考文档
2、课程表控件参考文档
3、MVP模式,模块化

你可能感兴趣的:(Android)