Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Compose におけるパスワード自動入力とパスワード保存
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
tonionagauzzi
April 29, 2025
Technology
490
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Compose におけるパスワード自動入力とパスワード保存
tonionagauzzi
April 29, 2025
More Decks by tonionagauzzi
See All by tonionagauzzi
Kotlin2.3明示的バッキングフィールド
tonionagauzzi
1
350
【Android】テキスト選択色の問題修正で心がけたこと
tonionagauzzi
0
250
Android 15以上でPDFのテキスト検索を爆速開発!
tonionagauzzi
0
370
Googleの新しいコーディングAIエージェントJulesを使ってみた
tonionagauzzi
0
770
Androidテスト基礎講義
tonionagauzzi
0
380
Android Composeでの自動入力(作成:GPT-4o)
tonionagauzzi
0
150
Jetpack Composeで自動入力(Autofill)を実装しよう(作成:claude-3.7-sonnet)
tonionagauzzi
0
150
Jetpack Composeにおける自動入力の実装と注意点(作成者:Gemini 2.5 Pro Exp 03-25)
tonionagauzzi
0
170
Jetpack Composeで自動入力を完全攻略(作成:o3)
tonionagauzzi
0
150
Other Decks in Technology
See All in Technology
GitHub Copilot app最速の発信の裏側
tomokusaba
1
190
AWS Security Hub CSPMの成功・失敗体験
cmusudakeisuke
0
270
OTel × Datadog で 「AI活用」を計測し、改善に繋げる
shihochan
2
440
【2026年版】 ベクトル検索とEmbedding最前線
mocobeta
20
5.1k
AIはどのように 組織のアジリティを変えるのか?
junki
4
1k
SONiCの統計情報を取得したい
sonic
0
230
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
2
420
不要なレビューをAIにまかせて AIコーディングの環境改善を加速した
shoota
1
230
Oracle Cloud Infrastructure:2026年6月度サービス・アップデート
oracle4engineer
PRO
0
130
スタートアップにAmazon EKSは早すぎる? マルチプロダクト戦略を加速する Platform Engineeringの実践 / Is Amazon EKS Too Soon for Startups? Practical Platform Engineering to Accelerate a Multi-Product Strategy
elmodev09
1
400
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
失敗を資産に変えるClaude Code
shinyasaita
0
720
Featured
See All Featured
BBQ
matthewcrist
89
10k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
220
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Color Theory Basics | Prateek | Gurzu
gurzu
0
370
Context Engineering - Making Every Token Count
addyosmani
9
970
Accessibility Awareness
sabderemane
1
140
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
160
RailsConf 2023
tenderlove
30
1.5k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Transcript
Compose におけるパスワード自動入力とパスワード 保存 Compose におけるパスワード自動入力とパスワード保存 Sansan×DMM.com Android Tech Talk 1
話すこと 1. Jetpack Composeでの自動入力の実装方法 自動入力とは? 従来のXML方式との違い 自動入力の種類(保存済みパスワード・新規パスワード) 2. パスワード保存の罠と解決策 Compose
におけるパスワード自動入力とパスワード保存 Sansan×DMM.com Android Tech Talk 2
話さないこと パスワードマネージャーの導入方法 Compose におけるパスワード自動入力とパスワード保存 Sansan×DMM.com Android Tech Talk 3
登壇者情報 トニオ(@tonionagauzzi) Androidエンジニア サイボウズ株式会社 kintone開発チーム ブログ書くのが趣味 Compose におけるパスワード自動入力とパスワード保存 Sansan×DMM.com Android
Tech Talk 4
1. Jetpack Composeでの自動入力の実装方法 Compose におけるパスワード自動入力とパスワード保存 Sansan×DMM.com Android Tech Talk 5
自動入力とは? パスワード入力欄にカーソルを当てると自動でパスワードを入れてくれる機能 ユーザーの入力を効率化、セキュリティ面も強化できる Compose におけるパスワード自動入力とパスワード保存 Sansan×DMM.com Android Tech Talk 6
Google パスワードマネージャーによるパスワード自動入力 Compose におけるパスワード自動入力とパスワード保存 1 Sansan×DMM.com Android Tech Talk 7
Google パスワードマネージャーによる強力なパスワードの自動生成 Compose におけるパスワード自動入力とパスワード保存 2 Sansan×DMM.com Android Tech Talk 8
XML方式での実装方法 <EditText android:id="@+id/password" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPassword" android:autofillHints="password" /> android:autofillHints プロパティで簡単に実装可能
Compose におけるパスワード自動入力とパスワード保存 Sansan×DMM.com Android Tech Talk 9
Compose での実装方法 Compose UI 1.8.0以降がおすすめ 2025/4/23 に正式リリース // build.gradle.kts(:app) dependencies
{ implementation("androidx.compose.ui:ui:1.8.0") } 1.7.x以下では AutofillType (deprecated)を使う必要あり 実験的APIで正常に機能しないことも Compose におけるパスワード自動入力とパスワード保存 Sansan×DMM.com Android Tech Talk 10
Composeでの自動入力実装 // SomeComposable.kt Column { TextField( value = username.value, onValueChange
= {username.value = it}, modifier = Modifier.semantics { contentType = ContentType.Username } ) TextField( value = password.value, onValueChange = {password.value = it}, modifier = Modifier.semantics { contentType = ContentType.Password } ) } 公式ドキュメントを参考に、 Modifier.semantics { contentType = } で実装 Compose におけるパスワード自動入力とパスワード保存 Sansan×DMM.com Android Tech Talk 11
保存済みパスワードの自動入力 ログイン画面などのユースケース ContentType.Username + ContentType.Password の組み合わせ ユーザー名に応じたパスワードを自動入力 Compose におけるパスワード自動入力とパスワード保存 Sansan×DMM.com
Android Tech Talk 12
新しいパスワードの自動生成 パスワード再設定画面などのユースケース ContentType.NewPassword を使用 強力なパスワードを自動生成して提案 TextField( value = newPassword.value, onValueChange
= {newPassword.value = it}, modifier = Modifier.semantics { contentType = ContentType.NewPassword } ) Compose におけるパスワード自動入力とパスワード保存 Sansan×DMM.com Android Tech Talk 13
パスワード保存機能の実装 公式ドキュメントでは autofillManager?.commit() を使う方法が紹介されている val autofillManager = LocalAutofillManager.current 〜省略〜 Button(onClick
= { autofillManager?.commit() }) { Text("Reset credentials") } Compose におけるパスワード自動入力とパスワード保存 Sansan×DMM.com Android Tech Talk 14
2. パスワード保存の罠と解決策 Compose におけるパスワード自動入力とパスワード保存 Sansan×DMM.com Android Tech Talk 15
AutoFillManagerの罠 autofillManager?.commit() を呼んでもパスワード保存ダイアログが表示されない! Compose におけるパスワード自動入力とパスワード保存 Sansan×DMM.com Android Tech Talk 16
原因(厳しい条件) Composeのパスワード自動保存には厳しい条件がある: 1. NewUsernameとNewPasswordの両方が1つのComposable内に存在 2. ユーザーが1.の両方を操作した これらを満たさない場合、パスワード保存ダイアログは表示されない。 参考: Google Issue
Tracker Compose におけるパスワード自動入力とパスワード保存 Sansan×DMM.com Android Tech Talk 17
解決策:CredentialManagerを使う Button(onClick = { coroutineScope.launch { val credentialManager = CredentialManager.create(context)
val request = CreatePasswordRequest(username, newPassword.value) credentialManager.createCredential( request = request, context = context, ) } }) { Text("Reset credentials") } Compose におけるパスワード自動入力とパスワード保存 Sansan×DMM.com Android Tech Talk 18
CredentialManagerの注意点 android.credentials (API Level 34以上) androidx.credentials (下位互換性あり) API Level 33以下をサポートする場合は
androidx.credentials を使用 // build.gradle.kts(:app) dependencies { implementation("androidx.credentials:credentials:1.5.0") // optional - needed for credentials support from play services, for devices running // Android 13 and below. implementation("androidx.credentials:credentials-play-services-auth:1.5.0") } Compose におけるパスワード自動入力とパスワード保存 Sansan×DMM.com Android Tech Talk 19
まとめ Compose UIでの自動入力は contentType で簡単に実装可能 パスワード保存は AutofillManager より CredentialManager が確実
適切な実装でユーザー体験を向上させよう Compose におけるパスワード自動入力とパスワード保存 Sansan×DMM.com Android Tech Talk 20
参考リンク スマホでパスワード管理ができる Google パスワード マネージャーの使い方 Composeでのテキスト自動入力 Autofill フレームワーク CredentialManager API
Compose におけるパスワード自動入力とパスワード保存 Sansan×DMM.com Android Tech Talk 21