/timecat

:memo: 不需要打开 APP 即可进行时间管理、任务管理,为用户省时间!

Primary LanguageJavaApache License 2.0Apache-2.0

Time Cat 时光猫

本项目已获得 2017届 “发现杯” 大赛全国一等奖,感谢开源社区和每一位代码贡献者

本项目为“发现杯”大奖赛参赛作品,只进行交流学习,原则上不允许用于商业用途。

开发团队为“Time Cat时光猫团队”,队长为中山大学数学学院(珠海)林学渊

项目不包含data/目录,如有需要,请联系团队队长

  • 邮箱:linxy59@mail2.sysu.edu.cn
  • QQ:761516186

本仓库无法编译成功,因为没有data/目录,需要体验APP请下载参赛版APP或者扫描上图的二维码下载apk安装包。

图标 设计者及说明
本项目的图标设计者为林学渊,设计者保留所有权利,禁止用于商业。
交互设计 交互设计 交互设计
应用截图 应用截图 应用截图

本项目用到的开源项目:

本项目用到的开源项目
  • 代码

    • 响应式编程框架,采用观察者设计模式
      • io.reactivex:rxandroid:1.2.1
      • io.reactivex.rxjava2:rxandroid:2.0.1
      • io.reactivex:rxjava:1.3.2
      • io.reactivex.rxjava2:rxjava:2.1.6
    • android support
      • com.android.support:appcompat-v7:${supportVersion}"
      • com.android.support:cardview-v7:${supportVersion}"
      • com.android.support:customtabs:${supportVersion}"
      • com.android.support:design:${supportVersion}"
      • com.android.support:recyclerview-v7:${supportVersion}"
      • com.android.support:palette-v7:${supportVersion}"
      • com.android.support:preference-v14:${supportVersion}"
      • com.android.support:support-annotations:${supportVersion}"
      • com.android.support.constraint:constraint-layout:1.0.2"
    • mvp 框架
      • net.grandcentrix.thirtyinch:thirtyinch:${thirtyinchVersion}"
      • net.grandcentrix.thirtyinch:thirtyinch-rx2:${thirtyinchVersion}"
    • Rxlifecycle,解决RxJava内存泄露问题
      • com.trello:rxlifecycle-components:0.6.1
    • Event bus事件发布/订阅框架
      • org.greenrobot:eventbus:3.1.1
      • de.greenrobot:eventbus:2.2.1
    • kotlin
      • org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
  • 数据

    • Time and date handling
      • joda-time:joda-time:2.9.9
    • 在Bundle保存对象
      • com.evernote:android-state:${state_version}
    • 网络请求框架Okhttp3
      • com.squareup.okhttp3:okhttp:3.10.0
      • com.squareup.okhttp3:logging-interceptor:3.10.0
    • 网络请求处理框架Retrofit2,简化Okhttp3的请求
      • com.squareup.retrofit2:adapter-rxjava:${retrofit}"
      • com.squareup.retrofit2:converter-gson:${retrofit}"
      • com.squareup.retrofit2:retrofit:${retrofit}"
    • json解析
      • com.alibaba:fastjson:1.1.67.android
    • ormlite数据库
      • com.j256.ormlite:ormlite-android:4.45
  • ui

    • view注解框架
      • com.jakewharton:butterknife:8.8.1'
      • annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
    • tabLayout
      • com.flyco.tablayout:FlycoTabLayout_Lib:2.0.0@aar
    • recyclerview
      • com.yanzhenjie:recyclerview-swipe:1.0.2
      • jp.wasabeef:recyclerview-animators:2.2.6
    • ExpansionPanel
      • com.github.florent37:expansionpanel:1.0.7
    • floating action button
      • com.getbase:floatingactionbutton:1.9.0
    • round image view(for material getDrawer)
      • com.makeramen:roundedimageview:2.3.0
    • material库
      • com.github.rey5137:material:1.2.4
    • material dialog
      • com.afollestad.material-dialogs:commons:0.9.6.0
    • time picker
      • com.doomonafireball.betterpickers:library:1.5.5
      • com.contrarywind:Android-PickerView:4.1.2
    • navigationBar
      • me.majiajie:pager-bottom-tab-strip:2.2.5
    • material getDrawer强大的侧滑栏
      • com.mikepenz:materialdrawer:4.4.1@aar
      • com.mikepenz:iconics-core:2.1.0@aar
      • com.mikepenz:google-material-typeface:2.1.2.1@aar
      • com.mikepenz:community-material-typeface:1.2.65.1@aar
      • com.mikepenz:fontawesome-typeface:4.7.0.2@aar
      • com.mikepenz:materialize:0.2.7@aar
    • 强大的recycle view,自带下拉刷新等
      • com.scwang.smartrefresh:SmartRefreshLayout:1.0.5-alpha-2
      • com.scwang.smartrefresh:SmartRefreshHeader:1.0.5-alpha-2
      • com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.31
    • 圆形imageview
      • de.hdodenhof:circleimageview:2.2.0
      • com.flyco.roundview:FlycoRoundView_Lib:1.1.4@aar
    • 图片模糊效果
      • com.github.mmin18:realtimeblurview:1.0.6
    • 图表
      • com.github.lecho:hellocharts-library:1.5.8@aar
    • MaterialChipView
      • com.robertlevonyan.view:MaterialChipView:1.2.1
    • calendar日历库
      • com.haibin:calendarview:3.2.7
      • com.github.applikeysolutions:cosmocalendar:1.0.4
    • 动画库
      • com.daimajia.easing:library:2.0@aar
      • com.daimajia.androidanimations:library:2.3@aar
    • 图片框架
      • com.squareup.picasso:picasso:2.5.2
      • com.github.bumptech.glide:glide:4.6.1
      • annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
    • 富文本编辑
      • 富文本编辑,项目中com.github.LinXueyuanStdio:Android-Rich-text-Editor:for_timecat-SNAPSHOT是来自这个
  • 通知库

    • snackbar
      • com.nispok:snackbar:2.9.0
    • 封装好的toast
      • com.github.GrenderG:Toasty:1.1.3
  • 页面库

    • 自定义介绍页面
      • com.heinrichreimersoftware:material-intro:1.6.2
    • 自定义关于页面
      • com.mikepenz:aboutlibraries:5.2.5@aar
  • 其他

    • device获取设备信息

      • com.jaredrummler:android-device-names:1.1.5
    • 阿里百川用户反馈

      • com.aliyun.ams:alicloud-android-feedback:3.1.0@aar
      • com.aliyun.ams:alicloud-android-utdid:1.1.5.3
      • com.aliyun.ams:alicloud-android-ut:5.1.0
      • com.aliyun.ams:alicloud-android-utils:1.0.3
    • 工具库

      • com.simplemobiletools:commons:3.14.1

