Java
Need help with CDTU?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.
longer96

Description

大一时针对我校开发的校园客户端,方便学生查课表、成绩、一卡通消费记录等等。遵循MD开发原则,数据大多通过抓包获取,现开源(已屏蔽学校相关信息)

128 Stars 41 Forks 51 Commits 2 Opened issues

Services available

Need anything else?

成都工业学院App

大一时针对我校开发的校园客户端,方便学生查课表、成绩、一卡通消费记录、失物招领等等。遵循MD设计原则,数据大多通过抓包获取,现开源(已屏蔽学校相关信息,怕被请回去喝茶)
Ps:第一次这么认真写文章,有不合理的地方希望大家提出   --- 谢谢谢谢啦


Introduction

功能的实现主要是通过模拟网页登录,通过抓包和爬虫获取数据,底层都是HttpClient写的(当时大一才接触Android,Httpclient已被官方废弃)。正往Mvp + RXjava 转型,在校期间有空就在更新软件,校内好评度很高,现毕业设计之后开源。
Ps:有公司看得起的望给口饭吃(流泪)

实现功能

  • App Splash页秒开(感谢图形图像专业提供的UI设计) > 涉及代码:AppSplashActivity.java



* 本校学生通过校园帐号登录 > 涉及代码:LoginSchoolActivity.java * 若作为刚接触的同学可以参考后面补充,写的很详细(大佬绕道):**更多补充模拟网页登录**



* 其他用户可以通过手机号或QQ一键注册、登录

ps:但是不能进行学生相关的查询。涉及代码:RegisterActivity.java , LoginPhoneActivity.java * 短信验证码使用的是:Bmob短信服务 * 同时推荐使用阿里大于的短信验证API:阿里大于 * 中间还涉及到手机号码的验证,介绍一个好用的工具集合:AndroidUtilCode * QQ三方登录官方文档



* 课表功能的实现(很好看,用户体验棒)

涉及代码:CourseActivity.java , CourseaddActivity.java , CourseeditActivity.java * 高校大多数都是使用正方系统,课表的数据也是从正方系统爬取解析的,解析的方法大家可以参考utils目录下StreamTools.java getcourse方法。

* 扁平设计,大大提升内容的占有率
* 个性化设计,可使用系统自带背景图以及自定义背景图 * 用户可编辑课程,查看学期安排以及教学时间表



* 主页轮播图的实现

涉及代码:MainActivity.java * 预览图使用的是学校的风景图,后台可更换图片url、数量、添加事件。 * 图片是挂在在 花瓣网 上的(自己服务器带宽小,学生党伤不起) * 轮播图的实现参考 RollViewPager



* 主页布局实现(主要参考支付宝)

涉及代码:MainActivity.java , FragmentMenu.java * 底部导航实现参考 AHBottomNavigation * 布局严格遵守 Material Design 准则。 Material Design 中文版 * 实现了信息的整合,将有效的信息提取显示,避免效益冗余。 * 更多功能菜单的实现,可下载查看布局文件appbar_main.xml 参考博客 * 水平RecyclerView的使用,相关博客:RecyclerViewSnap * 场景过度动画 可百度

Shared Element Transition




* 表白墙

涉及代码:LoveActivity.java , LoveOne_Activity.java * 点赞动画的实现 ShineButton * 文字墙效果的实现 文字飞入、飞出效果  



* 图书馆

涉及代码:library 文件下所有 * 抓取我校图书馆相关数据,优雅的显示在手机上 * 学生可以查询所借图书,历史借阅 * 可以查询图书信息,检索图书(有时间可以深入完成高级检索功能) * 学生可以查询图书馆相关信息




* 一卡通消费记录

涉及代码:Card_Activity.java * 下拉刷新,上拉加载  刷新效果参考:WaveSwipeRefreshLayout




* 正方系统

涉及代码:zfxt 文件下所有 * 在校成绩(查成绩很方便,期末app经常挤爆) * 课表查询 * 等级考试、学分统计、考室查询(有时间可以扩展更多功能 如:一键评教、一键选课)





* 学校黄页

涉及代码:YellowActivity.java , SqliteselectActivity.java * 数据不是很齐全,没有官方提供数据。也迫于没有经济支持没能做大 * 自己写的标签页,之后才发现网上有更好的 * FlowLayout   * FlowLayout2 * 显示数据仿魅族通讯录(上个手机是Mx3,魅族通讯录做的真的不错)



* 同学的店(还对应一个商户版,用来管理、添加商品,接单等等,学生可以自己开店)

