Android Development

计时机器公告2019-7-6

简单版本

从计时机器3.8.0起,计时机器应用将从内购模式转为真·免费应用,所有专业版功能会在升级后为所有用户解锁。旧版本的登录、注册和激活将也会在未来几天失效。

以后的更新随缘,也会更加放飞自我。

深情版本

想法的萌生

这个应用的想法源自于16年跑步锻炼时,按着《爱上跑步的13周》里的计划,发现计时是个问题。当初就用手机自带的闹钟,到时间后按一下音量键,就会自动延时1分钟,以此来记录时间。碰巧当时刚刚接触Android开发,就萌生了写一个专门的应用的想法。于是“循环计时器”就诞生了。一开始还叫“循环闹钟”。

就这么像无头苍蝇一样维护了一年多吧。当初不会写代码,就到处抄。后来发现AOSP里的闹钟,也就是Android系统自带的时钟(叫DeskClock)是个很好的例子,而且也听信了Dianne Hackborn说的Android搞MVC就可以啦的“谎言”,就几乎把DeskClock里能搬过来的都改一改搬了过来。结果也料到了,代码库一团糟。

计时机器的诞生

同时随着用户的积累和反馈,也发现现有的代码库毫无可扩展性,就萌生了写一个新应用,用上我一路上所有学到的本事的想法。所以“计时机器”(英文名叫TimeR Machine,比时间机器Time Machine多了一个R,多好的名字)就在17年底诞生了。

计时机器也算自己亲生的,所以特别上心。代码库到今天也很干净,不仅上了MVVM,也用了TDD,测试一大堆。每次发布都要Code Review + 跑测试 + 亲自测试新功能,所以很少出现新版本发布后大面积崩溃/失效的情况。当然也翻车过一次,就是步骤重复那一次(开发日志2019年3月27日),看来测试也不能涵盖所有使用情况呀。

计时机器经历了6个月左右的alpha版 + 3个月beta版后,正式版就在18年9九月发布啦。于此同时,循环计时器也正式被替代,凉凉了。

在18年底添加的专业版。其中的自定义主题费了我不少功夫,这也是我一个很自豪的功能,因为很多其他应用都只能使用预设的主题,而我的可以随便选,这个可费了不少功夫。各位还没试过的快去更新然后试试吧。

现在的情况

计时机器一直都有两个版本,一个GooglePlay发布的,接入了Play的支付,数据保存用的是Firebase;一个是国内(酷安)发布的,数据保存用的是LeanCloud,但因为支付宝、微信支付等不给个人开发者一个方便的渠道,因此没有支付系统,所以各位需要在给我转账后,等我确认,然后手动在数据后台把专业版状态调一下,然后各位再刷新,就有专业版了。很笨的办法,但运行了半年来也很不错。

因为计时机器是独立开发的,所以我没时间、没精力、没能力去维护一个后台,所以必须使用一个BaaS(包装好的云服务器)。国外我用了杀手级服务Firebase,用到今天一直都很靠谱,也基本不用管。国内我挑了半天,最后选了LeanCloud,虽然跟Firebase相比简陋了很多,但过去跑起来也不错。

这次事故的直接原因来自于LeanCloud。在六月中下旬之交,LeanCloud停摆了5天,这也就是那几天各位都无法登录/注册的原因。在服务恢复后,LeanCloud就提出了新要求,要求实名认证和备案域名。前者传个身份证就搞定了,后者就要命了。要命的原因我想了很久、找了很久也不知道怎么解释。各位自己搜索 + 意会吧。但结果就是如果搞不定它,LeanCloud很快就不给用了;如果不给用了,登录/注册就都会失效。

其他BaaS服务商像Bmob等也考虑过,但那样的话不仅需要迁移各位的数据(就是让各位重新登陆/注册一遍),未来也可能面临需要备案域名的风险。

同时也考虑到维护这个应用的资金基本转不起来、应用推广困难重重等原因,索性不破不立,转免费吧。

谢谢各位

谢谢各位使用计时机器,谢谢各位在应用商店里的打分和评论,谢谢各位早期对我的赞赏,谢谢各位专业版用户的支持!

一直以来,哪怕看到各位的只有一次支持和鼓励,都让我充满了继续更新下去的决心。再次谢谢各位!

以后的更新随缘,也会更加放飞自我。

I’ve seen things you people wouldn’t believe. Attack ships on fire off the shoulder of Orion. I watched C-beams glitter in the dark near the Tannhäuser Gate. All those moments will be lost in time, like tears in rain. Time to die. - Blade Runner