「AIを使えば、自分でもスマホアプリって作れるんじゃね?」
今回の小学生向け漢字学習アプリ開発は、そんな私の軽いノリと好奇心から始まりました。 こんにちは、かく助です!
私は、本業でバリバリのエンジニアをやっているわけでもなければ、アプリ開発に慣れているわけでもありません。というより、プログラムのコードを見せられても、「このコードがどういう意味で動いているのか」を詳しく説明することは全くできません。
それでも、以前このブログでも紹介したように、AIを使ってExcelのマクロを作ったり、MT4のインジケーターを作ったりした経験がありました。その時の「AIってすげー!」という感動から、「AIに聞きながらなら、もしかして自分でもAndroidアプリを作れるんじゃないか?」と、妙な自信だけはあったんです(笑)。
そこで今回は、プログラミング初心者が実際にAIを使ってAndroidアプリをゼロから作ってみた、リアルな開発日記をお届けします。
結果から言うと、想像以上のエラーの連続でかなり苦労はしましたが……なんとか無事に「Ver1」として、実際にスマホ上で動くところまで完成させることができました!
- 「AIを使って自分も何か作ってみたいけど、本当にできるか不安」
- 「初心者がAIでアプリ開発をすると、実際どんな壁にぶつかるの?」
そんな疑問を持っている方の参考になれば嬉しいです。
この記事で分かること

プログラミング完全初心者でも、AIのサポートがあればアプリって作れるの? 今回は私が実際に漢字アプリ開発に挑戦した、リアルな第一歩をお届けします!この記事のポイントはこちらです!
- プログラミング知識ゼロからAIにアプリ開発の手順を聞く方法
- 開発環境(VS Code)とスマホエミュレーターが動いた時の感動
- とりあえず動く「Ver1」の漢字アプリを完成させるまでの流れ
- エラー大量発生!心が折れかけた時のリアルな心境
- AIが同じ修正を繰り返す「無限ループ」から抜け出すプロンプト(指示)のコツ
■ おすすめのポイント 前回の記事のリストの良さ(具体的な手順がわかる)を引き継ぎつつ、今回は「奮闘記」というテーマに合わせて、「感動」や「リアルな心境」「無限ループからの脱出」といった感情が動く要素を少し混ぜています。こうすることで、ノウハウだけでなく「読み物」としての面白さが読者に伝わりやすくなります!
記事の完成まで本当にあと少しですね!他に微調整したい言い回しや、気になる部分があれば最後までとことん付き合いますよ!
なぜ「漢字学習アプリ」を作ることにしたのか?
そもそも、なぜ急にアプリを作ろうと思ったのか。きっかけは非常に現実的で、「ブログの収入源につながる新しいネタを、自分で作り出したかったから」です。
AIを使って何か新しいものを作り、その四苦八苦した過程をブログ記事にできれば面白いコンテンツになるんじゃないかと。 ただ、本業の会社関係の仕事をブログのネタにするのは、身バレのリスクもありますし絶対に避けたいところ。
「だったら、家で自分のオリジナルのアプリを作ればいいじゃん!」という結論に至りました。
ちょうど我が家の小学3年生の子どもが、最近ちょっと漢字を苦手としていたので、「よし、子どものために漢字の学習アプリを作ってみよう!」ということで、今回の開発プロジェクトがスタートしました。
(※ちなみに後日談ですが、開発が終盤に差し掛かった頃、ふと「ていうか、漢字学習アプリなんて普通にGoogle Playストアに山ほどあるんだから、それダウンロードしてやらせれば良くない?w」という身も蓋もない事実に気づき、一人でツッコミを入れました。まあ、自分でゼロから作ることに意義があるんです!)
今回の一番の目的は、販売して大儲けすることではなく、「コードを詳しく理解していなくても、本当にAIを使えばアプリを完成させられるのか?」を自分自身で検証することでした。
開発スタート!最初は「何が必要か」すら知らなかった

最初はこんな感じで、「何が必要か教えて!」とAIに丸投げで質問してみました。
「よし、Androidアプリを作るぞ!」と決意したものの、最初から「Flutterを使おう!」「データベースはSQLiteだ!」なんて立派な構想があったわけではありません。
そもそも「Flutter(フラッター)」という名前すら知りませんでしたし、プログラミング言語の「Dart(ダート)」も、データベースの「SQLite(エスキューライト)」も、全くの未知の世界。
なので、私がAI(今回は主にGemini)に投げかけた最初の質問はこれでした。
「Androidアプリを作るには、まず何が必要?」
するとAI先生から、以下のものが必要だと教えてもらいました。
- Flutter / Dart(アプリを作るためのフレームワークとプログラミング言語)
- VS Code(コードを書くためのエディタソフト)
- Androidエミュレーター(PC上でスマホの画面を疑似的に動かすソフト)
- SQLite / sqflite / path(学習履歴を保存するためのデータベース関連の部品)
つまり今回の開発は、「自分の知っている技術をAIにコード化してもらった」のではなく、「そもそも何が必要なのかをAIに教えてもらうところからスタートした」ということです。ここがAI開発の本当に面白いところですね。