Ps:最近没时间完善了,涉及代码:StoreActivity.java * 左边导航栏的实现(仿外卖App以及京东) 开源项目:VerticalTabLayout * 寝室的选择(友好的交互)  开源项目:Carousel Picker * 店铺的选择  直接参考StoreActivity.java 中代码 * 底部购物车的实现 参考博客 * 加入购物车动画可参考 开源项目:ShoppingCartAnimation



* 失物招领(界面实现还行)

涉及代码:MainActivity.java , FragmentMenu.java , FragmentLost.java * 主界面(都是自己辛辛苦苦写出来的界面) * 详细界面(消息发布者可以编辑该消息) * 发布消息(需登录) * 其中也使用到了过渡动画,参考上面“主页布局实现-场景过度动画” * EditText的MD实现  可百度:

TextInputLayout
* 图片选择框架  开源项目:ImageSelector * 之后发现几个很好的图片选择框架,比如:GalleryFinal * 同时附上2个图片压缩框架(该项目未使用,是自己写的) * CompressHelper
* Tiny



* 跳蚤市场

涉及代码:MainActivity.java , FragmentMenu.java , FragmentGoods.java * 主界面(中规中矩),详细界面和上面的失误招领详细界面差不多就不重复了 * 右下角FAB 的实现 参考博客:MaterialSheetFab,网上还有很多类似的就不详细介绍了 * Material Design





* 校园公告

涉及代码:NewsActivity.java , News_bodyActivity.java * 抓取我校校园公告数据简单的显示 连接:校园公告



* 学生查询、一卡通查询

涉及代码:QueryActivity.java , Query_cardActivity.java * 主布局(仿QQ个人信息布局) * 搜索控件是自己写的,网上有更好的实现,如: * MaterialSearchView * MaterialSearchBar * PersistentSearch



* 校车、校历、学生处

涉及代码:ImageActivity.java , Calan_Activity.java , StudentActivity.java * 图片放缩控件 该App使用的是:PinchImageView,同时附上2个不错的框架 * PhotoView * FrescoImageViewer * 网络图片加载框架用的是:Glide图片加载,有很多优秀的图片加载框架博文中也有提到 * Glide加载圆图、白边圆图、高斯模糊见:更多补充



* 关于App

涉及代码:Info_Activity.java * 检查更新(打开App就有自动更新,分为强制和非强制更新,自己写的可以参考) * 滑动折叠的实现可以参考:博客



* 校园消息通知(若有消息,主界面显示,一般用于通知学校相关活动,以及学生会相关)



* 换肤框架(自己写的比较渣,简单略过)

涉及代码:SkinActivity.java



* 一卡通改密、挂失

涉及代码:CardToolsActivity.java * 使用Material-dialogs接受用户的输入



更多补充



* 图标素材网 * 阿里巴巴图标库 * easyicon.net * 不容错过的10个图标素材网站




* 图片加载框架 * Gilde * 使用方法及简介 * Glide加载圆形图片,设置白色边框 * Glide的拓展(高斯模糊、加载监听、圆角图片)




* 应用加固(第三方加固平台很多,仁者见仁) * 5大移动应用加固平台评测 * 该App使用的是:360加固宝



* 数据统计 * 国内做应用统计的也有很多,大家可以自行了解后选择 * 小米统计服务使用指南




* 消息推送 * 推送了解:安卓推送这件小事 * 国内做第三方推送的也有很多:Android推送SDK哪家好? * 大家自行选择,该App使用的是:小米推送



* QQ一键加群 * 原来以为需要接入QQ Sdk才能实现,结果却是很简单:QQ一键加群



* jsoup解析网页 * 利用Jsoup抓取数据



* 接入分享App、跳转到应用商店评论功能 * 这块网上教程很多,也不复杂,博主就不啰嗦了



福利

自己在开发过程中收集的一些有用的干货现在全部分享出来,总的来说:个人的开发能力不强,但更愿意借助巨人的肩膀 * 最全面的 Material Design 学习资料 * 博主每天有时间就在看的干货App:Gank.Io非官方客户端应用 * 安卓书签网 * Android开发技术周报 * 有很多不错的Demo:开源代码 * Android 资源大全中文版



Apk下载

  1. Pre.im http://pre.im/cdgyxy
  2. 应用商店搜索 “成都工业学院
  3. 下载Demo



关于我

即将毕业的学生,因学历压制,想找个对口的工作都不容易(工作尽心尽责,有上进心)  
★★★★★ Ps:望收留!(成都) ★★★★★

如果看见这篇文章的你也想给自己的学校开发一个App、或是遇到一些问题都可以联系我

QQ:1114070859
Email:[email protected]

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.