WakeUp课程表3.0重构说明

作者: YZune | 来源:发表于2018-08-15 23:47 被阅读54次

WakeUp课程表 3.0

LOGO

下载地址:酷安市场源

上架情况

  • 酷安[√]
  • 应用宝[√]
  • 魅族应用商店[√]
  • 小米应用商店[√]
  • OPPO应用商店[√]
  • VIVO应用商店[√]
  • 华为应用商店[x]

华为给的驳回理由是没有提供测试账号,我猜测是因为侧栏有个“点击登录”的提示。看来上架华为应用商店要等登录功能做好了hhh。不过不得不说华为应用商店的审核确实比较严格,现在上传的应用涉及敏感权限的都要截图写个文档来证明。

下面是一些截图。

主界面
导入课程
侧栏

重构概况

这是WakeUp课程表的Kotlin重构版本,它重构的地方不仅仅是换了一种语言来编写这么简单。若只是单单地用Kotlin替换Java,那重构的意义其实也不太大🤔。在用户看来,这是一个界面更为友好、启动更为迅速、功能更为强大的版本。对我而言,此次重构的意义更在于设计模式的转变。

旧版从动手到首次发布,仅仅用了一周的时间,编写过程极为匆忙,很多地方都来不及细想,代码写得不甚规范,经常是一个Activity把所有与它有关的代码容纳进去了。后期维护起来看得确实有点头晕,而且需要扩展新功能的时候……嗯无从下手,老是用一些曲线救国的方法。我认为旧版从实现上最令人诟病的一点,应该是数据的存储过分依赖SharePreferences,其实核心的课程数据也是用SP来存储的🤣。旧版第一次引入数据库还是为了管理AppWidget桌面小部件,使用的是GreenDao,这种做法好像是在我设计咩咩时想出来的。咩咩的桌面小部件方面我自认为是做得很完美了。

代码糟糕的旧版在前,重构时我就重视起了框架。MVC、MVP、MVVM……其实我是一直会纠结哪种框架是最佳实现的,也关注Google推荐哪种框架。然后就发现了Android Architecture Components,谷歌在Google I/O 2017发布一套帮助开发者解决Android架构设计的方案,名字有点长……这套框架我这萌新在使用初期真的是各种不爽,但到了后期,写着写着就忍不住感叹这套框架是真的牛逼。不过关于这套框架的大部分中文资料都只是官方文档的翻译,会让人摸不着头脑。我会尝试具体写一下我使用这套框架的情况。

开源相关

使用的开源库

其他

模拟登录和课程解析部分参考了另一个课程表项目,不过我对课程解析部分改动非常大,导入更为准确。

TODO

  • 集成“咩咩”(这意味着咩咩也要用Kotlin重构啦)
  • 完善对方正教务课程的解析
  • 数据备份和恢复
  • 课程分享
  • 增加对夏冬令时的支持
  • 注册登录,小范围的社交,主要是为社团的活动服务

相关文章

  • WakeUp课程表3.0重构说明

    WakeUp课程表 3.0 下载地址:酷安市场源 上架情况 酷安[√] 应用宝[√] 魅族应用商店[√] 小米应用...

  • WakeUp课程表项目指南

    写在前面 大学生活一下子就过去两年了,在这里也小小地感慨一下,时间过得好快哦。最近心情比较复杂,所以大学生活究竟过...

  • RunLoop的wakeup port

    RunLoop的wakeup port起什么作用? 在查看RunLoop内容时,会显示wakeup port,如下...

  • sql优化案例

    说明一下sql的优化过程 场景介绍 数据库 mysql 5.6场景说明 课程表: 课程表插入数据,20条: 学生表...

  • 反序列化中__wakeup()函数漏洞

    __wakeup()是用在反序列化操作中。unserialize()会检查存在一个__wakeup()方法。如果存...

  • Vue 3.0 的新特性

    Vue 3.0 的新特性 更快更省 完全 TypeScript 重构 Composition API 其它改进 1...

  • Vue3.0(vite工具搭建项目)

    vue3.0浅析 前提vue2.X中很多内容被保存下来;vue3.0采用的是typescript进行重构的 几大亮...

  • [openharmony]使用手工编译的ohos-sdk

    3.0LTS 在OpenHarmony的3.0LTS版本发布中有说明,已经支持ohos-sdk编译,如下 这个说明...

  • vue3.0 + ts 使用viewerjs 图片放大预览插件

    前端时间vue3.0正式发布了,于是就尝试把原有项目重构一下,结合typescript重构项目,总体上还是很容易上...

  • xctf-unserialize3

    给了我一段代码,php,_wakeup(),反序列化过程中,会调用这个wakeup。 先上代码: 所以要有反序列化...

网友评论

    本文标题:WakeUp课程表3.0重构说明

    本文链接:https://www.haomeiwen.com/subject/lcwgbftx.html