在手机中保存Android App数据

时间:2016-08-09 19:40:19

标签: android android-studio save fileoutputstream

我无法从我的应用中查看数据。我基本上运行一个应用程序,并希望将数据保存在文本文件中。我的保存代码是:

try {
       FileOutputStream  out = openFileOutput(FILENAME, Context.MODE_APPEND); 
       out.write (entry.getBytes());
       out.close();
       } catch (Exception e) {
         e.printStackTrace();
       }

其中entry是包含我想要保存的数据的字符串。该应用程序运行正常,我可以查看日志中的数据。问题是我在Android设备管理器中找不到该文件 - >文件管理器 - >数据。当我点击数据时,它应该显示包,但它是空的。我想保存数据并在以后使用它进行处理。有人可以帮忙吗? TIA:)

Edit1:修改为在外部存储中写入。但是,这只是一个条目,并没有写更多。

FileOutputStream outputstream;
          try {
              file1 = new File(Environment.getExternalStorageDirectory(), "MyData");
              outputstream = new FileOutputStream(file1);
              OutputStreamWriter oswriter = new OutputStreamWriter(outputstream);
              BufferedWriter bwriter = new BufferedWriter (oswriter);
              bwriter.write(entry);
              bwriter.newLine();
              bwriter.close();
              outputstream.close();
             } catch (Exception e) {
                        e.printStackTrace();
                    }

2 个答案:

答案 0 :(得分:0)

我的猜测是你在设备上测试它。您在生产硬件上没有/data/的任意访问权限,除非在root设备上。在模拟器上进行测试或使用adb shell run-as从命令行访问应用程序的internal storage部分。

答案 1 :(得分:0)

您要保存的位置可能只能由您的应用访问。见docs。来自文档:

内部存储:

  • 它始终可用。

  • 此处保存的文件只能由您的应用访问。

  • 当用户卸载您的应用时,系统会从内部存储中删除您的所有应用文件。

该文件不会显示在文件资源管理器中。您仍然可以在自己的应用中阅读它。