概要
主治医より生活記録(食った、寝た、活動した時間など)を付けることを勧められたため、幾つか見繕って始めてみたJourneyという日記アプリだが、一か月ほど続けてみて肝心な機能が無いことに気が付いた。。。
そうです(`・ω・´)
サマリービューが無いのです(`・ω・´)
と、いうことで休職期間中暇だったのと丁度オンタイムでデザインパターンの本で学習中だった事もあってJavaで書いてみることにしました(∩´∀`)∩
※本稿はシリーズ物となります。今回は前提の話や紹介のみです。技術トピックはタグの通り、訳あってjFreeChartの実装は見送りとなりましたが、途中まで紹介します。
Journeyの簡単な紹介
無料版と有料版があります。私は有料版のプレミアム(600円買い切りだったかな?)を購入しました。
まだ1年弱のデータですが今のところサクサク快適に動きます。
課題
紹介でご覧の通り、一覧として提示出来るビューがありません。パッと見て生活リズムが解消しているかどうかの判断が出来ないため、このデータを使いこなせていない(公式で機能実装して欲しいところ)
解決案
以下の環境を有する事から図の様な構成を検討しました。
- データを範囲指定してjsonでエクスポート出来ること
- 既に購入してしまったこと…使わなければ勿体ない!
- Javaとオブジェクト指向プログラミングの学習に丁度良い
簡単にまとめると、エクスポートしたjsonを解析してデイリーのグラフを
作るということですね。UIをどうしようか検討したのですが、マルチデバイスで簡単に表示出来るブラウザを選択しました。ですので、HTMLとJavaScriptはメタプログラミング的に使用(Javaがソースコードを生成)することになります。ユーザーは、エクスポートとjsonファイルをプログラムに渡すことと、出力されたHTMLファイルを開くところは手作業を想定しています。
終わりに
と、いうことで納期や完成度を気にせずにゆっくりできます(∩´∀`)∩
全て扱うと記事が長くなるのでポイント毎にまとめようかなあ。
次回はざっくりとしたクラス設計の話だと思います(`・ω・´)