Preferenceの注意事項
AndroidのPreferenceは結構な頻度で使用するかと思います
こちらの記事でも紹介したように、アプリ内で単純なデータを保持するのには便利なクラスとなっています
しかし、使っていく中で注意する事もあるので紹介していきたいと思います
注意すべきこと
アプリをアンインストールした時には、基本的には、Preferenceの持つデータは削除されるものと思っていました
しかし、アンインストールをして、インストールし直した時に設定画面の初期値がおかしいことに気づきました
コードにブレイクポイントをおいてみると、Preferenceのデータが消えていなく、アンインストール前の状態でもないことが分かりました
色々調べてみると、設定 > バックアップとリセット > データのバックアップがON、自動復元がONになっていると再インストール時にPreferenceの値が復元されるみたいですね
自分の体験では、完全な復元ではなかったのでそのあたりも含めて恐ろしいです
解決策としては、AppLaunchCheckerクラスのhasStartedFromLauncherメソッドで初回起動かの確認ができます
onCreateでAppLaunchCheckerクラスのonActivityCreateメソッドを呼ぶことで初回起動のフラグがなくなります
終わりに
自分の中で当たり前と思っていることでも、実際には、違うことがあります
Preferenceの仕様、Androidの仕様を完全に知っているわけではないのに、当たり前と思っている所がだめですね
実際に現象に出会わないとわからないことも多いと思うので、これからも日々勉強です
火曜日担当:poppy
admin at 2017年05月23日 10:00:01