SSブログ

Androidプログラミングの基礎[5] 共有プリファレンス [Android]

今回のテーマは「共有プリファレンス」です。

第5回: 共有プリファレンスと設定画面

Androidで利用可能なデータ保存方法の一つである共有プリファレンスについて説明する。

1.共有プリファレンスを使う

共有プリファレンス(SharedPreference)は、キーと値とのペアを保存、取得可能とする機能。

◎ SharedPreferenceインターフェイス

共有プリファレンスから設定を取得、変更すうためのインターフェース。

⇒ SharedPreferences.Editインターフェイス

設定の変更を保存する場合に、データが一貫した状態となるよう制御する。

◎ 共有プリファレンスの取得

共有プリファレンスを作成する2つのメソッド

⇒ Context#getSharedPreferencesメソッド

アプリケーション内外で共通して使用可能な共有プリファレンスを作成する。

⇒ Activity#getPreferencesメソッド

アクティビティ専用の共有プリファレンスを作成する。

◎ サンプル

画面で入力した項目を共有プリファレンスに保存する。

プロジェクト設定

・新規Androidアプリケーション

アプリケーション名 PreferencesSample
プロジェクト名 PreferencesSample
パッケージ名 jp.andsys.android.preferencessample
最小必須 SDK API 8: Android 2.2 (Froyo)
ターゲット SDK API 18
次でコンパイル API 10: Android 2.3.3 (Gingerbread)
テーマ None

・プロジェクトの構成

ディフォルトのまま

・アイコンの属性

ディフォルトのまま

・アクティビティーの作成

Blank Activity

・Blank Activity

アクティビティ名 PreferencesSampleActivity
レイアウト名 main
ナビゲーション・タイプ None

strings.xml の編集

”PreferencesSample/res/values/strings.xml”

image

preferences_sample.xml の編集

”PreferencesSample/res/menu/preferences_sample.xml”

image

main.xml の編集

”PreferencesSample/res/layout/main.xml”

image

image

PreferencesSampleActivity.java の編集

”PreferencesSample/src/jp/andsys/android/preferencesample/PreferencesSampleActivity”

image

image

⇒ 共有プリファレンスの作成

SharedPreferences pref =
                getSharedPreferences("PreferenceFile", MODE_PRIVATE);

PreferenceFile : 共有プリファレンス名

MODE_PRIVATE : 公開モード

⇒ 共有プリファレンスの読み込み

getString メソッド

機能 共有プリファレンスの設定項目をString型で取得する
書式 String getString( String key, String defValue )
引数 key : 取り出したい設定項目の名前
defValue : デフォルト値

getBoolean メソッド

機能 共有プリファレンスの設定項目をBoolean型で取得する
書式 Boolean get( String key, boolean defValue )

getInt メソッド

機能 共有プリファレンスの設定項目をInt型で取得する
書式 Int getInt( String key, Int defValue )

⇒ 共有プリファレンスへの書き込み

putString メソッド

機能 共有プリファレンスにString型の値を登録する
書式 SharedPreferences.Editor putString( String key, String Value )
引数 key : 設定する項目のキー名
defValue : 設定する値

putBoolean メソッド

機能 共有プリファレンスにBoolean型の値を登録する
書式 SharedPreferences.Editor putBoolean( String key, boolean Value )

putInt メソッド

機能 共有プリファレンスにInt型の値を登録する
書式 SharedPreferences.Editor putString( String key, Int Value )

⇒ プリファレンスのクリア

共有プリファレンスをクリアするには、clearメソッド使います。commitメソッドを続けて使わないと反映されない。

実行

実行画面でタイトル入力、チェックボックスON、リストを青にし「保存」ボタンを押す。

image

チェックボックスOFF、リストを緑にして「取得」ボタンを押す。

image

保存された値を読み込んで表示された。

image

 

2.デフォルトの共有プリファレンスを使う

アプリケーションにはデフォルトの共有プリファレンスが1つ用意されている。これの使い方について調査した、

◎ サンプルの修正

PreferencesSampleActivity.java の編集

”PreferencesSample/src/jp/andsys/android/preferencesample/PreferencesSampleActivity”

image

image

getDefaultSharedPreferences メソッド

機能 デフォルトの共有プリファレンスを取得する
書式 SharedPreferences getDefaultSharedPreferences ( context context )
引数 context : デフォルトの共有プリファレンスを取得するオブジェクト

 

3.簡単に設定画面を作る

Android では簡単に設定画面を作る方法としてPreferencesActivityクラス(android.preference.PreferenceActivity)が用意されている。

◎ 設定画面のXML

設定画面のXMLはres/xml フォルダに格納する。

設定画面用のXML要素

要素 概説
PreferenceScreen 設定画面の最上位要素
PreferenceCategory 設定項目をカテゴリー分けする
EditTextPreference 文字列を入力するタイプの設定項目。タップすると文字列を入力するためのダイアログを表示する
CheckBoxPreference チェックボックスの設定項目
ListPreference リストボックスの設定項目。タップすると選択ダイアログが開く

主な属性

属性 解説
android:key 共有プリファレンスを保存するときのキー
android:title 設定項目のタイトル。PreferenceCategory要素の場合は、設定項目のカテゴリーを表すヘッダーとして表示
android:summary 設定項目の要約

 

◎ サンプル

設定画面を追加する。

⇒ 文字列リソースの追加

strings.xml の編集

”PreferencesSample/res/values/strings.xml”

image

⇒ 設定画面の作成

sample_preference.xml の作成 および 編集

”PreferencesSample/res/xml/sample_preference.xml”

Eclipseのメニューから「ファイル」、「新規」、「その他」と実行し、「Android」、「AndroidXMLファイル」を選択します。

設定項目 入力値/選択項目
リソース・タイプ Preference
プロジェクト PreferencesSample
ファイル sample_preference
ルート要素 PreferenceScreen

image

⇒ 設定画面用アクティビティの作成

Eclipseのメニューから「ファイル」、「新規」、「クラス」と実行し以下の内容でクラスを作成する。

SamplePreferenceActivity.java  の作成 および 編集

”PreferencesSample/src/jp/andsys/android/preferencesample/SamplePreferenceActivity.java”

設定項目 入力値/選択項目
パッケージ jp.andsys.android.preferencessample
名前 SamplePreferenceActivity
スーパークラス android.preference.PreferenceActivity
インターフェース (なし)

image

⇒ マニフェストファイルの修正

AndroidManifest.xml の編集

”PreferencesSample/AndroidManifest.xml”

image

⇒ メインアクティビティの変更

設定画面を開くためのボタンの追加

main.xml の編集

”PreferencesSample/res/layout/main.xml”

image

PreferencesSampleActivity.java の編集

”PreferencesSample/src/jp/andsys/android/preferencesample/PreferencesSampleActivity”

image

image

⇒ 実行

「設定画面を開く」をタップして設定画面を開く。

image

設定画面が開いたら「タイトル」をクリックする。

image

「タイトル入力ダイアログ」が開いたら適当な文字を入力し「OK」ボタンを押す。

image

「色」をクリックする。

image

「色選択」ダイアログが開いたら、適当な色をクリックする。

「設定項目の入れ子」にもチェックし、戻るボタンで全画面に戻る。

「取得」ボタンを押すと、タイトルと色に値が入ることが確認できる。

image

以上で「共有プリファレンス」を終了します。

 

本記事は以下の参考書を元にしています。


nice!(0)  コメント(0)  トラックバック(1) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 1

WordPress Plugin [Br..WordPress Plugin [WP.. ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。