初学者安卓问题。好的,我已经成功写了文件。例如。 //获取文件名 String filename = getResources()。getString(R.string.filename);
FileOutputStream toWriteTo;
try {
toWriteTo = openFileOutput(filename, MODE_WORLD_READABLE);
// get the string to write
String toWrite = getResources().getString(R.string.contentstowrite);
toWriteTo.write(toWrite.getBytes());
toWriteTo.close();
...
}
catch (Exception ex) {
Toast.makeText(HelloFilesAppActivity.this, "fail!", Toast.LENGTH_SHORT).show();
}
}});
我已经通过阅读和显示内容证明了它,甚至使用getFilesDir()并显示文件夹中的所有文件。
我读到的所有内容都说文件位于/ data / data // files / 但我找不到他们。 (我在Windows XP上)。我的安装没有使用默认位置,因为我的C:\非常满。我查看了C:\ Documents and Settings \ Mike \ .android \ avd,并在项目文件夹和我安装SDK的地方:D:\ Program Files \ Android \ android-sdk-windows。那么/ data / data /?
在哪里?我读到我可以使用ADB来回推送和拉取文件,但我使用的是Eclipse ADT,我更喜欢使用命令行以外的东西。我正在使用的这本书似乎意味着你可以使用Eclipse,然后继续提供命令行命令。
我在DDMS中找到了有关Project Explorer的信息,但是我没有看到我写的文件。
我一直在假设我可能想要使用Windows中的其他方法创建一个文本文件,我将使用我的应用程序阅读。所以,如果答案是“你为什么要这样做?”,那就是我所追求的。最终一个DB也可能(这将在下一章:-))。
我是否必须使用ADB命令行?
感谢
麦克
答案 0 :(得分:3)
它在你的手机上。您的手机有自己的文件系统。如果您使用的是模拟器,则它位于模拟文件系统上,该文件系统与您的文件系统完全分开。访问手机(或仿真器)文件系统的唯一方法是通过ADB(除非我们讨论的是SD卡,但不是主机/数据/数据)。
旁注 - 如果您的手机没有root权限,您将无法访问/ data / data上的大量内容。我想你正在使用一个模拟器,它是你可以完全访问它的文件系统的“根”。
答案 1 :(得分:3)
http://developer.android.com/guide/topics/data/data-storage.html
用于获取读/写目录的方法:
openFileOutput()
您可以直接在设备的内部存储上保存文件。 默认情况下,保存到内部存储的文件对您的应用程序是私有的,其他应用程序无法访问它们(用户也无法访问)。当用户卸载您的应用程序时,这些文件被删除。
您需要将使用的文件保存到SD卡。
试试这个: