我有一个程序,我希望保存用户输入的内容,以便以后运行。我目前正在尝试将其保存为文本文件。我可以运行程序很好,一切似乎都有效,但最后我检查文件,它没有动过。这是代码:
public void onClick(View v)
{
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.activity_tax_popup, (ViewGroup) findViewById(R.id.taxWindow), false);
String filename = "tax.txt";
boolean isEnabled = layout.findViewById(R.id.taxBox).isEnabled();
String enable = String.valueOf(isEnabled);
String taxPercent = layout.findViewById(R.id.enterTax).toString();
FileOutputStream fos;
try
{
fos = openFileOutput(filename, Context.MODE_PRIVATE);
fos.write(enable.getBytes());
fos.write(taxPercent.getBytes());
fos.close();
}
catch (Exception e)
{e.printStackTrace();}
pw.dismiss();
}
如何更改它以写入文件?此外,如果有人知道在运行之间保存数据的更好方法,我可以接受建议。
答案 0 :(得分:1)
这是一个美丽的小东西,称为共享偏好,这个确切的事情:)
的示例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();
}
}
当然,你可以(也可能会)做的不仅仅是putBoolean - 我发现自己使用putString(" HEY THERE");更常见的是。
我希望这会有所帮助。祝你好运:)