Android写文件什么都不做

时间:2014-10-23 01:50:20

标签: android file

我有一个程序,我希望保存用户输入的内容,以便以后运行。我目前正在尝试将其保存为文本文件。我可以运行程序很好,一切似乎都有效,但最后我检查文件,它没有动过。这是代码:

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();       
    }

如何更改它以写入文件?此外,如果有人知道在运行之间保存数据的更好方法,我可以接受建议。

1 个答案:

答案 0 :(得分:1)

这是一个美丽的小东西,称为共享偏好,这个确切的事情:)

以下是Android Developer Guide

的示例
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");更常见的是。

我希望这会有所帮助。祝你好运:)