※最初はこんな黒い画面から始まったんですよ〜
ここからいよいよ、右下のボタンを押してエミュレータを起動してみます。すると……

※スマホの画面がPCに出ただけで感動しました
まずは「小さく作って完成させる」ことを目標に
最初から高機能で複雑なアプリを作ろうとすると絶対に途中で挫折するので、AIと相談して「まずは小さく作る → そして確実に完成させる」ことをVer1の絶対目標にしました。
AIと一緒に立てた「Sprint(開発の区切り)」の計画がこちらです。
- Sprint 1:開発環境の構築と、空っぽのアプリを起動する
- Sprint 2:画面(学年選択、問題、結果、履歴)の「ガワ」だけを作る
- Sprint 3:漢字問題と、4つの選択肢ボタンを表示させる
- Sprint 4:選んだ答えの正解・不正解を判定する機能をつける
- Sprint 5:SQLiteを導入し、学習結果を保存できるようにする
- Sprint 6:履歴画面の作成と、全体が繋がるかの最終確認
こうして文字にして見るとかなり立派な計画で、「なんだ、すぐできそうじゃん」と思うかもしれません。……が、実際の開発現場は、当然こんなにスムーズには進みませんでした(笑)。
理想と現実:AIアプリ開発で起きた3つの大事件
基本的な開発の進め方は、「AIにやりたいことを相談する → コードを書いてもらう → コピペして動かす → エラーが出たらエラー文を貼って相談する」というシンプルな繰り返しです。
しかし、実際にコードを貼り付けて動かしてみると「あれ? 全然動かない」の連続。ここからが今回の開発で一番泥臭く、そしてイライラした(笑)部分です。
事件①:130個以上のエラーでパニック!「全部壊れた!?」

ズラッと並ぶエラーの山……。(※画像では40個ですが、この後なんと130個まで増殖して絶望しました泣)
ある日のこと。AIに案内された flutter clean というお掃除コマンドを実行したところ、VS Codeの画面上に「Target of URI doesn’t exist」という謎のエラーが130個以上もズラッと表示されました。
画面のあちこちが真っ赤に染まり、エラーのリストがスクロールしても終わらない状態。 「えっ……ウソでしょ? これまでのデータ全部壊れた!?」と、冷や汗が出て大パニックになりました。初心者にとって、エラーが1個出るだけでも怖いのに、130個って絶望しかありません。
泣きつきながらAIに状況を説明すると、AIは冷静に「flutter pub get を実行してみてください」と一言。 半信半疑で言われた通りに実行すると……なんと数秒で130個のエラーが跡形もなく消滅しました!どうやら、必要な部品のリンクが一時的に切れていただけのようです。
「エラーが大量に出たからといって、アプリ全体が修復不可能に壊れたとは限らない」ということを、寿命が縮む思いで学びました。
事件②:AIの修正案を試したら、さらに悪化した
開発も中盤に差し掛かった頃、アプリの画面下部がはみ出してしまい、「履歴ボタンが押せなくなる」という致命的なバグが発生しました。
AIに相談すると、「画面のサイズに対して中身が大きすぎるようですね。スクロールできるようにコードを変更しましょう」と、いかにもプロっぽい修正案を出してきました。
なるほど!と思い、言われた通りにコードを書き換えて実行。 ところが……直らないどころか、今度は1年生の漢字ボタンすら押せなくなる大惨事に発展。 「いや、直ってないし! むしろ前よりひどくなってるじゃん……」と、パソコンの前で一人ぼやきました。
事件③:まさかの犯人は「自分のコード」ではなかった
どうしても解決しないので、現在のアプリの状態が少しでも伝わるように、スクリーンショットを撮ってAIに見せてみました。
するとAIが画面を見て、あっさりとこう言ったんです。 「これはコードの問題ではなく、エミュレーター側の表示がずれているだけの可能性がありますね」
え? コードじゃないの? 騙されたと思ってエミュレーターを一度終了し、もう一度起動し直してみると……全部、嘘みたいに普通に動きました。履歴ボタンも漢字ボタンも、完璧に押せます。
初心者だと、アプリが思い通りに動かないと「100%自分のコード(あるいはAIが書いたコード)が間違っている」と思い込んでしまいます。でも実際には、開発環境やエミュレーター側の不具合が原因の場合もあるんですね。これは自力では絶対に気づけない落とし穴でした。
おまけ事件:AIが同じ修正を繰り返す「無限ループ」からのガチギレ
開発後半、エラーが出てAIに修正してもらい、試すとまた同じエラーが出る……という魔の「無限ループ」に何度かハマりました。

