我试图将文件保存到内部存储(不是SD卡)。正如文件指出的那样,如果我使用getExternalStorageDirectory()
,数据将被置于/Android/data/<package_name>/
之下,但这里没有任何内容。此代码取自here。不过,类似的代码在Archos上工作。在HTC Desire上的内部存储
File path = Environment.getExternalStorageDirectory();
File file = new File(path, "DemoPicture.jpg");
txtList.append(file.getPath());
try {
path.mkdirs();
InputStream is = getResources().openRawResource(R.drawable.icon);
OutputStream os = new FileOutputStream(file);
byte[] data = new byte[is.available()];
is.read(data);
os.write(data);
is.close();
os.close();
} catch (IOException e) {
Log.d("ExternalStorage", "Error writing " + file, e);
}
我使用Android SDK 2.1。清单中已经添加了许可WRITE_EXTERNAL_STORAGE
。 logcat没有错误。任何提示?
啊,对不起。我的意思是,外部存储。是的,路径显示为'/ mnt/sdcard/DemoPicture.jpg',但我在那里看不到任何东西。我想念什么? – springrolls 2011-05-25 19:52:25
嗯,在我的手机上工作。你如何检查该文件是否被创建?你使用一些文件浏览器应用程序?或者'adb shell'? – inazaruk 2011-05-25 20:03:02
我使用文件资源管理器。我检查了存储状态,并说“共享” - >介质未安装,并通过USB大容量存储器共享。我不明白“安装”是什么意思。当我将设备连接到PC时,我认为它已被安装。 – springrolls 2011-05-25 20:14:35