スマホ依存を治すアプリを、未経験で作り始めたシリーズ#2 準備で半日溶けた。それでも報われた。

スマホ依存を治すアプリを、未経験で作り始めたシリーズ#2 準備で半日溶けた。それでも報われた。

記事
IT・テクノロジー
前回の記事でこう書いた。

「Androidアプリを作るために、まず環境を整える。次回はその話をします。」

当時の自分は、まったくわかっていなかった。
「環境を整える」というのが、どれほど地味で、どれほど時間を食う作業なのかを。

料理を始める前に、まずキッチンを建てなければならない。

そんな工程が、アプリ開発には存在する。

レシピ(コード)を書く前に、コンロも包丁も冷蔵庫も、ぜんぶ自分で揃えなければいけない段階のことだ。

あなたは、料理を作りたくて台所に立ったら「まず台所を建ててください」と言われたことはあるだろうか。私は先日、初めてその感覚を味わった。

分からないことはその都度、Claudeに聞いた。「Gradle syncって何ですか」「エミュレータって何ですか」。技術書を開く時間はかけたくなかった。聞けばすぐ答えてくれる相手がいるのだから。

まず、ソフトをダウンロードする。それだけで詰まった。

Androidアプリを作るには「Android Studio」というソフトが必要になる。作業台と道具セットが一体になったようなもので、これがないと何も始まらない。

ダウンロードを始めた。

……止まった。

ファイルの拡張子が「.crdownload」のまま、進捗が動かなくなった。これはダウンロードが途中で止まっているサインだ。原因はWiFiの不安定さだった。
場所を移動して、安定した回線で再挑戦。今度は無事に落とせた。インストール完了。さあ、次へ。

次は「食材の発注」を待ち

Android Studioを開くと、Gradle syncという処理が始まった。

これは、アプリを作るのに必要なパーツを自動で集めてきてくれる仕組みのことだ。料理でいえば「このレシピに必要な食材を自動発注しておきます」という作業に近い。

画面にこんなメッセージが出た。

「時間がかかっています」

壊れたのかと思った。しばらく眺めていたが、何も変わらない。Claudeに「これは大丈夫ですか」と聞くと、「初回は時間がかかります。待つだけで大丈夫です」と返ってきた。

特に何もできることはなかった。ただ画面の前に座って、ぼんやりと眺めた。数分後、処理が静かに終わった。拍子抜けするくらい、それだけのことだった。

パソコンの中に、スマホを一台作る。

次の壁は「エミュレータ」だった。

エミュレータとは、パソコンの中に仮想のスマホを丸ごと作り出す機能のことだ。実機がなくてもアプリを動かして確認できる。

Pixel 6を選んで作成を開始すると、OSのダウンロードが始まった。
1.9GB。

引越しで家具を全部運び込むような作業が、静かに始まった。進捗バーがじりじりと動いていく。大きなデータを受け取るとき特有の、あの静かな時間だ。コーヒーでも飲みながら過ごすことにした。

気づいたら終わっていた。パソコンの画面の中に、Pixel 6が一台、静かに存在していた。

「Hello Android!」が出た。

サンプルアプリを起動した。画面に文字が出た。

「Hello Android!」
それだけだ。それだけなのに、少し確信した。「あ、ここから作れる」と。半日かけて、ようやくスタートラインに立った瞬間だった。

アプリの命名

興奮のまま、考えた。

まず名前をつけよう。

コンセプトはシンプルだ。歩くとスマホのロックが解除される。だから——
歩く(Step)+ロック(Lock)=StepLock。

そのまますぎるかもしれない。でもシンプルな名前ほど、機能が一瞬で伝わる。考えるまでもなかった。

エラーが10個点灯!

画面の実装を進めていくうち、ある時点でAndroid Studioのサイドパネルが騒がしくなった。

エラーや警告のシグナルが、10個近く並んでいた。

Kotlinのコードを書いたことはほとんどない。どれが致命的で、どれが無視できるのか、その判断すらできなかった。「これ、どうなっていますか」とClaudeに状況を伝えた。

Claudeは説明したり、修正案を渡してきたりしなかった。Android Studioの外から、直接ファイルを書き換え始めた。私は何もしていない。気づいたらサイドパネルのシグナルが一つ、また一つと静かに消えていき、やがて画面から赤が消えた。

コードを1行も触っていない。状況を伝えただけで、外側から問題が解消されていた。「答えを教えてもらう」のとは、まったく別の体験だった。

その夜、ロジックが動いた。

名前が決まったなら、あとは作るだけだ。

StepLockの最初の画面を作った。「今日の歩数:0」というテキスト。「あと100歩で1分解放」というカード。テストボタンを押すと、数字が動く。

それだけで、もう十分に嬉しかった。

さらに進んだ。バックグラウンドで歩数を計測し続ける仕組みを入れた。スマホの「物理活動へのアクセス許可」を求めるダイアログが出た。許可した。

テストボタンで100歩に到達させると——画面が緑に変わった。

🔓 解放中 残り60秒
60秒後、画面が青に戻った。
🔒 あと100歩で解放
ロジックが動いた。準備で溶けた半日が、その瞬間に報われた。

私はKotlinをほとんど知らない。でもClaudeはKotlinを知っている。私が「何を作るか」を判断し、Claudeが「どう書くか」を実行する。このアプリは、そういう作り方をしている。未経験でも動くものが作れるのは、頑張ったからではなく、聞ける相手がいたからだ。

次回:「本当に開けなくする」

今のStepLockは、タイマーが動くだけだ。カウントダウンが終わっても、アプリを実際にブロックする機能はまだない。

次回は、指定したアプリを本当に開けなくする実装に入る。ここが一番難しいところだと、すでに聞いている。

動かすまで、終われない。

アプリ・LP・業務ツールをAIで爆速制作しています。制作依頼・相談は初速制作室まで。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す