Androidの万能グラフ描画ツール
実は自分低気圧に非常に弱いんです。医者に行っても「そういう時あるから」とか言われて相手にしてくれないから本気でどんな状況か調べようかと思っているんです。
そこでまずは痛かった時の、その地域の気圧を計測しようかと思いまして色々と準備をしています。
Androidアプリ「頭痛ーる」という現在地付近の気圧をグラフ化してあってその時なんの薬を飲んだか記録するツールなのですがこれが近々有料化されるんです。結構お高め。
そこで他に無いか探していたんですがなかなかないんですねよね。マニアックなのかな?
GPSの取得はスマホ、気圧の取得は天気サイト、あと必要なのは飲んだ薬の情報と時刻かな?と思ったら、なにやらムクムクと自作意識が湧いてきてしまいました。
データ保存は自宅サーバーで保存できるようにすればスマホの負担も少なくなりますし連携はjsonかxmlのやり取りで済みそうなのでそっちはそっちで進行中です。
で疲れた頭をリフレッシュするためにAndroidでグラフってどう書くのかなって探してたらありました。
MPAndroidChartっていうライブラリを作られている人がいて、その機能の多さにかなりの人が利用されているようなのです。
Lineプロットから棒グラフ、円グラフ、株とかで見るグラフまで多岐に及びます。
これはいいものを見つけたなと思いました。
まずは付属サンプル
ただ多機能さ故に日本語で書かれた情報が結構少なくて初期プロットを作ろうとしたら目がまわる位大変そうです。
そこでまずはサンプルを見てみようとビルドした後、じゃあ自分でプロットしてみようと作ってみようとして初っ端から躓きました。
どのサイトでもbuild.gradleに2行書き込めば動くような事書いてありますが最近のAndroidStudioではgradleのバージョンが違う、mavenの使い方が変わったなどがありエラーを吐かれておりました。
githubにあったサンプルは動いたのでビルドでなにかあるなと色々調べました。
mavenから
基本的にgradleのBuilderが3.xから一気に7.xに変更なされたAndroidStudio。普通じゃなかったんですねー。
まずは違いを確認してみました。サンプルのBuildに使われる諸々のファイルには初期に必要なファイルがアップされていて、1からProjectを作るのとではbuild.gradleが全く違っていました。
ライブラリの読み込みが全く違うのですから、その手順を変更してあげれば良さそうに見えました。
色々ググるとjitpack.ioの読み込み方がちがうのですね。変える所は以下の部分
settings.gradle : dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven { url "https://jitpack.io" } } }
jitpackはここに書くそうです。
ライブラリの読み込み
その後build.gradleに一行追加します。
build.gradle(app) : dependencies { implementation 'androidx.appcompat:appcompat:1.4.2' implementation 'com.google.android.material:material:1.6.1' implementation 'androidx.constraintlayout:constraintlayout:2.0.4' implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' }
dependenciesのimplementationの最後に追記して下さい。
後は他のサイトでも載っています
後は作者さんのGitに使い方が載っている通りで動くはずです。
ここまで費やした時間は4時間程度。理解ればなんてことないのにこの時間。。。
頭を冷やす所が熱くなってしまいました。サンプルができたらGitにでもあげます。
まずは最初の「さ」でした。
コメント