アプリを閉じる前にいくつかの値を保存したい。しかし、新しいファイル(.txt)を作成して保存する必要があるかどうかはわかりません。または、strings.xmlファイルを変更するだけで、次にアプリを開いたときに、保存された値が正しい保存値になるか、最初に使用する前に定義した値になります。私はそれがstrings.xmlファイルから読み取る本当に簡単な方法があることを知っているので、閉じる前にこのファイルに値を設定する方法がなければならないと思います(しかし私はネット上で見つけることができません)。例やアドバイスや説明をありがとう。
4 に答える
Androidには、単純なアプリケーションデータの保存に役立つSharedPreferencesクラスが用意されています。SharedPreferencesクラスを使用して、構成情報や必要なものを保存できます。アプリケーションをバックグラウンドに置くか閉じると、onStop()が呼び出されます。これをオーバーライドして、必要なものを実装できます。
SharedPreferencesクラスの使用法は非常に簡単です。
ステップ1:SharedPreferencesオブジェクトを使用した書き込み
//Create a object SharedPreferences from getSharedPreferences("name_file",MODE_PRIVATE) of Context
private SharedPreferences pref;
pref = getSharedPreferences("info", MODE_PRIVATE);
//Using putXXX - with XXX is type data you want to write like: putString, putInt... from Editor object
Editor editor = pref.edit();
editor.putString("key5","value5");
//finally, when you are done saving the values, call the commit() method.
editor.commit()
step2:SharedPreferencesオブジェクトを使用した読み取り
//get SharedPreferences from getSharedPreferences("name_file", MODE_PRIVATE)
SharedPreferences shared = getSharedPreferences("info",MODE_PRIVATE)
//Using getXXX- with XX is type date you wrote to file "name_file"
String string_temp = shared.getString("key5");
MODE_PRIVATE定数は、共有設定ファイルを作成したアプリケーションのみが共有設定ファイルを開くことができることを示します。
共有設定ファイルは、XMLファイルとして/data/data/<package_name>/shared_prefs
フォルダーに保存されます
アクティビティのオーバーライドされたonStop()メソッドで保存操作を実行します。保存する場所/方法については、次の例に従ってください:
http://developer.android.com/guide/topics/data/data-storage.html#pref
設定を使用してそれを行うことができます。このチュートリアルと例を確認してください
http://www.vogella.com/articles/Android/article.html#preferences
複数のアクティビティ間でデータを共有する必要がある場合は、共有設定を使用してください
データを保存するための共有設定を使用することをお勧めしますが、より多くのデータを保存したと思われる場合は、データベースを使用するか、ファイルとして保存することをお勧めします。