hiro99ma blog

何か技術的なこと

android: アーキテクチャに沿ったサンプルアプリの修正

2024/11/13

前回、Central から書き込まれた文字列を SB1602B に表示させる Peripheral を実装した。
Central として nRF Connect for Mobile を使っていたが、せっかくなので Android アプリも作りたい。

10月にあれだけやったのだから多少大丈夫だろうと思ったが、かなり・・・すっかり記憶から抜けている。
歳は取りたくないものだ。

既存アプリの改造

以前作った AGP 8.6.1(Android Studio koala)用のテンプレート を使って一から作るか、LBS service 向けに作った BLE LED Control を改造するかで考えたが、後者にした。
今回も BLE 操作する内容はサンプルアプリと変わらないし十分だろう。

そう思ったのだが、まずプロジェクト名の変更が面倒だった。
Gemini さんに聞いたりネットで見たりでなんとかなったと思うが、Shift+F6 で一発変更、というやり方ができないので何度もやり直しになった。
BLE Central サンプルアプリ用のテンプレートがほしくなった。

その後は、アプリアーキテクチャに沿って作った(つもり)のでそれぞれ修正していった。
Service が変わるので Data sources も変わるし、操作が違うので Repository も変わるし、 そしたら ViewModel も変わるし、もちろん View も変わる。

サンプルアプリ程度だとアーキテクチャに沿うと返って面倒になることが分かった。
まあ、メンテナンスがよくなるというのが利点だし、サンプルアプリみたいに中身をとっかえひっかえするのとは目的が違うので仕方が無い。

サンプルアプリテンプレートの構想

いつやるかわからないが構想だけ立てておこう。
書いておかないと忘れるのだよ。 そして書いたことも忘れるのだ。

一番のネックはプロジェクト名の変更だろうか。
ここまで面倒だと、もうプロジェクト名は自分でやりたければやってもらって、Android Studio でできるリファクタリングも自分でやればいいやん、という気持ちになってくる。
ApplicationActivity の名前も固定で良いし。

いや、これも勉強の一つだよ。
意味が無いならやらないけど、改造できるテンプレートを 1つ持っておくとよさそうな気がするのだ。

< Top page