我使用eclipse-indigo和android 2.3.3_r1
,我从网络中的服务器下载一个字符串。它是docx
文件的内容。
我可以从中收到ParcelFileDescritor
吗?我想MemoryFile
可以帮助我,因为我看到了getParcelFileDescriptor()
方法here和here,但是当我在eclipse中编写代码时,我找不到方法课堂上getParcelFileDescriptor()
android.os.MemoryFile
。
最后这是我的问题:是否可以不使用 socket()?
答案 0 :(得分:7)
@Override
public ParcelFileDescriptor openFile(Uri uri){
File f=new File(getContext().getFilesDir(),uri.getLastPathSegment());
ParcelFileDescriptor pfd;
try {
pfd=ParcelFileDescriptor.open(f,ParcelFileDescriptor.MODE_READ_ONLY);
}
catch ( FileNotFoundException e) {
e.printStackTrace();
return null;
}
return pfd;
}
答案 1 :(得分:1)
getParcelFileDescriptor()
是一个包私有方法,所以我无法在我的类中找到它(在另一个包中)。我试图通过反射访问它但最后我明白它会返回一个合适的ParcelFileDescritor,如果并且只有当我们创建MemoryFile作为对现有内存文件的引用时,在这种情况下我们希望来自现有内存文件的File descriptor
。所以这种方法无法帮助我们。在Android的更高版本中似乎也是如此,这个方法完全被忽略并从课堂上删除。