Dribit medias - ドリビットメディア

昨日今日あった面白い話を発信するサイトです!発信は全て個人の見解であり、所属する組織とは関係ありません。

Android

【手順】Android端末をバックアップして復元してみた(Pixel 7a / Android 16の場合)

Pixel 7a(Android 16)を初期化したので、バックアップと復元の手順をメモしました! なお、今回の手順ではインストールアプリは復元できたものの、アプリデータの完全な復元はできませんでした。 また、この手順通り行ってデータ移行に失敗しても責任は取…

イベント『モバイルアプリ開発 ✕ AI ー 組織・技術課題と向き合い、AIと走る』に参加しました!

今日はニュートを運営している令和トラベルさんのモバイルイベントに参加しました! reiwatravel.connpass.com オンライン配信の動画は、令和トラベルさんのYouTubeチャンネルで公開されています! www.youtube.com いつも恒例の、イベントの感想をお伝えし…

体験入部

普段とは違うチームに1ヵ月ぐらい体験入部しています。今はその2週間目が終わったところです。そこで得たものや心がけたことを書いていきます! フルComposeアプリ Androidアプリ開発のチームなんですが、まず、大きな違いはフルComposeで書いていることです…

幼児向け算数アプリを作る (2) - クイズ画面まで作成

引き続き幼児向け算数アプリを制作しています! 前回 dribit.hatenablog.com 状況 以下の画面のうち「5. 結果画面」まで作成しました! 序盤のうちはAndroidだけで動作保証しています。でも、せっかくKotlin Multiplatformを使っているので、頃合いを見てiOS…

幼児向け算数アプリを作る (1) - 仕様書とプロジェクトの作成

Kotlin Multiplatformで幼児向け算数アプリを作り始めました。 子どもに算数を教えるときストア上のアプリを使うと広告が表示されてもどかしく、お金を払うくらいなら自分で作ろうと思ったのがきっかけです。 仕様書作成 まずは、以下の要件を元に、Gemini P…

【Android】アプリリンクでアプリが起動しない…。その原因は署名のフィンガープリントの違いだった!

Androidのアプリリンクが機能しない問題を解決した話です。 アプリリンクとは? 発生していた問題 原因 解決方法 アプリリンクとは? アプリリンク(App Links)を使うと、確認済みの URL から直接 Android アプリ内の対応コンテンツを開けるようになります*…

【Android】アプリ内アップデートについて

Androidアプリの強制アップデートの方法について調べたことを書きます。 前回記事 アプリ内アップデートとは 1. フレキシブルアップデート 2. 即時アップデート 必須要件 実装方法 アップデートの優先度 アプリ内アップデートの注意点 前回記事 dribit.haten…

【Android】Google Play Console を使い、ユーザーにアプリのアップデートを求めるやり方

Androidアプリの強制アップデートの方法について調べたことを書きます。 まず、Google Play Consoleの機能を使えば、追加実装なしで簡単にユーザーにアプリの更新を要求できます。 手順は次のとおりです。 (1) 製品版もしくはテストのリリースを選び「ユーザ…

技術書典19 (8) - 買った本の紹介 (2)

僕が技術書典19で買った本を紹介します! 買った本 紹介(前半) 紹介(後半) わかる!ソフトウェア設計トレーニング 異世界アジャイル ー停滞という魔王を倒すための冒険の書ー 買った本 はじめてのSpring Boot 〜ゆめかわWebショップをつくろう!〜 ログ…

【Compose Multiplatform】オセロゲームを作りました!

Compose Multiplatformでオセロゲームを作りました。 Compose Multiplatform - 美しい UI をあらゆるプラットフォームで実現 きっかけは、子どもとの会話で「オセロって、何?」と聞かれて、実物のオセロを買いつつ、届くまでの間スマホゲームでオセロをやり…

【Android】ktlint 11から14への更新で無効化したルール

ktlintを12から14に更新しました。 その際、既存コードに過度なフォーマットが行われてしまうのが課題でした。そこで、.editorconfigに書かれたいくつかのルールをDisabledにして、コードは変更せずに対応しました。 前回の11から12への更新内容も含めて紹介…

【Android】collectAsStateとcollectAsStateWithLifecycleの違いについて

Androidアプリのコードを読んでいたらcollectAsStateWithLifecycleが使われていて、collectAsStateと何が違うんだろう?と疑問に思ったので調べたことを書きます! collectAsState collectAsStateWithLifecycle 2つの違い まとめ 参考文献 collectAsState co…

技術書典19 (7) - 買った本の紹介 (1)

僕が技術書典19で書いた本と買った本を紹介します! 書いた本 チョルチャタンマ vol.1 買った本 紹介(前半) はじめてのSpring Boot 〜ゆめかわWebショップをつくろう!〜 ログの読み方、書き方入門 STORES Mobile Tech Book Vol.1 紹介(後半) 書いた本 …

Claude Codeのサブエージェントを設定し、書籍の知識を習得させました!

前回 サブエージェントとは サブエージェントの作り方 作ったサブエージェントの内容 おためし 前回 dribit.hatenablog.com サブエージェントとは Claude Codeを使っていると、多くの情報をプロンプトやCLAUDE.mdに詰め込みすぎて、コンテキストウィンドウの…

Androidはどうしてjava.net.URLをdeprecatedにしないのか

昨日、Android開発者コミュニティでちょっとした話題がありました。 AndroidでURLやURIを扱う際、android.net.Uri、java.net.URL、java.net.URIが使えますが、Javaではjava.net.URLはdeprecatedです。しかし、Androidにおけるjava.net.URLはdeprecatedとして…

