Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中存储数据的问题_Android_Save_Android Edittext - Fatal编程技术网

在Android中存储数据的问题

在Android中存储数据的问题,android,save,android-edittext,Android,Save,Android Edittext,我有一个按钮,它将上面以EditText形式写入的数据存储到内存中,但由于某些原因,代码无法工作。它甚至不显示祝酒词 final Button save = (Button) findViewById(R.id.buttonSave); final String Day = dayName; save.setOnClickListener(new OnClickListener() { @Override public void onClick(

我有一个按钮,它将上面以EditText形式写入的数据存储到内存中,但由于某些原因,代码无法工作。它甚至不显示祝酒词

final Button save = (Button) findViewById(R.id.buttonSave);
final String Day = dayName;

save.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                String FILEOUTPUT = Day;
                BufferedWriter bfw;

                try {
                    bfw = new BufferedWriter (new FileWriter(FILEOUTPUT));
                    Scanner scan = new Scanner(new File(editData.getText().toString()));

                    bfw.write(scan.nextLine());
                    bfw.close();
                    Toast.makeText(ModifyInfo.this, "Saved", Toast.LENGTH_SHORT);
                } catch (Exception e) {
                    Toast.makeText(ModifyInfo.this, "Save error", Toast.LENGTH_SHORT);  
                }
            }
        });
07-19 20:00:59.677:错误/文件保存(341):无法保存

07-19 20:00:59.677:错误/文件保存(341): java.io.FileNotFoundException:/Monday(只读文件系统)

07-19 20:00:59.677:错误/文件保存(341):在 org.apache.harmony.luni.platform.OSFileSystem.open(本机方法)

07-19 20:00:59.677:错误/文件保存(341):在 BlockGuard$WrappedFileSystem.open(BlockGuard.java:232)

07-19 20:00:59.677:错误/文件保存(341):在 FileOutputStream.java.io.FileOutputStream。(FileOutputStream.java:94)

07-19 20:00:59.677:错误/文件保存(341):在 FileOutputStream.java.io.FileOutputStream。(FileOutputStream.java:66)

07-19 20:00:59.677:错误/文件保存(341):在 FileWriter.io.FileWriter.(FileWriter.java:80)

07-19 20:00:59.677:错误/文件保存(341):在 com.geft.timeline.ModifyInfo$2.onClick(ModifyInfo.java:77)

07-19 20:00:59.677:错误/文件保存(341):在 android.view.view.performClick(view.java:2485)

07-19 20:00:59.677:错误/文件保存(341):在 view.view$PerformClick.run(view.java:9080)

07-19 20:00:59.677:错误/文件保存(341):在 handleCallback(Handler.java:587)

07-19 20:00:59.677:错误/文件保存(341):在 android.os.Handler.dispatchMessage(Handler.java:92)

07-19 20:00:59.677:错误/文件保存(341):在 Looper.loop(Looper.java:123)

07-19 20:00:59.677:错误/文件保存(341):在 main(ActivityThread.java:3683)

07-19 20:00:59.677:错误/文件保存(341):在 java.lang.reflect.Method.Invokenactive(本机方法)

07-19 20:00:59.677:错误/文件保存(341):在 java.lang.reflect.Method.invoke(Method.java:507)

07-19 20:00:59.677:错误/文件保存(341):在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)

07-19 20:00:59.677:错误/文件保存(341):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)

07-19 20:00:59.677:错误/文件保存(341):在 dalvik.system.NativeStart.main(本机方法)


您对这一行所做的操作可能是错误的
editData.getText().toString()
。如果您的editData是EditText,那么您的程序将需要其中的文件名。我认为您没有在此处提供文件名。您应该在此处输入应保存在文件中的字符串。

日志中有任何异常吗?它不会显示toast,因为您没有调用
toast.show()(您可能可以将其链接)。我想你是弄错了。为什么不记录您的错误,而不是捕获它并抛出一个一般错误呢?至少在您的
Toast
中使用
e->getMessage()
,但最好将其写入日志。谢谢!我得到了祝酒词,但它一直在说“保存错误”。我很困惑。你能给我一个简短的例子说明我应该做什么吗?请看这个。Scanner scan=new Scanner(新文件(editData.getText().toString());这一行没有任何文件。请查看我之前评论中关于如何编写文件的问题的答案