特别感谢(没有作为dependencies但使用了该仓库的代码或参考了其设计)

  • bigbang 是最初启发我开发timecat的项目,并且timecat原来是基于bigbang做的,对timecat有重要意义
  • 滴答番茄:参考了其成就页面
    • 滴答番茄是一款轻量级番茄钟应用
  • 轻番茄:参考了其番茄钟页面
  • 日事清:参考了其日程页面、月视图页面(正在开发)
    • 日事清是专业的团队协作和项目管理软件,包含工作计划、工作日志等功能,以PDCA产品理念提升团队工作效率,并针对电商推出电商erp管理系统,针对外贸推出外贸管理系统。
  • 日事清、trello:参考了其看板视图,已封装成一个库DragBoardView
  • Simple-Calendar:参考了课程表视图
    • Simple-Calendar是一款用kotlin写的轻量级日历应用
  • FastHub:自由开发者开源的GitHub的移动端,参考了其项目结构

致谢

开发进度:

  • 通过辅助模式,实现单击、长按、双击来进行选词;
  • 通过系统复制进行选词;
  • 通过辅助模式,实现全局复制进行选词;
  • 使用5.0以上的系统接口,进行截图OCR进行选词;
  • 通过悬浮窗、通知栏进行控制;
  • 日历视图
  • 直接在选词界面添加日程
  • 直接在截图界面添加日程
  • 替换图标,处理文字
  • 用户注册与登录
  • 侧滑栏管理
  • 主题系统
  • 看板系统
  • 成就系统
  • 桌面小部件
  • 反馈功能,用阿里云
  • 后台报表,用阿里云
  • 番茄钟界面
  • 番茄钟滴答声
  • 番茄钟统计数据
  • 课程表视图
  • 课程表时间段调节自定义
  • 计划视图
  • 计划视图弹出子菜单
  • 看板系统支持拖拽
  • 笔记、日程、生物钟、计划四大模块布置
  • 长按下面导航栏图标更换视图
  • 截图笔记
  • OCR可使用用户自定义的接口
  • 捐赠二维码,实现捐赠捐款
  • 内测QQ群跳转
  • 整体架构迁移到MVP架构

