所以我想保存用户在EditText中写入的内容,以便下次保存。这个完全相同的代码适用于java项目,但对于Android项目,它不起作用。
代码如下。
PrintWriter out = new PrintWriter(“hi”);总是给出FileNotFoundException e。
在java项目中,此代码为PrintWriter out = new PrintWriter(“hi”);创建一个名为“hi”的新文件,但android项目不生成新文件而是返回错误。当应用程序稍后再次打开时,它不会保存EditText中的String。
有没有人能解决这个问题?
public void onCreate(blablabla)
{blablabla
try {
FileReader reader = new FileReader ("hi");
Scanner in = new Scanner(reader);
String line = in.nextLine();
mEditText.setText(line);
in.close();
} catch (FileNotFoundException e) {
mEditText.setText("");
Toast.makeText(mContext, "null!!", Toast.LENGTH_SHORT).show();
}
@Override
protected void onDestroy()
{
super.onDestroy();
// The activity is about to be destroyed.
try {
PrintWriter out = new PrintWriter("hi");
out.write(mEditText.toString());
out.close();
} catch (FileNotFoundException e) {
Toast.makeText(mContext, "Can't save", Toast.LENGTH_SHORT).show();
}
}
答案 0 :(得分:0)
可能是Android权限问题。见http://developer.android.com/guide/topics/manifest/manifest-intro.html#perms
或者更好地使用SharedPreferences?