android hacks - hack12
DESCRIPTION
「Android Hacks ―プロが教えるテクニック & ツール」(株式会社ブリリアントサービス 著)を教材とした勉強会でのまとめ資料です。http://www.oreilly.co.jp/books/9784873114569/TRANSCRIPT
ANDROIDHACKS#12 保存した設定値を利用する担当:かわらたん
Twitter : @pfkawara
Blog : http://kawara-tan.blogspot.com/
23/04/12
1
この資料について• この資料は下記の本をベースに勉強会で作成した資料です。
• 『 Android Hacks』(株式会社ブリリアントサービス著、オライリー・ジャパン刊)
• この本の紹介ページが下記にあります。
• http://www.oreilly.co.jp/books/9784873114569/
23/04/12
2
アジェンダ※SharedPreferencesという仕組みについての内容です。
1.保存されている xmlファイルを参照する
2.Preferenceの取得方法を変更する
3.別アプリケーションの設定値を参照、変更する
23/04/12
3
1.保存されている xmlファイルを参照する
23/04/12
4
1.保存されている xmlファイルを参照する• SharedPreferencesは xmlファイルに値が保存される
• 場所
• /data/data/パッケージ名 /shard_prefs/ファイル名 .xml
※ファイル名についてはこの後補足あり
• xmlファイルを PCにコピー
23/04/12
5
$ adb pull /data/data/パッケージ名 /shared_prefs/ファイル名 .xml ファイル名 .xml
1.保存されている xmlファイルを参照する• xmlファイルの中身
23/04/12
6
2. Preferenceの取得方法を変更する
23/04/12
7
2. Preferenceの取得方法を変更する
• 取得方法は 2種類
• 違い
23/04/12
8
メソッド名 説明 生成されるファイル名
getPreferences(MODE)
このメソッドを呼び出したActivityからのみ、設定値を参照できる。
/data/data/パッケージ名 /shared_prefs/Activity名 .xml
getDefaultSharedPreferences(CONTEXT)
このメソッドを呼び出したパッケージと同じプログラムからのみ、設定を参照できる。
/data/data/パッケージ名 /shared_prefs/パッケージ名_preferences.xml
モードを指定する (本に書かれていないので注
意! )
本にはパッケージ名 .xmlと書かれているので注意!
3.別アプリケーションの設定値を参照、変更する
23/04/12
9
3.別アプリケーションの設定値を参照、変更する• 公式では非推奨
http://developer.android.com/intl/ja/reference/android/content/SharedPreferences.html
• ファイル作成モード
23/04/12
10
モード 説明
MODE_PRIVATE ファイルを作成したアプリケーションのみアクセス可能(デフォルト )
MODE_WORLD_READABLE
別アプリケーションからの読み込みを許可
MODE_WORLD_WRITABLE
別アプリケーションからの書き込みを許可
3.別アプリケーションの設定値を参照、変更する• 別アプリケーションからの参照を許可する
• 別アプリケーションからの書き込みを許可する
23/04/12
11
こちらも同様
DDMSファイルエクスプローラーで見ると許可されているのが分かる
• 別のアプリからファイルを参照する方法
3.別アプリケーションの設定値を参照、変更する
23/04/12
12
参照するファイルを持っているアプリのパッケージを指定する。
指定しないとSecurityExceptionがスローされる。
参考 URL• Android Developers
• http://developer.android.com/intl/ja/index.html
23/04/12
13