日記#315#316

#315 6月10日

今日はグラフ表示の微修正を行った。
途中、ログが見れなかったことに焦ったが単にフィルターのせいだった。

グラフ表示はリアルタイムではなく、ファイルに記載された後に表示なので5分刻み、3分刻みで歩数を記録してグラフを作成することにした。

また、グラフにアニメーションはないため、余裕ができたらつけたい
※ここでいうアニメーションの例は棒グラフが下から伸びるような動きのことを指している。

結果はこちら
良い感じに取得し、計算できている。

グラフの形状はスクショするの忘れたので明日貼る。

#316 6月11日

まずは今日取得したデータを基にグラフ機能が上手くいっているかをスマホの画面でも確認。
棒グラフのサイズがいい感じに移動していることが分かる。
今回は7分刻みで歩数を記録している。
1000というのは目標歩数のことで、1000歩以上になると棒グラフは100%の大きさのままになる。

最初の7個
8個
9個
10個

最終取得のログでは下記のようになっている。
データから最新の7個分のデータをグラフにしている。
ただし、差分を棒グラフに落とし込むため、必要なデータは8個必要になる。

arr.length_12前のログはファイルに書き込まれた歩数の記録である。
それを\nで区切って配列に格納している。
ここで、データが11個なのに配列の長さが12になっていることに問題視される。
この問題の修正が今回少し大変だった。

ハイライトを掛けた部分に注目すると値が入っていない。
これは空白が入っているということだ。

  1. ファイルを読み込む

  2. \nで区切って配列にする

  3. 配列の内容が[要素]…[要素][空白]になる

空白を消しつつ区切る方法があるのだが、それは今回の記録形式である
<日付><空白><歩数記録>
の空白さえも消してしまうので採用は見送った。

そこでその空白の要素を無視できるようにした。
もうお分かりだと思うが、要素の最大番号からさらに1を引いてなんとかした。

例:
1.配列の長さを出す。(例えば3)
2.配列の最大番号を出す。([0][1][2]になるので、(配列の長さ)-1で出す)
3.[2]が空白なので、配列の最大番号からさらに1を引く

これで歩数計の大体の基本機能の作成がようやく完了したのでテストで使用したソースコードをメインに移植する。


グラフの表示や歩数確認画面への戻り方を色々調整して本格的なテストの始まりだ。
具体的には歩数の記録を1日単位にしたこととくらいだが。

この記事が気に入ったらサポートをしてみませんか?