BLE5-chat ツールを Claude Code で作る

せっかくなので、同じ「概要設計.md」を使って Claude Code で作ってみることにします。

実は、1回目は失敗して、やり直しています。

  • settings.gradle.kts の includeGroupByRegex でエラー発生
  • app/build.gradle.kts の plugins の alias でエラー発生

どちらもファイル構成がわかっていれば、手で直せばいいような感じなのですが、Android Studio を使えない前提≒あまりコードを知らなくて Android アプリが作れるという前提でやるので、もういちど最初から作り直しています。
作り直しても、15 分ぐらいでできあがります。

逆に言えば、初手のところでうまくいかなかった場合は、AI コーディングをやり直したほうが手っ取り早いです。
夜間バッチ的に動かす場合は、課金の問題もあるので手作業での修正が安価かもしれませんが、この程度のアプリ作成ならば何回かやりなおしたほうがよさそうです。

結果は、作成できました!

GitHub Copilot では途中で詰まってしまいましたが、Claude Code の場合は作成できました。


記事的には [Core Bluetooth] アドバタイジングデータを最大255バイトに拡張するAdvertising Extensions https://zenn.dev/shu223/articles/advertising-extensions の話で、この記事では iOS の拡張アドバタイズなので受信のみとなりますが、Android の場合は送受信が可能です。最大 255 バイト程度のデータがブロードキャストできます(iBeacon は 32 バイトです)。

そんな訳で、コネクション無しの状態で、複数の Android 端末に一気にメッセージを送信できます。コネクションしないので、数十台の端末が集まったとしてもメッセージの送受信に負担が掛からないのですが…まあ、数十台は集まりませんね。実際のところは、4,5台ぐらいでしょう。

基本的な送受信の仕組みは iBeacon の送受信と変わらないので、メッセージデータのフォーマットさえあわせてやれば、こんな感じでチャットツールができる。というところまでは確認できました。

さて、思った通りに動作しているか、をどう確認する?

いわゆる動作確認をした後に、細かい動作のチェックをしていきます。
最終的には公開してアプリとして利用できることを考えると、単に「動いた」だけでは不十分です。

  • 細かいテストをどうするのか?
  • 機能追加をしたときの、テストをどうするのか?
  • コードレビューは必要か?

クラス設計を固定化するために、動作確認のためのテストコードを書くとよいだろう。
というのは引き続き。

コード

https://github.com/moonmile/BLE-chat

カテゴリー: 開発 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*