※温厚な私も、この時ばかりはブチギレました(笑)
AIは毎回「すみません、こちらのコードをお試しください」と少し言い回しを変えてコードを出してくるんですが、実行しても結果は同じ。よく見ると「あれ? これ、3回前くらいに提案してきたのと同じ内容じゃない?」と気づくわけです。
こちらとしては別の修正案だと思って試しているのに、AIは同じところをぐるぐる回っている。しかも、無駄なやり取りのせいでその日のAIの利用上限に達してしまい、「本日のご利用はここまでです」と強制終了になる始末(笑)。
普段はAIに対しても「お願いします」「ありがとうございます」と丁寧に対応している私ですが、この時ばかりは堪忍袋の緒が切れました。
「だから違うって!!! ちゃんとこっちの言ってる内容聞けよ!!!」
と、AI相手にキーボードを強く叩きながら強めのプロンプトを送信(笑)。結局、エラー文をそのまま投げるだけでなく、こちらの伝え方(プロンプト)の角度を変えることで、なんとかこのループから抜け出すことができました。
そして、ついにVer1が完成!

とりあえず動く「Ver1」が完成!デザインはシンプルですが、自分のPCでアプリが動いた瞬間は感動です。
数々のトラブルとAIへの八つ当たり(?)を乗り越え、実働約2日(カレンダー上では週末中心に約2週間)で、ついに「Ver1」が完成しました!
【Ver1で実装できた機能】
- 学年選択(1年生〜3年生のボタン。※現時点では中身は全て同じサンプル問題ですw)
- 漢字問題(漢字を大きく表示し、ひらがな4択ボタンから選んで回答)
- 正誤判定(選んだ答えが合っているかAIが裏側で判定)
- 結果の保存(SQLiteを使ってデータベースへ記録)
- 学習履歴の確認(正解は「○」、不正解は「×」で一覧表示。一括削除ボタンも完備)
当初の計画にあった「正解率の計算」や「苦手漢字の抽出」までは手が回りませんでしたが、「学年を選ぶ → 問題を解く → 結果を見る → 履歴で振り返る」という一連の学習サイクルが、自分のスマホ画面上で無事に動いた瞬間は、本当に感動しました。
3つのAIツールを使ってみた個人的な感想
今回、アプリ開発を進めるにあたって、主に「Gemini Pro」を使いましたが、行き詰まった時には「ChatGPT」や「Copilot」も併用してみました。 せっかくなので、今回の「アプリ開発」という用途に限った、私の超個人的な感想(体感ランキング)をご紹介します。
- 第1位:Gemini Pro 今回、私にとってダントツで一番使いやすかったです!問題解決の提案が的確で、コードを作ってくれるテンポも速い。ただ、1日の利用上限に達した後に「Flash-Lite」という軽量モデルに切り替えて続きをやろうとしたら、文脈がおかしくなってさっきまで動いていたアプリが壊れたことがありました。モデルの切り替えには要注意です。
- 第2位:ChatGPT 1日のプロンプト上限が比較的多く、安定して優秀です。ただ、エラー画面のスクショなど「画像」を添付してやり取りすると、比較的早く制限がかかってしまう印象がありました。また、開発が長引いて会話ログが伸びてくると、「あれ?それ何の話でしたっけ?」と過去の文脈を見失うことがあり、ちょっとヤキモキしました。
- 第3位:Copilot 以前マクロを作った時は大活躍してくれて愛着があるんですが、今回の「スマホアプリ開発」という用途に限って言えば、3つの中では一番使いにくく感じました。用途によって得意不得意があるんだなと実感しました。
まとめ:AIは魔法じゃないけど、最強の相棒になる
今回、実際にアプリを作ってみて痛感したのは、「AIに頼めば、勝手に完璧なアプリが完成する」なんていう魔法はない、ということです。
訳の分からないエラーも出ますし、見当違いな修正案を出してくることもあります。AIが出したコードを信じすぎてドツボにハマることもあります。人間側が「今、画面で何が起きているのか」を正確にAIに伝えるスキルも求められます。
でも、コードの意味を深く理解していなくても、AIと一緒に試行錯誤して原因を探っていけば、初心者でも実際に動くAndroidアプリを完成させることはできるんです。
今回の一番の収穫は、アプリそのものが完成したことよりも、「自分にもAIを使えばここまで作れるんだ!」という自信を手に入れたことかもしれません。
今回は基本サイクルだけが動く「Ver1」ですが、次は実際に学年ごとの漢字データを追加したり、間違えた問題を復習できる「苦手克服機能」を追加した「Ver2」の開発に進みたいと思います。
これからも「AIを使って実際に何かを作ってみる」という挑戦を続けてシリーズ化していきますので、進捗があったらまたこのブログで報告しますね!
最後まで読んでいただき、ありがとうございました。かく助でした!

コメント