培训班模块工作总结

来源:互联网 发布:索尼rx100一代知乎 编辑:程序博客网 时间:2024/05/01 01:45

主要功能介绍

  1. 可以分类查看培训班列表,如待报名,学习中,考核已通过等,支持分页;
  2. 可以在不同维度下,通过关键字搜索,查询培训班;
  3. 可以查看培训班详情,培训班详情包括:培训班基本信息,培训班下课程列表,学习状况,相关考试;
  4. 在培训班详情页可以点击报名,已报名的可以点击培训班下的课程进行开始学习或继续学习。

主要接口

1.获取培训班列表

请求参数:
trainingState(查询维度)
keyWord(关键字查询)
pageNo(页码)
pageSize(页的大小)

2.获取培训班详情

请求参数:
trainingId(培训班Id)

3.获取培训班下课程列表

请求参数:
trainingId(培训班Id)
sort(课程分类:默认,点赞数,最近播放)
ascOrDesc(排序:升序,降序)
pageNo(页码)
pageSize(页的大小)

4.报名/学习培训班

请求参数:
trainingId(培训班Id)

程序设计

1.列表页

这里写图片描述

采用简单工厂模式,选择不同的条件,生成对应的Fragment,填充FrameLayout。主要用到FragmentTransaction中的add(),hide(),replace()函数。

2.详情页

这里写图片描述

在LinearLayout中,填充Fragment = RadioGroup + ViewPager。这样做的好处是,当增加或减少RadioButton时,只需更改Fragment类,耦合性较低。

问题总结

1.逻辑方面

  1. 报名培训班之后,没有及时更改学员的状态,导致他的课程不能及时被播放;
  2. 写接口文档的时候,有漏写接口的情况;
  3. 课程列表分页加载时,我设置每页大小等于5,但是,5个并不能填满屏幕,而是再去下拉继续加载,这样很怪!

2.代码方面

  1. 当报名培训班之后,我使用EventBus发送消息给相关界面,通知他们刷新学员的状态。但由于某些界面在发送消息的时候,还未执行onCreate(),即,并未执行EventBus.getDefault().register(),所以收不到消息。我在那里苦苦调试了快一个小时!!!
  2. 培训班下对应8个维度,每个维度需要显示的东西有偏差,导致代码中用了很多switch(),不知道有没有什么更好的方法来替代。
  3. 培训班列表页一开始不是使用简单工厂模式,而是多个Fragment共用一个ListView去显示,这样做确实减少了代码量,但是,当我多次点击选择框时,会出现我停留在选择2,却显示选择1的内容的情况。
1 0
原创粉丝点击