あらすじ
- Androidでアカウントに関連する情報をアプリ内に持ちたくない
- Android側でAccountManagerという仕組みを用意してくれている
- しかし、説明を読んでもイマイチピンとこなかった
- 実際に動きを確認できるところまでサンプル作ってみた
参考
- Android Security 安全なアプリケーションを作成するために 11.2章
- Android におけるアカウント管理 – Gunosy Tech Blog
- AccountManagerを利用する - Qiita
- AccountManagerでアカウントを管理する - Qiita
AccountManagerの概念
AndroidSecurity安全なアプリケーションを作成するために P267より抜粋
環境
- Android Studio 1.5.1
- Minimum SDK API 19: Android 4.4(KitKat)
- Emulator Nexus 5 API 19 Android 4.4.4, API 19
動くもの
- こんな感じで動く
ハマり
AccountManager
Authenticator
ともにサンプル通り作ってみようと思ったらエラーの切り分けができなかった
- Android的に×なのか
- AccountManager的に×なのか
- 使おうとしたGoogle APIのお作法的に×なのか(多分これが一番有力)
- Android Security(2012/2/21 第二版)のサンプルが古めのGoogle APIを使っていたため、これを最新に置き換えて〜という作業も発生していた
空の Authenticator
を作って、とりあえず登録できる口だけ用意する事で一気通貫通す事ができた!