2011-12-13 12 views
6

Uso eclipse-indigo y android 2.3.3_r1 y descargo una cadena de un servidor en la red. Es el contenido del archivo docx.cómo obtener ParcelFileDescriptor para el contenido del archivo?

¿Puedo recibir un ParcelFileDescritor de él? Supongo que MemoryFile me puede ayudar, porque vi el método getParcelFileDescriptor() para él here y here, pero cuando estoy escribiendo mi código en eclipse, no puedo encontrar el método getParcelFileDescriptor() en la clase android.os.MemoryFile.

Finalmente esta es mi pregunta: ¿es posible sin usarsocket()?

Respuesta

0

getParcelFileDescriptor() es un método privado de paquete, por lo que no pude encontrarlo en mi clase (es decir en otro paquete). Intenté acceder a él por reflexión, pero finalmente entiendo que devuelva un ParcelFileDescritor adecuado, si y solo si , creamos nuestro MemoryFile como referencia de un archivo de memoria existente y en este caso queremos File descriptor de ese archivo de memoria existente. Por lo tanto, este método no puede ayudarnos. También parece que en versiones posteriores de Android, este método es completamente ignorado y eliminado de la clase.

6
@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; 
    } 
Cuestiones relacionadas