freedom-xiao007 / clickApp

一个日常事务打卡和统计的APP,用于日常任务记录、任务所需时间记录、任务花费时间统计显示

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

目标打卡APP


时间管理类型APP,目前功能较少,有基本的目标清单、目标花费时间记录、花费时间统计展示

右侧release已发布编译好的安装包,可进行下载

有需要的小伙伴,可以自行拉取进行自己的特定需求开发

开发由来

    在学习的工程中,想用APP 将其记录下面,每日或每周重复打卡记录,类似于列清单。用手机软件就比较方便,但市面上的那些软件都没有符合我的需求的,有的还要付费......

    感觉这种东西写起来应该不难,就学习用flutter写了一个。

    注意的功能就是可以无限制列任务清单、记录任务进行的所用时间,后面并对所有时间进行了图标展示,便于了解时间上的效率情况

界面

    基本界面如下:

任务列表展示界面

    展示任务列表,右上角分别是统计详情按钮和任务添加按钮;任务三个按钮分别是打开按钮(每日任务完成后点击后变完成按钮,任意切换),任务计时开始按钮,任务计时停止按钮

page.png

任务信息展示界面

    任务信息页面,这里可以对现有的任务进行修改和删除

page.png

任务花费时间统计(饼图、柱状图、详情记录)

    任务花费时间统计显示,右上角分别是人工录入记录按钮(第一个是任务列表中不存在的任务,用于记录临时的一次性任务,第二个是已有任务的记录添加),第三按钮是记录情况按钮,慎用!

page.png page.png page.png

数据结构相关(目前版本先采用本地存储)

本地存储数据格式

打卡任务属性定义:taskProperty.log

    用map-list-map三层结构进行存储,一层map区分任务类型,二层list放任务数组,三层放任务定义

{
  "daily":[
            {
              "name": "任务名称",
              "cycleTime": [false, false, false, false, false, false, false], //每日任务执行时间,周1(数组元素0)为true
              "moduleId": "所属模块名称",
              "lastComplete": "最后完成日期",
              "isComplete": "当天是否完成",
              "type": "任务类型,每日daily,每周week,临时temp"
            }
          ],
  "week": .......,
  "temp": .......,
}

任务统计:taskStatistics.log

    用map-list两层结构进行存储,一层map使用当天年月日作为key,用于存储当天产生的统计记录,后期便于查询统计操作

{
  "日期": [
    {"taskName": "任务名称", "moduleName": "模块名称", "second":  "", "begin": "任务开始时间", "end": "任务结束时间"}
  ]
}

本地编译与安装使用

    程序在Android Studio运行后,在 build/app/outputs/apt/release/app.apk,传到手机上安装即可:

  • 停留在程序入口文件处(Main)
  • 上方菜单栏:Build/Flutter/Build APK
  • 等待运行完成即可

代码结构说明

- lib // 所有的源码都在这个目录下
    - model // 放置基本数据模型(方法和属性)
    - tools // 这里主要放置数据持有单例、任务时间花费统计操作类、任务计时类
    - view // 这里放置页面视图
    - main.dart

发布日志

  • 2020.10.4:V1.0.0版本完成,主要功能如下
    • 任务新增、查看、修改、删除
    • 任务计时、自定义计时(计时时软件突然退出的补救)
    • 任务用时柱状图、饼图、详情查看

下个可能的需求开发

  • 任务提醒功能:没一个小时提醒 / 定点提醒
  • 删除任务时提示确认/必要操作的提示确认
  • 在任务模块下有开始计时和结束计时功能,新增提示休息功能,如工作45,休息5(可自定义)统计累计耗时
  • 可以新增任务模块
  • 查看了相关软件,有一些想法,有空的时候再搞搞:有哪些时间管理类的 App 推荐?

错误与修复

  • Failed to install the following Android SDK packages as some licences have not been accepted.
    • 使用命令:flutter doctor --android-licenses

参考链接

About

一个日常事务打卡和统计的APP,用于日常任务记录、任务所需时间记录、任务花费时间统计显示

License:Apache License 2.0


Languages

Language:Dart 98.7%Language:Swift 0.9%Language:Kotlin 0.3%Language:Objective-C 0.1%