android hacks - hack12

Post on 24-May-2015

828 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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

top related