开发过程积累的相关文章

开发过程积累的相关文章(包括原bigbang的开发记录)

【Android TimeCat】 解决Gradle :Resolve dependencies :classpath的办法

【Android TimeCat】 切换软键盘和标签键盘时界面跳动

【Android TimeCat】 原地归并排序

【Android TimeCat】 给刷新按钮添加旋转动画

【Android TimeCat】 MVP架构演进

【Android TimeCat】 RecyclerView的卡顿问题

【Android TimeCat】 当RxJava遇到Retrofit(二)api注解@Path, @Url等

【Android TimeCat】 当RxJava遇到Retrofit(一)Retrofit入门

【Android TimeCat】 RxJava的使用(四)线程控制 —— Scheduler

【Android TimeCat】 RxJava的使用(三)对象转换器——map、flatMap

【Android TimeCat】 RxJava的使用(二)Action

【Android TimeCat】 RxJava的使用(一)基本用法

【Android TimeCat】 Android抽象布局——include、merge 、ViewStub

【Android TimeCat】 OrmLite框架入门与封装(三)封装

【Android TimeCat】 OrmLite框架入门与封装(二)高级操作

【Android TimeCat】 OrmLite框架入门与封装(一)快速入门

【Android TimeCat】 制作捐赠二维码,实现捐赠收款

【Android TimeCat】 跳转QQ加群

【Android TimeCat】 Android Studio 高效配置

【Android TimeCat】 Android Studio拾色器

【Android TimeCat】 懒加载需求下的BaseFragment封装

【Android TimeCat】 Android中使用矢量图(SVG, VectorDrawable)

【Android TimeCat】 Android中用intent传递对象的三种方法

【Android TimeCat】 比较Fragment中获取Context对象的两种方法

【Android TimeCat】 Java 回调及其在项目中的运用

【Android TimeCat】快速构建APP BottomNavigationView + ViewPager + Fragment

开发《全能分词》(又名《锤子Bigbang》)的心路历程

通过辅助模式获取点击的文字

使用辅助服务实现全局复制

使用辅助服务监听系统按键

如何通过Xposed框架获取点击的文字

使用Xposed框架实现全局复制

在onLayout中实现简单的微动效

如何使用Android的拖拽接口实现拖拽功能

通过ContentProvider多进程共享SharedPreferences数据

Android上如何实现矩形区域截屏

Android如何判断NavigationBar是否显示(获取屏幕真实的高度)

如何在Bitmap截取任意形状

4种获取前台应用的方法(肯定有你不知道的)

android7.0 通过代码 分享图片到朋友圈

Android中如何正确的获得所有App列表

Android的supportV7中默认按钮的颜色设置

Android沉浸式与SearchView的坑

Android中“强制停止”和广播保活的一个小坑

Xposed大法好,教你实现ForceTouch炫酷功能

如何实现android炫酷悬浮球菜单