

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
sharedpreferencesとは?
sharedpreferencesは Android アプリの中でよく使われる「小さなデータを保存しておく仕組み」です。主に文字列や数字、真偽値などのキーと値の組み合わせを保存するための仕組みで、アプリを閉じてもデータが残る点が特徴です。つまり、アプリを再起動したときにも直前の設定や選択を覚えておくことができます。
共有のデータ保管場所としては、ファイルを自分で管理する必要がない点が魅力です。複雑なデータベースを使わず、シンプルな設定情報を保存するのに向いています。例としては「ログイン状態の有効/無効」「音量の設定」「テーマカラーの選択」など、少量の情報を保存する場面が多いです。
実際には、取得する名前の名前空間(名前)とアクセス用のモードを指定して保存操作と読み出し操作を行います。保存は「編集者(Editor)」を使い、保存内容を確定させることでデータが書き換わります。読み出しは取得時に指定した名前空間から値を取り出します。
基本の使い方
1つの名前空間を用意して、そこにデータを保存します。まずSharedPreferencesオブジェクトを取得します。続いてEditorを使って値を書き込み、commitまたは apply で確定します。読み出しは同じ名前空間から値を取得します。
以下は代表的なコードの流れです。<span>実際のコードはプロジェクトの構成やAndroidのバージョンで微妙に違うことがありますが、基本の考え方は同じです。
基本の流れ:取得 → 書き込み → 読み出し。具体的には、getSharedPreferences または PreferenceManager.getDefaultSharedPreferences で名前空間を決め、Editorを使ってデータを追加します。
具体例:設定を保存する
以下は中学生にも分かりやすい日常的な例です。例として「ユーザー名」と「ログイン状態」を保存します。
例の説明:ユーザーがアプリにログインしたときに ユーザー名 と ログイン状態 を保存します。次回起動時には保存された値を読み出して、画面を自動的に設定します。
| 項目 | 保存する値の型 | 説明 |
| username | String | ユーザー名を保存 |
| loggedIn | boolean | ログイン状態を保存 |
| lastTheme | String | テーマカラーの選択を保存 |
サンプルの流れ
1. SharedPreferences を名前空間とモードで取得する。
2. Editor を作成して、保存したい値を putString、putBoolean などで設定する。
3. apply または commit で書き込みを確定する。
4. 読み出しは getString、getBoolean などのメソッドを使って値を取得する。
5. アプリの起動時や表示の直前に、保存されている値を読み込んで UI を更新する。
重要なポイント:apply は非同期で保存され、commit は同期的に保存されます。UI の軽さを重視する場合は apply を使い、保存が確実に完了してほしい場面では commit を使い分けましょう。
注意点
保存できるデータ量は小さめです。大容量のデータには不向きなので、ファイルやデータベースを別途検討します。
まとめ
sharedpreferencesは、設定や小さなデータを手軽に保存できる便利な仕組みです。使い方の核心は、名前空間を決めて、Editor で値を書き込み、読み出すときは対応する getXX 系のメソッドで取り出す、という基本サイクルを覚えることです。
sharedpreferencesの同意語
- SharedPreferences
- Androidが提供する、キーと値のペアを長期的に保存する設定データの永続化API。小さなデータの保存に適している。
- Shared Preferences
- SharedPreferencesの表記ゆれ。Androidのキーと値のデータを永続化する設定データの保存機能。
- アプリ設定の永続化
- アプリの設定情報をアプリを再起動しても保持するための保存機能。主にSharedPreferencesで実現されることが多い。
- キーと値の永続化ストレージ
- キーと値の組み合わせでデータを保存する、永続的なストレージの総称。SharedPreferencesを含む仕組みの説明。
- XML形式の設定ファイル
- 保存データはXML形式のファイルとして内部ストレージに保存されることを示す説明。
- 内部ストレージの設定ファイル
- アプリの内部ストレージに保存される設定ファイルという意味。
- アプリ内プリファレンスAPI
- アプリ内で設定を扱うためのAPI群の総称。SharedPreferencesはこの中核。
- SharedPreferences API
- SharedPreferencesを操作するための公式APIの名称。
- 設定データの永 perpetuation
- 設定データを永続的に保存すること自体の説明。
- プリファレンス(設定)データストア
- 設定データを格納するストレージ機構の別称。
- アプリ設定ストレージ
- アプリの設定情報を保存するストレージ領域の総称。
- 設定の保存領域
- 設定データを保存できる場所の意味。
sharedpreferencesの対義語・反対語
- 一時保存
- データを短時間だけ保存する仕組み。アプリを終了するとデータが消える可能性が高く、SharedPreferences のように長期保存を前提としない点が対義となる。
- 揮発性メモリ
- RAM など電源を切るとデータが消える性質の保存領域。永続的保存を前提とする SharedPreferences とは対照的。
- RAM上のデータ
- デバイスのRAM上にのみ存在するデータ。電源オフ時やアプリ終了時に失われやすいのが特徴。
- セッションデータ
- 現在のセッション期間中だけ有効なデータ。セッション終了後には破棄されることが多く、長期保存の SharedPreferences とは反対。
- キャッシュ
- よく使うデータを短期的に再利用するための保存。長期保存を目的とせず、揮発性・一時性が強い点が対義。
- 非永続的ストレージ
- 永続性を意図しないデータ保存方法。デバイスの再起動やアプリ終了でデータが消える可能性が高い。
sharedpreferencesの共起語
- Android
- SharedPreferences は Android アプリの設定・小さなデータを保存する機能で、Android での利用を前提に設計されています。
- SharedPreferences
- キーと値のペアを内部ストレージの XML ファイルとして保存する、設定情報の永続化の中心機能です。
- Java
- 従来の主な開発言語で、SharedPreferences の操作は Java コードで多く記述されます。
- Kotlin
- 現在の主流言語。拡張機能を活用して SharedPreferences の操作を簡潔に書けます。
- Context
- SharedPreferences を取得・操作するために必要な Android の基本クラス。
- getSharedPreferences
- 特定のファイル名とモードを指定して SharedPreferences を取得する呼び出しです。
- SharedPreferences.Editor
- 値を変更する編集用オブジェクト。put系列・remove・clear で一括反映します。
- Editor
- SharedPreferences.Editor の別名として使われることがあります。
- putString
- 文字列を保存するメソッドです。
- getString
- 保存した文字列を取得するメソッドです。
- putInt
- 整数を保存します。
- getInt
- 保存した整数を取得します。
- putBoolean
- 真偽値を保存します。
- getBoolean
- 保存した真偽値を取得します。
- putLong
- 長整数を保存します。
- getLong
- 保存した長整数を取得します。
- putFloat
- 浮動小数点数(float)を保存します。
- getFloat
- 保存した浮動小数点数を取得します。
- remove
- 指定したキーを削除します。
- clear
- 全てのキーと値を削除します。
- commit
- 変更を同期的に保存します(結果を true/false で返します)。
- apply
- 変更を非同期に保存します。UI をブロックしません。
- MODE_PRIVATE
- ファイル作成時のモード。通常は他アプリから見えないようにします。
- MODE_MULTI_PROCESS
- 複数プロセスからの同時アクセスを許す古いモード。現在は非推奨です。
- PreferenceManager
- 設定関連の共有情報を管理する補助クラス。設定画面と連携することが多いです。
- XML
- 保存データは内部ストレージ内の XML 形式ファイルとして管理されます。
- プリファレンスファイル
- SharedPreferences が保存される XML ファイルの名称。通常は your_prefs.xml のような形になります。
- 内部ストレージ
- アプリ専用のストレージ領域。データは他のアプリから直接見えません。
- EncryptedSharedPreferences
- 暗号化された SharedPreferences。機密情報を安全に保存します。
- AndroidX
- 新しい機能やライブラリの集合。EncryptedSharedPreferences は AndroidX Security に含まれます。
- DataStore
- SharedPreferences の後継とされる新しいデータ保存手段。型安全・非同期操作が特徴です。
- Preference
- 設定画面の UI 要素。SharedPreferences の値と連携して動作します。
- PreferenceFragment
- 設定画面を実装するためのフラグメント。
- PreferenceScreen
- 設定画面の階層構造を定義する XML 要素。
- OnSharedPreferenceChangeListener
- 値が変更されたときに通知を受け取るリスナー。
- SharedPreferencesCompat
- 互換性を保つための補助クラス。古い API でも動くようにします。
- getAll
- 現在保存されている全キーと値を取得します。
- key
- 各値を識別する名前(キー)です。
sharedpreferencesの関連用語
- SharedPreferences
- Androidの設定データをキーと値で保存する、軽量な永続ストレージ。小さな設定情報や状態をアプリ内で永続化するのに適しています。
- SharedPreferences.Editor
- 値を書き換えるための編集オブジェクト。put系メソッド、remove、clearを使って変更を行い、commitまたはapplyで保存します。
- getSharedPreferences
- 特定の名前のSharedPreferencesファイルを取得するメソッド。複数ファイルを使い分けたいときに便利です。
- MODE_PRIVATE
- ファイルがアプリ内だけアクセスできるようにする保存モード。現在は標準の動作として使われます。
- MODE_WORLD_READABLE_WRITABLE
- 旧来の他アプリからの読み書きを許可するモードです。現在は非推奨で使用しません。
- PreferenceManager
- PreferenceManagerはデフォルトのSharedPreferencesを取得するためのユーティリティクラスです。
- DefaultSharedPreferences
- アプリのデフォルト設定ファイルを指すSharedPreferences。通常はPreferenceManager.getDefaultSharedPreferences(context)で取得します。
- getString
- 保存した文字列を取得します。キーとデフォルト値を指定します。
- getInt
- 保存した整数を取得します。
- getBoolean
- 保存した真偽値を取得します。
- getLong
- 保存した長整数を取得します。
- getFloat
- 保存した浮動小数点数を取得します。
- getStringSet
- 保存した文字列集合(Set
)を取得します。 - putString
- 文字列を保存します。
- putInt
- 整数を保存します。
- putBoolean
- 真偽値を保存します。
- putLong
- 長整数を保存します。
- putFloat
- 浮動小数点数を保存します。
- putStringSet
- 文字列集合(Set
)を保存します。 - remove
- 指定したキーの値を削除します。
- clear
- 全データを削除します。
- apply
- 変更を非同期で保存します。処理をブロックせずに継続します。
- commit
- 変更を同期的に保存します。処理が完了するまで待機します。
- XMLファイル
- SharedPreferencesはXMLファイルとして保存され、ファイル名は<name>.xmlの形になります。
- OnSharedPreferenceChangeListener
- SharedPreferencesの値が変更されたときに通知を受け取るリスナーです。
- EncryptedSharedPreferences
- AndroidXのSecurityライブラリを使って暗号化して保存できるSharedPreferencesの実装です。
- デフォルト値の扱い
- getX系のメソッドにはデフォルト値を指定します。未設定時の戻り値を決められます。
- Multi-processモード
- MODE_MULTI_PROCESSは古い機能で、現代のアプリでは効果が薄く非推奨です。
- Auto Backupと復元
- デバイス間でのバックアップ機能によりデータの復元が行われることがあります。
- データ型の制限
- SharedPreferencesはプリミティブ型とSet
のみ対応します。複雑なデータは別のストレージを検討してください。



















