参加者 青木(読み手)、沼田、今井(記)
範囲 pp.81-87
第5章 ファイルのアクセス許可
- 5.4 外部記憶装置
- 5.4.2 アクセス許可
- 5.4.3 外部記憶装置を使用する上での注意点
- 5.5 プリファレンス
- P.82 PreferenceActivityクラス
Honeycomb(API 11)から、PreferenceActivityクラスの代わりにPreferenceFragmentクラスを使用し、どこかのActivityに貼り付けるようになった。PreferenceActivity#addPreferencesFromResource()などのメソッドはdeplicatedになっている。
- 5.5.1 PreferenceActivityクラス
- p.83 本文3行目
“_preferences”を付け足したもの → “preferences.xml“を付け足したもの- p.84 2.にも同様の箇所有り
- p.83 本文3行目
- 5.5.2 プリファレンスメソッド
- p.84 リスト5-12 lsコマンド入力例に衍字(空白)
.myapplication /shared_prefs
- リスト5-13も同様
- p.86 リスト5-21も同様(パッケージ名部分前後二箇所)
- p.84 リスト5-14
Activity.getPreferences(MODE_PRIVATE);とすると、Activity.xmlが出来るのではないか。通常は作りたいActivityクラス.getPreferences(MODE_PRIVATE);とするか、大抵はActivityのサブクラス内で使用するだろうから単にgetPreferences(MODE_PRIVATE);として使用するはず。 - p.85 リスト5-15
getSharedPreferences()を呼ぶのに、リスト5-12ではContext.とクラス名を指定していたり、リスト5-15ではクラス名を指定していなかったりでコード例に統一性がない。
大抵はActivityのサブクラス内で使用するだろうから、わざわざContext.はつけないだろう。 - p.86 リスト5-19
MODE_MULTI_PROCESSとMODE_PRIVATEではファイルパーミションは同じ。getSharedPreferences()の読み取り方法が異なる。p.84 表5-12参照。 - p.86 リスト5-20
putBoolean(), putString()の値を定数で与えているのだし、他のputInt(), putFloat(), putLong()も定数の方が例としてはわかりやすいと思う。 - p.86 リスト5-20 putInt()のキーに脱字
putInt(”KeyInt",
→putInt("Key Int",
- p.86 リスト5-21
string以外は、値をvalueという属性で表現しているが、stringは子要素で表現しているんですね。文字列が入るからエスケープを少し楽にしたかった?
- p.84 リスト5-12 lsコマンド入力例に衍字(空白)
- 5.5.3 他のアプリケーションからのプリファレンスの取得
- p.87 リスト5-22
NameNotFoundExceptionはどこから投げられる? → createPackageContext()
- p.87 リスト5-22
- P.82 PreferenceActivityクラス