[Android & Kotlin] SharedPreferences 簡単なデータを保存

SharedPreferences を使ってアプリの最初の起動時にのみデータをダウンロードさせるためのフラグを保存させたりということが簡単にできます。但し、データが多くなるような場合は データベースを使うことが推奨されています。単純な初期化のための環境変数などの用途ということでしょう。
 
1x1.trans - [Android & Kotlin] SharedPreferences 簡単なデータを保存



 
Android Studio
2021.1.1

 




SharedPreferences

 
Androidでのストレージ オプションとしていくつかありますが、このSharedPreferencesは「共有の環境設定」という日本語訳がされています。

Ref: ストレージ オプション | Android Developers
 
SharedPreferencesの実体はxmlファイルです。アプリ内のメモリにxmlファイルでの書き込み、読出しをする訳なので、大量のデータのやり取り、プロセスをまたがったデータ取得は問題が起きる可能性があるようです。
簡単な初期起動が済んだかどうか、true/false 程度のデータを保存するためには手軽です。
 

 

SharedPreferences, Editor, MODE の設定

 
String 書込む場合のコード

strings.xml

  1. SharedPreferencesのインスタンスを取得
    • R.string.preference_file_key をKeyとして設定
  2. edit() を呼び出して SharedPreferences.Editor を取得
  3. putString() などのメソッドを使用して値、Valueを追加
  4. apply()あるいはcommit() を使用して新しい値を書き込む

以前は書き込みにcommit()を使っていましたが、同期処理ですから直ぐに書き込む必要性がない場合は非同期のapply()がいいようです。

MODE_PRIVATE のモードではこのアプリからのみ読み書き可になります。

String, Int, Boolean, Long, Float の保存と読み出しの例です。
保存:

 
読出し:

 
Projectに入れてまとめると
MainActivity.kt

 
activity_main.xml

 
リソースです
strings.xml

ViewBIndingの設定
build.gradle

 
実行させてみましょう

 

Device File Explorer で確認

 
Android Studio で保存したデータを確認します
 
Device File Explorerから /data/data/ 以下にパッケージ名があるのでそれを選択
その下の、shared_pref フォルダーに設定した名前のxmlがあります。(DataStore.xml)

クリックするとxmlファイルだと言う事がわかります。
 
1x1.trans - [Android & Kotlin] SharedPreferences 簡単なデータを保存


 
テストで設定した「asdfgh」が”input”のvalueとなっています。
 

他にもadbコマンドの run-as を使って調べることもできます。
 
References:
Key-Value データを保存する | Android デベロッパー
ストレージ オプション | Android Developers
SharedPreferences | Android Developers
apply()







アプリ開発が上達するお勧め

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンラインのプログラミングスクールがいいでしょう。

TECH ACADEMY
オンライン説明会



Code Camp
現役エンジニアによるオンラインプログラミングスクール【CodeCamp】


直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。



侍エンジニア塾
侍エンジニア塾 無料体験レッスン


とても簡単なことなのに本やネットの画像だけでは分かりにくいことはあります。実際に質問してピンポイントで教えてもらうと、なんだそんなこと、と言うのがけっこうあります。


シェアする

  • このエントリーをはてなブックマークに追加

フォローする