Saving Data part1 | Android開発記録雑記

Android開発記録雑記

パソコン中級者ぐらいの私が
スマホアプリの開発をしてみようと思い立ち
Androidで動くアプリ開発過程をこれから書き記していきます。

今日は新しい項目 Saving Data を進めます。

データの保存に関わるアレコレです。

保存データの扱いによって幾つかの選択肢があります。

その中で主要な3つ
共有プリファレンス
 他のアプリからのアクセスを制限
 単純で小さなデータ用。
外部保存域
 外部領域への保存、アクセス可
SQLite データベース
 データベースへの保存

さらに詳しい事は Storage Options
にありますので見ておくといいです。

システム側でファイルアクセスを制限してくれるのは
セキュリティ上、とても助かる気がします。


では早速1つ目の 共有プリファレンス を見ていきます。

どちらか2つのメソッドを使用し共有設定ファイルにアクセスします。

アクティビティに対して複数の共有設定ファイルがある場合
リソースに preference_file_key を用意しファイルを識別
SharedPreferences sharedPref = getActivity().getSharedPreferences(
        getString(R.string.preference_file_key), Context.MODE_PRIVATE);

アクティビティに対して1つの共有設定ファイルしかない場合
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);


2つ目の引数は読み込みモードで
MODE_WORLD_READABLE
MODE_WORLD_WRITEABLE

などとすることで他アプリからの読込みや書込みを可能にできます。


では、書込み方法

エディットを取得して
SharedPreferences
.Editor editor = sharedPref.edit();
書込むキーと値を設定
editor
.putInt(getString(R.string.saved_high_score), newHighScore);
編集をコミット
editor
.commit();


読込み方法

デフォルト値としてリソースから値を取得
int
defaultValue = getResources().getInteger(R.string.saved_high_score_default);
読込み値を取得、無い場合デフォルトに設定
long
highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue);

今日は以上です。