「心配性の彼女から何度も連絡が来るアプリ」の開発経緯まとめ

1. 企画のきっかけ

今回作ろうとしたのは、
「心配性の彼女から何度も連絡が来る」
という状況をジョークとして再現する Android アプリです。

現実でもよくある

  • 返信が遅れる
  • 何度も通知が来る
    といった体験を、
    笑いと技術デモに変換できないかという発想が出発点でした。

2. アプリの概要

アプリのコンセプトはシンプルです。

  • 「通知スタート」ボタンを押す
  • 一定間隔で通知が繰り返し届く
  • 内容は「心配性の彼女」っぽいメッセージ
  • 「通知ストップ」で即座に止められる

通知・UI・ループ処理という
Android の基本要素を全部使う構成になっています。


3. 技術構成(ざっくり)

  • 言語:Kotlin
  • UI:XML(activity_main.xml)
  • 処理:MainActivity
  • 機能:
    • NotificationChannel(Android 8以降対応)
    • NotificationCompat
    • Handler + Looper によるループ通知

初心者でも触れるけど、実務でも必須な要素を一通り含めています。


4. 実装中にハマったポイント①

「R が見つからない」問題

開発中、何度も出たエラーが:

Unresolved reference: R

これは

  • レイアウトがあるのに
  • ボタンIDも正しいのに
  • コンパイルできない

という Android 初学者が必ず通る壁です。


5. 原因の正体

原因は Android Studio の新仕様でした。

  • Manifest に package を書く → ❌(非推奨)
  • Gradle の namespace が正解の指定場所 → ⭕

つまり
Manifest と Gradle の役割が変わっていたことが原因でした。


6. 学び①(重要ポイント)

  • 今の Android では
    • AndroidManifest.xml ではなく
    • build.gradlenamespace が R の生成元
  • パッケージ名
  • フォルダ構造
  • namespace

この 3点が一致していないと、R は生成されない

という仕組みを理解しました。


7. 実装中にハマったポイント②

「フォルダ構造が増殖する問題」

途中で

  • com.example.yandereapp
  • com.example.yandereapp2

という 2つのパッケージが混在し、
Android Studio がどこを正とすべきか迷う状態になりました。


8. 学び②

  • 不要なパッケージは削除する
  • namespace と一致する場所に Activity を置く
  • リファクタリングは IDE 任せにしない

「見た目が動いている」と「ビルドが正しい」は別物
ということを強く実感しました。


9. 最終的に完成したもの

  • UI:
    • 優しい配色
    • シンプルな2ボタン構成
  • 機能:
    • 通知ループ
    • 即停止
    • タップでアプリに戻る

「心配性の彼女から連絡が止まらない」体験を
安全・笑い・技術デモとして再現
できました。


10. この制作から得たもの

  • Android の基礎構造理解
  • 新旧仕様の違いへの対応力
  • エラー文を読む力
  • 「動かない理由」を切り分ける思考

そして何より、

技術は「体験」を作るための道具

という感覚を、実装を通して再確認できました。

コメントを残す

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