この記事で分かること
- 個人で作った Android アプリ「天気壁紙 – 今日どうする」がどんなアプリか
- 作ろうと思ったきっかけ
- アプリの中身(使っている技術や天気データの取り方)
- 作っている途中でつまずいたところと、その解決のしかた
アプリはこちら
Google Play で公開しています(Android 用です)。
天気壁紙 – 今日どうする
https://play.google.com/store/apps/details?id=com.toybox.weatherwallpaper
ひとことで言うと、天気に合わせて「傘いるよ」など“今日どうするか”を大きな文字で教えてくれるライブ壁紙です。
なぜ作ったか
いちばんの理由は、傘を会社に置き忘れすぎたからです。
朝は雨が降っていたのに、夕方には止んでいる。こういう日に限って、傘のことをすっかり忘れて手ぶらで帰ってしまいます。逆に、朝に傘を持って出るのを忘れることもあります。
天気アプリを開けば分かることなのですが、毎朝わざわざ開くのはけっこう面倒です。そこで、「アプリを開かなくても、ホーム画面を見るだけで分かる」ようにしようと考えました。スマホは1日に何度も見るので、壁紙そのものが教えてくれれば忘れにくくなります。
もうひとつこだわったのは、天気のマークではなく言葉で出すことです。雨のマークを見て「傘を持っていこう」と頭の中で変換するのではなく、最初から「かさ いるよ」と書いてあれば、迷わずに済みます。
できること
- 天気に合わせて、「今日どうするか」を大きな明朝体の文字でホーム画面に表示します
- 雨のときは「かさ いるよ」、晴れのときは「いい天気」、雪や雷雨のときもそれぞれの一言が出ます
- 朝に雨が降った日は、夕方に「傘 もって帰ろう」と教えてくれます(置き忘れ防止)
- 帰る時刻(16時〜21時から選べます)の天気を先読みして、「帰りは雨」「○時には止みそう」などを知らせます
- 寒い日は「上着があると安心」、暑い日は「水分をわすれずに」などのひとことも添えます
- 「傘の置き場メモ」(例:会社3階の傘立て)を書いておくと、帰りの時間に壁紙に表示されます
- メモは、ホーム画面のウィジェット、アイコンの長押し、クイック設定のタイル、ロック画面の通知から書けます
- 言葉づかい(タメ口/ていねい)、配色、文字の大きさを選べます
- 位置情報の許可はいりません(インターネットの接続から、だいたいの地域を推定します)
- 30分ごとに自動で更新します
- 日本語と英語に対応しています
- 広告はありません
- 有料のプレミアム(買い切り・任意)で、限定カラー(夕焼け/真夜中/モノクロ)と「自分の言葉」(天気ごとに好きな一言を設定)が使えます
技術構成
| 項目 | 使ったもの |
|---|---|
| 言語 | Kotlin |
| 壁紙のしくみ | Android の WallpaperService(ライブ壁紙) |
| 文字の描画 | Canvas で直接描く(フォントはしっぽり明朝) |
| 天気データ | Open-Meteo(APIキー不要) |
| だいたいの地域の推定 | ipwho.is(インターネットの接続から推定) |
| 課金 | Google Play Billing(買い切り) |
| ビルド | GitHub Actions(Android Studio は使っていません) |
| 公開 | Google Play(バージョン番号を上げたときだけ、自動で製品版にアップロード) |
天気データは Open-Meteo を使っています。
Weather data by Open-Meteo.com(https://open-meteo.com/ 、CC BY 4.0)
ふだんはシステムエンジニアとして働いていて、休日に「あったらいいな」をアプリにしています。今回は、パソコンに Android Studio(Android アプリを作るための定番の開発ソフト)を入れずに作りました。コードを GitHub に上げると、クラウドの上で自動的にアプリの形にしてくれる(ビルドしてくれる)しくみにしています。
つまずいたところ
1. ロック画面にウィジェットを置けなかった
傘の置き場メモを、ロック画面からサッと書けるようにしたいと思いました。ところが、Android のスマホでは、ロック画面に自分で作ったウィジェットを置くことができません。
そこで、ずっと表示されたままの通知を出して、その通知の中に直接メモを書けるようにしました。通知はロック画面にも出るので、スマホのロックを開かずにメモを書けます。(ただし、スマホのロック画面の通知の設定によっては、ロックの解除を求められることがあります。)
2. 圏外のとき「つながりません」と出すと、壊れて見えた
地下鉄やトンネルなどで電波がないと、天気が取れません。最初は「つながらない」と表示していたのですが、壁紙にエラーの文字が大きく出ていると、アプリが壊れたように見えてしまいます。
そこで、最後に取れた天気を6時間だけ覚えておき、電波がないときはそれを静かに表示するようにしました。覚えている天気もない場合は、文字のない落ち着いた紺色の壁紙にしています。電波が戻ったら、自動で取り直します。
3. 設定画面の奥にあると、毎日メモを書くのが面倒だった
傘の置き場メモは、最初はアプリの設定画面の中にありました。でも、毎日書くものなのに、そのたびにアプリを開いて奥まで進むのは面倒でした。
そこで、ホーム画面のウィジェット、アイコンの長押しメニュー、クイック設定のタイル、という3つの入り口から、すぐにメモの画面を開けるようにしました。
4. Google の決まりに毎年ついていく必要がある
Google Play では、新しい Android のバージョンに対応するよう、毎年求められます。課金のしくみ(ライブラリ)も、定期的に新しいものへの更新が必要です。一度出して終わりではなく、こうした決まりに追いかけて対応し続けています。
まとめ
- 傘を置き忘れすぎた経験から、「今日どうするか」を言葉で教えてくれる天気の壁紙アプリを作りました
- 天気のマークではなく「かさ いるよ」「傘 もって帰ろう」のような言葉で出すのがこだわりです
- 位置情報の許可はいらず、ホーム画面を見るだけで使えます
- つまずいたところは、ロック画面の制限、圏外のときの見え方、メモの書きやすさ、Google の決まりへの対応でした
傘をよく忘れる方は、ぜひ試してみてください。
天気壁紙 – 今日どうする(Google Play)
https://play.google.com/store/apps/details?id=com.toybox.weatherwallpaper
ほかに作ったアプリは https://nano-toy-lab.com/works/ にまとめています
ナノトイラボ 