Android课程表客户端实现方案

客户端开发

1. 开发环境

开发平台:Android Studio 
开发语言:Java 
api:Android 7.0 N api 24

2. 课程格子显示

ScrollView拉动显示下方格子,采用相对布局 
即可自定义格子大小,方便阅读简略信息,并可下拉滑动显示下面隐藏课程,具体实现请见Demo。

格子划分和背景显示的解决方案 
由于每个格子都有显示课程内容的可能性,因此本应用采用最简便的一种方式进行实现,即自己定义TextView,实现内部透明外部实线形式,这样就可以添加自定义背景,具体实现请见Demo。 
UI效果图如下: 


可选择周数显示该周所上课程 
可以点击标题栏周数来选择其他周数,查看其他周应上的课程 
UI效果图如下: 


从服务器动态获取课程信息+增删查改 
本应用采取OkHttp开源框架实现客户端用户请求的发送和服务器响应的接收,并用GSON将服务器端传回的JSON或JSONArray转化为java对象。 
详细使用方式请见:OkHttp使用帮助文档 & GitHub gson 
注:Demo中由于未配置服务器,因此改为从本地SQLite获取course数据。

显示课程详细信息 
通过自定义galleryView控件进行同一时段重叠课程的滑动显示,具体实现请见demo,具体实现请见Demo。 
UI效果图如下: 


3. 左滑动主菜单显示

显示滑动菜单界面布局使用了由support-v4提供的DrawerLayout,在其中放置了两个直接子控件,其中: 
1)FrameLayout用于显示主界面的界面布局, 
2)NavigationView用于在滑动菜单页面显示自定义布局。自定义布局中包含菜单标头和菜单选项,菜单标头由nav_header.xml实现,其中显示了当前日期及用户所在学院和用户头像;菜单选项由nav_menu.xml实现,其中显示了对规划的管理操作以及设置等选项。

效果图如下: 


4. 爬虫

利用Android 开源库jsoup实现了从教务处网站爬取用户课程信息的功能,connect()方法连接教务处,直接利用带有session参数的cookie连接教务处的学生课表页面,解析返回的HTML页面获取该用户所选的全部课程并返回对象。 
API非常简单易用哦,详细使用方式请见:Jsoup官方网站 
注:由于各个学校学院的教务处网站不尽相同,所以此Demo将爬虫省略。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值