android hacks - hack12

13
ANDROID HACKS #12 保保保保保保保保保保保保 保保 保保保保保 Twitter : @pfkawara Blog : http://kawara-tan.blogspot.com/ 22/05/07 1

Upload: masanori-ohkawara

Post on 24-May-2015

828 views

Category:

Technology


0 download

DESCRIPTION

「Android Hacks ―プロが教えるテクニック & ツール」(株式会社ブリリアントサービス 著)を教材とした勉強会でのまとめ資料です。http://www.oreilly.co.jp/books/9784873114569/

TRANSCRIPT

Page 1: Android Hacks - Hack12

ANDROIDHACKS#12 保存した設定値を利用する担当:かわらたん

Twitter : @pfkawara

Blog : http://kawara-tan.blogspot.com/

23/04/12

1

Page 2: Android Hacks - Hack12

この資料について• この資料は下記の本をベースに勉強会で作成した資料です。

• 『 Android Hacks』(株式会社ブリリアントサービス著、オライリー・ジャパン刊)

• この本の紹介ページが下記にあります。

• http://www.oreilly.co.jp/books/9784873114569/

23/04/12

2

Page 3: Android Hacks - Hack12

アジェンダ※SharedPreferencesという仕組みについての内容です。

1.保存されている xmlファイルを参照する

2.Preferenceの取得方法を変更する

3.別アプリケーションの設定値を参照、変更する

23/04/12

3

Page 4: Android Hacks - Hack12

1.保存されている xmlファイルを参照する

23/04/12

4

Page 5: Android Hacks - Hack12

1.保存されている xmlファイルを参照する• SharedPreferencesは xmlファイルに値が保存される

• 場所

• /data/data/パッケージ名 /shard_prefs/ファイル名 .xml

※ファイル名についてはこの後補足あり

• xmlファイルを PCにコピー

23/04/12

5

$ adb pull /data/data/パッケージ名 /shared_prefs/ファイル名 .xml ファイル名 .xml

Page 6: Android Hacks - Hack12

1.保存されている xmlファイルを参照する• xmlファイルの中身

23/04/12

6

Page 7: Android Hacks - Hack12

2. Preferenceの取得方法を変更する

23/04/12

7

Page 8: Android Hacks - Hack12

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と書かれているので注意!

Page 9: Android Hacks - Hack12

3.別アプリケーションの設定値を参照、変更する

23/04/12

9

Page 10: Android Hacks - Hack12

3.別アプリケーションの設定値を参照、変更する• 公式では非推奨

http://developer.android.com/intl/ja/reference/android/content/SharedPreferences.html

• ファイル作成モード

23/04/12

10

モード 説明

MODE_PRIVATE ファイルを作成したアプリケーションのみアクセス可能(デフォルト )

MODE_WORLD_READABLE

別アプリケーションからの読み込みを許可

MODE_WORLD_WRITABLE

別アプリケーションからの書き込みを許可

Page 11: Android Hacks - Hack12

3.別アプリケーションの設定値を参照、変更する• 別アプリケーションからの参照を許可する

• 別アプリケーションからの書き込みを許可する

23/04/12

11

こちらも同様

DDMSファイルエクスプローラーで見ると許可されているのが分かる

Page 12: Android Hacks - Hack12

• 別のアプリからファイルを参照する方法

3.別アプリケーションの設定値を参照、変更する

23/04/12

12

参照するファイルを持っているアプリのパッケージを指定する。

指定しないとSecurityExceptionがスローされる。

Page 13: Android Hacks - Hack12

参考 URL• Android Developers

• http://developer.android.com/intl/ja/index.html

23/04/12

13