Help us understand the problem. What is going on with this article?

journey(日記アプリ)のデータをJavaで受け取って可視化してみた#001

More than 1 year has passed since last update.

概要

 主治医より生活記録(食った、寝た、活動した時間など)を付けることを勧められたため、幾つか見繕って始めてみたJourneyという日記アプリだが、一か月ほど続けてみて肝心な機能が無いことに気が付いた。。。

 そうです(`・ω・´)

 サマリービューが無いのです(`・ω・´)

 と、いうことで休職期間中暇だったのと丁度オンタイムでデザインパターンの本で学習中だった事もあってJavaで書いてみることにしました(∩´∀`)∩

※本稿はシリーズ物となります。今回は前提の話や紹介のみです。技術トピックはタグの通り、訳あってjFreeChartの実装は見送りとなりましたが、途中まで紹介します。


Journeyの簡単な紹介

 無料版と有料版があります。私は有料版のプレミアム(600円買い切りだったかな?)を購入しました。

↓ジャーナルビュー(Journey画面)
journalView.png

↓カレンダービュー
calendarView.png

↓写真動画コレクション
Screenshot_2018-04-17-10-45-01.png

↓マップ(記録したGPS位置を保持)
Screenshot_2018-04-17-10-45-19.png

↓タグ付けによる抽出などが出来ます
Screenshot_2018-04-17-10-45-30.png

↓プレミアム版で出来ること
Screenshot_2018-04-17-10-46-04.png

↓クラウド版で出来ること
Screenshot_2018-04-17-10-46-10.png

↓設定画面1
Screenshot_2018-04-17-10-46-31.png

↓設定画面2
Screenshot_2018-04-17-10-46-36.png

↓設定画面3
Screenshot_2018-04-17-10-46-42.png

↓検索1
searchView1.png

↓検索2
searchView2.png

まだ1年弱のデータですが今のところサクサク快適に動きます。


課題

 紹介でご覧の通り、一覧として提示出来るビューがありません。パッと見て生活リズムが解消しているかどうかの判断が出来ないため、このデータを使いこなせていない(公式で機能実装して欲しいところ)


解決案

 以下の環境を有する事から図の様な構成を検討しました。
1. データを範囲指定してjsonでエクスポート出来ること
2. 既に購入してしまったこと…使わなければ勿体ない!
3. Javaとオブジェクト指向プログラミングの学習に丁度良い

 簡単にまとめると、エクスポートしたjsonを解析してデイリーのグラフを
作るということですね。UIをどうしようか検討したのですが、マルチデバイスで簡単に表示出来るブラウザを選択しました。ですので、HTMLとJavaScriptはメタプログラミング的に使用(Javaがソースコードを生成)することになります。ユーザーは、エクスポートとjsonファイルをプログラムに渡すことと、出力されたHTMLファイルを開くところは手作業を想定しています。

↓ アクティビティ図
Activity of Journey Visualization.png

↓プロトタイプ成果物(円グラフとして出力)
journey-prototype-sample.png


終わりに

と、いうことで納期や完成度を気にせずにゆっくりできます(∩´∀`)∩
全て扱うと記事が長くなるのでポイント毎にまとめようかなあ。

次回はざっくりとしたクラス設計の話だと思います(`・ω・´)

koichiro-h
日々の業務自動化的なブログがメインです。 Javaも書くけど設計弱者...(;´゚д゚)ゞ 割と真面目に真面目に設計スキルを上げたい。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした