Activity.getPreferences

前回、ファイルの読み書きを扱ったが、アプリケーションの設定情報などを扱う場合は、SharedPreferencesを使うともっと簡単に取得・保存ができる・・・。

SharedPreferencesへのアクセスにはいくつかの方法があるが、今回はActivityクラスのgetPreferencesメソッドでアクセスする・・・。

Activity | Android Developers

activity_main.xmlに、

上のEditTextに保存したい文字列を入力、下のButtonで保存・・・。

MainActivity.javaは、

saveButtonがクリックされたら、editPrefのテキストを取得してstrに格納・・・。
getPreferencesでSharedPreferencesのprefsを取得・・・。
prefs.editで、いったんEditorオブジェクトeditorを作ったら、editor.putStringでキーは"Key"、値はstrの文字列でSharedPreferencesに保存・・・。
editor.commitで確定なので忘れずに・・・。

f:id:BG1:20160622000801p:plain

これでSaveボタンを押すと、キーが"Key"、値が"ABCDE"で保存される・・・。

C:\Users\bg1\Dropbox>adb shell
shell@C5303:/ $ run-as com.bgstation0.android.sample.activity_
shell@C5303:/data/data/com.bgstation0.android.sample.activity_ $ ls
cache
lib
shared_prefs
shell@C5303:/data/data/com.bgstation0.android.sample.activity_ $ cd shared_prefs
shell@C5303:/data/data/com.bgstation0.android.sample.activity_/shared_prefs $ ls
MainActivity.xml
shell@C5303:/data/data/com.bgstation0.android.sample.activity_/shared_prefs $ cat MainActivity.xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
    <string name="Key">ABCDE</string>
</map>
shell@C5303:/data/data/com.bgstation0.android.sample.activity_/shared_prefs $

SharedPreferencesは、このようなKey-Value型のXML形式で保存されるのが特徴・・・。

Sample/android/Activity/getPreferences/src/Activity/Activity_ at master · bg1bgst333/Sample · GitHub