Androidデバイスの内部ストレージに文字列を保存して読み取りたい。(ファイルがまだ存在しない場合)ファイルを書き込み、ファイルを編集して、ファイルを読み取りたい。それを行うための最も簡単で最良の方法は何ですか?
前もって感謝します!
ほとんどの場合、以前のJavaプロジェクトで行ったように、標準のJava I|Oを使用します。
内部ストレージ上のファイルを取得するには、2つの主要なオプションがあります。
openFileInput()
とを使用して、内部ストレージのルートにあるファイルとopenFileOutput()
をそれぞれ取得しますInputStream
OutputStream
getFilesDir()
内部ストレージのルートを指すオブジェクトを取得するために使用します。このFile
オブジェクトから、サブディレクトリを作成したり、入力と出力用のストリームとリーダーを作成したりできます。
値を書き込むには:
edit()を呼び出して、SharedPreferences.Editorを取得します。putBoolean()やputString()などのメソッドを使用して値を追加します。commit()を使用して新しい値をコミットします。値を読み取るには、getBoolean()やgetString()などのSharedPreferencesメソッドを使用します。
電卓でサイレントキー押下モードの設定を保存する例を次に示します。
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();
}
}