前回の記事でこう書いた。
「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で爆速制作しています。制作依頼・相談は初速制作室まで。