2010-11-28 15 views
7

私は比較的新しいプログラマーです。アンドロイドアプリケーション用のレイアウトを書く前にxmlで実際に作業していません。アンドロイドアプリに2つの文字列を保存するには?

私はユーザーにint値を保存させたいと思っています(ただしintを文字列として保存する方が簡単だと思います)。 (たとえば、アプリを開くたびに挿入するのではなく、保存できるようにするための開始時間と終了時間があります)。

これは、ファイルをxmlファイルに保存するのが最も簡単な方法だと思っていましたが、アンドロイドチュートリアルを見てから、xmlファイルについて理解できる唯一のコーディングは、これらの文字列を保存(または編集)する方法については何も書かれていません。

私はこのプロジェクトのデータベースにアクセスできないため、電話に直接保存する必要があります。

アンドロイドアプリの2つの文字列を保存する最も簡単な方法は何ですか?

答えて

21

SharedPreferencesをご覧ください。存在しない場合にはそれを作成する名前で共有プリファレンスを要求し、次にそれにエディターを取得して名前付き値を追加します。

共有設定を取得して名前で値を取り出す場合は、リスナーを追加して共有設定オブジェクトの変更を通知することもできます。

共有環境設定を取得する:

SharedPreferences myPrefs = getSharedPreferences("myPrefs", MODE_PRIVATE); 

保存値:

値の取得
SharedPreferences.Editor e = myPrefs.edit(); 
e.putInt("someValue", 50); // add or overwrite someValue 
e.commit(); // this saves to disk and notifies observers 

:あなたはこのようなもので、それを達成するためにSharedPreferencesを使用する必要があります

int i = myPrefs.getInt("someValue", 0); // return 0 if someValue doesn't exist 
+3

ちょっとしたことです。 int i = myPrefs.getInt( "someValue"、defValue);あなたはデフォルト値も与えなければなりません。 – Piscean

2

を:

public class Calc extends Activity { 
    public static final String PREFS_NAME = "MyPrefsFile"; 

    @Override 
    protected void onCreate(Bundle state){ 
     super.onCreate(state); 
     . . . 

     // Restore preferences 
     SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
     boolean silent = settings.getBoolean("silentMode", false); 
     setSilent(silent); 
    } 

    @Override 
    protected void onStop(){ 
     super.onStop(); 

     // We need an Editor object to make preference changes. 
     // All objects are from android.context.Context 
     SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
     SharedPreferences.Editor editor = settings.edit(); 
     editor.putBoolean("silentMode", mSilentMode); 

     // Commit the edits! 
     editor.commit(); 
    } 
} 

ちょうどあなたの状況では、StringとIntegerのgetおよびputメソッドを使用してください。 この例および詳細は、Android開発者ウェブサイトhereにあります。

関連する問題