【Android】テキスト選択色の問題修正で心がけたこと

以下の資料のブログ版です。 speakerdeck.com 概要 対象者 テキスト選択色の問題について 画面のレイアウト 問題 問題の原因 解決方法 最初の解決アプローチ 根本的な解決アプローチ 検討した4つの案 最終的な実装 最後に 概要 AIのチャット画面において、テ…

Shibuya.apk #54 に参加しました!

Androidの勉強会、Shibuya.apk #54に参加しました。今日はそのレポートを発信します! https://shibuya-apk.connpass.com/event/372339/ Shibuya.apkは、渋谷を中心に活動するAndroidアプリ開発者コミュニティで、不定期にオープンな勉強会を開催しています…

Kotlin Fest 2025 (2) - 資料まとめ

Kotlin Festのセッションにおける発表資料の一覧です。 紹介人数が多いため、申し訳ありませんが各登壇者のXへのリンクや所属企業の紹介、敬称は省略させてください。 かわりに、みなさまの貴重な知見の共有と貢献に、最大の敬意と賞賛を示したいと思います…

Kotlin Fest 2025 (1) - 感想

自分の感想 他の人の感想 次回 自分の感想 11月1日(土)に開催されたKotlin Fest 2025へ行きました! 今日は #KotlinFest に参加しました。写真はHenryさん(@henryappjp )のブースでの記念撮影。ブースや懇親会で話してくださったみなさま、ありがとうござ…

技術書典19 (5) - CLAUDE.mdを作り直して再執筆準備

10月中には原稿を書き上げたいところですが、現時点で0ページはさすがに心許ないので、Claude Codeを活用して爆速で執筆します。今日はそのためのCLAUDE.mdを作ります。作るというか、以前作ったものの焼き直しですね。 前回 作ったCLAUDE.md 補足 次回 前回…

技術書典19 (4) - 126ページを捨てる決断

前回 XMLに関することを書くのをやめます 理由 1. 将来設計とのギャップ 2. 自分の学びにつながりにくい 3. ネタとして面白い 代わりに書く内容 次回 前回 dribit.hatenablog.com XMLに関することを書くのをやめます 技術書典19の原稿ですが、前回入念に準備…

事例とOSTで学ぶ!モバイルアプリ特有のつらいテスト、どうしてる?【Voicy×ビットキー】に参加しました!

今日は、こちらのイベントに参加しました! bitkey.connpass.com モバイル勉強会としては珍しいOSTを含んだ内容でした。いつも通りレポートを書きます。 待つ、歩く、そして祈る。モバイルアプリの厄介なテスト奮闘記 - 鳥渕さん 登壇1人目はビットキーの鳥…

DroidKaigi & iOSDC After Talks Night に参加しました!

今日はDroidKaigiとiOSDCのイベントでアクセンチュア・イノベーション・ハブ 東京へ行きました! https://yumemi.connpass.com/event/366704/ 一昨日と違って既にお酒を飲んだ状態からの書き始めなのと、人数がたくさんいたのでレポートの内容に濃淡があると…

DroidKaigi 2025 後夜祭@ビズリーチ に参加しました!

今日は、ビズリーチさんで開催された DroidKaigi 2025 後夜祭に参加しました。ちなみに明後日もDroidKaigiアフターイベントがあるので、だんだんと下がってきていたDroidKaigi熱が今週になって復活しています! https://d-cube.connpass.com/event/367111/ …

AuthTabのActivityResultContractが公開される見込み

前回 dribit.hatenablog.com 今回取り扱う課題 - Auth TabのActivityResultContractが無いこと Androidアプリのカスタムタブで認証をしたい場合、Auth Tabは前回記事で書いたとおり、強力な選択肢です。 しかし、Auth TabはChrome Custom Tabと違ってActivit…

技術書典19 (3) - CLAUDE.md の作成

今日は技術書典本を執筆するためのCLAUDE.mdを作ります。 せっかくなので執筆に使うCLAUDE.mdを作る手順と、出来上がったものを公開します! 前回 CLAUDE.mdとは CLAUDE.mdの作成手順 (1) Claude Codeを立ち上げ (2) CLAUDE.mdを自動作成 (3) CLAUDE.mdを日…

技術書典19 (2) - 目次を考える

技術書典19のために書く本の構成を、目次という形式で書き起こしてみます。 目次というと1冊の本になるみたいですが、実際は昔書いたACCESSテックブック*1みたいに合同本を作り、それの1章分として収録してもらう形になると思います。 前回記事 本の構成 書…

技術書典19 (1) - 執筆内容が決定しました!

以前、技術書典19に出る意向を書きましたが*1、無事サークル申請を行い、さぁ書くぞという段階に達しました。 ということで、いよいよ技術書典に出す本の執筆を始めていきます! ここからは実況中継的に、ブログを書きながら執筆内容を考えていきます。なお…

DroidKaigi 2025 (4) - 3日目、総括

DroidKaigi 2025に参加した話として、個人ブログでは最後の記事です。1〜2日目の感想や、後日出る予定の所属企業のブログもあわせて読んで欲しいです! 前回 3日目 他の人の感想 総括 今後のスタンス 前回 dribit.hatenablog.com 3日目 3日目もブースに立ち…

DroidKaigi 2025 (3) - 9/12動画と資料まとめ

紹介人数が多いため、申し訳ありませんが各登壇者のXへのリンクや所属企業の紹介、敬称は省略させてください。 かわりに、みなさまの貴重な知見の共有と貢献に、最大の敬意と賞賛を示したいと思います! 前 Android値受け渡し大全 〜設計を制する者が「渡す…