studio programacion para móviles libros gratis español edición desarrollo desarrollar curso con aprende aplicaciones android android-sdcard android-file

para - manual programacion android español pdf



Cómo acceder/almacenamiento/emulado/0/ (15)

He escrito un código para grabar audio y guardarlo en la ubicación debajo del archivo.

private String getFilename() { String filepath = Environment.getExternalStorageDirectory().getPath(); File file = new File(filepath, AUDIO_RECORDER_FOLDER); if (!file.exists()) { file.mkdirs(); } return (file.getAbsolutePath() + "/" + System.currentTimeMillis() + file_exts[currentFormat]); }

En Logcat, me da una ubicación de archivo como

/storage/emulated/0/AudioRecorder/1436854479696.mp4

No puedo encontrar la ubicación de este archivo en mi tarjeta SD. ¿Cómo acceder a la ubicación?


No hay necesidad de aplicaciones de terceros.

Mi Android 6.0 me permite navegar por la memoria interna sin la necesidad de aplicaciones de terceros. Simplemente hago esto *:

  1. "Configuraciones"
  2. "Almacenamiento y USB"
  3. "Interno"
  4. [Deje que se cargue un poco ...]
  5. [desplazarse hacia abajo]
  6. "Vistazo"

* Es posible que las palabras no correspondan a las de la versión en inglés estándar, ya que las estoy traduciendo libremente del portugués.

Nota : Al menos en mi teléfono, /storage/emulated/0 no corresponde a la tarjeta SD, sino a la memoria interna . Este método no funcionó para mi tarjeta externa, pero nunca lo probé con otro teléfono.

¡Espero que esto ayude!


Android recomienda que llame a Environment.getExternalStorageDirectory.getPath() lugar de hardcoding /sdcard/ in path name. Esto devuelve el directorio principal de almacenamiento compartido / externo. Entonces, si se emula el almacenamiento, esto devolverá /storage/emulated/0 . Si explora el almacenamiento del dispositivo con un explorador de archivos, dicho directorio será /mnt/sdcard (confirmado en Xperia Z2 con Android 6).


Aquí, se encuentra en / mnt / shell / emulated / 0


Como dijo Hiren, necesitará un explorador de archivos para ver su directorio. Si está rooteado, le sugiero altamente el explorador root, de lo contrario, ES File Explorer es una buena opción.


Conecte su dispositivo y ejecute adb shell que le proporcionará un comando shell en su dispositivo. No tiene permiso para leer /storage/emulated/ pero, como sabe, está en el subdirectorio 0, simplemente vaya a cd /storage/emulated/0 y podrá mirar a su alrededor e interactuar según su aspecto.

Nota: también puedes usar adb inalámbrica


En el emulador, para ver este archivo, haga clic en Configuración> Almacenamiento> Otros> Android> datos> com.comnombre_de_paque.textapp> archivo> Descargar. Aquí, textapp es el nombre de la aplicación en la que está trabajando.


En mi caso, / storage / emulated / 0 / corresponde a la ruta raíz de mi dispositivo . Por ejemplo, cuando tomo una foto con la aplicación de cámara predeterminada de mi teléfono, las imágenes se guardan automáticamente /store/emulated/0/DCIM/Camera/mypicname.jpeg

Por ejemplo, suponga que desea almacenar sus imágenes en el directorio / Pictures, es decir, en el directorio Pictures que existe en el directorio raíz. Entonces usas el siguiente código.

File storageDir = Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES );

Si desea guardar las imágenes en DCIM o en el directorio de Descargas, proporcione los argumentos a continuación al método Environment.getExternalStoragePublicDirectory () que se muestra arriba.

Environment.DIRECTORY_DCIM Environment.DIRECTORY_Downloads

Luego especifique el nombre de su imagen:

String imageFileName = "JPEG_" + timeStamp + "_";

Luego crea el objeto de archivo como se muestra a continuación. Usted especifica el sufijo como el segundo argumento.

File image = File.createTempFile( imageFileName, // prefix ".jpg", // suffix storageDir // directory );


PARA RESTAURAR sus imágenes desde / storage / emulated / 0 / simplemente abra el archivo 100Andro ... allí verá sus imágenes, aunque es posible que no tenga acceso a ellas en su PC Explorer. Abra cada imagen una por una, siga configurando (tres puntos ...) y guarde la imagen. Se mostrará en el archivo de Android ''Imágenes'' desde donde también puede copiarlos utilizando su explorador. No hay una función de ''guardar todo'', sin embargo, debe hacerse una por una, pero funciona.

QT


Pruébalo desde

ftp://ip_my_s5:2221/mnt/sdcard/Pictures/Screenshots

qué punto en /storage/emulated/0


Prueba esto

private String getFilename() { String filepath = Environment.getExternalStorageDirectory().getPath(); File file = new File(filepath + "/AudioRecorder" ); if (!file.exists()) { file.mkdirs(); } return (file.getAbsolutePath() + "/" + System.currentTimeMillis() + ".mp4"); }


Si está utilizando un monitor de dispositivo Android y un emulador de Android: he accedido de la siguiente manera: Data / Media / 0 /


También puede usar Android Debug Bridge (adb) para copiar su archivo de dispositivo Android a la carpeta en su PC:

adb pull /storage/emulated/0/AudioRecorder/1436854479696.mp4 <folder_on_your_PC_e.g. c:/temp>

Y puedes copiar desde la carpeta completa del dispositivo AudioRecorder :

adb pull /storage/emulated/0/AudioRecorder <folder_on_your_PC_e.g. c:/temp>


Usando el comando // obtener el directorio de archivos

Image image =new Image() { Source = file.Path };

luego en comando adb pull // la ruta del archivo de imagen aquí



https://productforums.google.com/forum/#!msg/nexus/WIcHUNQfRLU/ALpViG86AwAJ

El Sr. Expensive Toys dijo: Estoy sorprendido de que este problema siga apareciendo, ya que comenzó a ocurrir ya en Honeycomb.

Por lo tanto, / storage / emulated / 0 / DCIM / Camera es la misma carpeta que su carpeta DCIM / Camera normal. Es sólo un enlace simbólico. Entonces, los archivos están en la ubicación correcta, solo tiene una aplicación que coloca datos erróneos en la base de datos de MediaStore.

Al acceder a archivos desde su PC, en realidad está enumerando la base de datos de MediaStorage para archivos. No está tirando de un directorio tradicional las listas. Entonces, lo que ve se basa en lo que hay en esa base de datos y en las entradas de la ruta en la base de datos. Los archivos en la base de datos que apuntan a directorios emulados no se muestran, ya que se supone que están duplicados, ya que es el mismo directorio físico que su DCIM / cámara normal. Lo que está sucediendo es que algunas aplicaciones de terceros mal escritas están insertando entradas en la base de datos con la ruta / storage / emulated / 0 / DCIM / Camera en lugar de la ruta raíz correcta a DCIM / Camera. Lo que significa que el servicio MTP no puede verlos cuando está conectado a su PC.

Por lo general, la forma más fácil de solucionar el problema es simplemente borrar las bases de datos de MediaStore para eliminar las entradas erróneas de la base de datos de MediaStore y dejar que el sistema vuelva a indexar los archivos y colocarlos en la base de datos con las rutas adecuadas.

Configuraciones-> aplicaciones Presione el menú de 3 puntos en la parte superior derecha y seleccione Mostrar Sistema Encontrar almacenamiento multimedia, Selecciónelo, Seleccionar almacenamiento, luego Borrar datos Encontrar almacenamiento externo, Seleccionarlo, Seleccionar almacenamiento, luego Borrar datos Apagar el teléfono, volver a encender el teléfono, Espere a que el servicio de indexador reconstruya los datos.

Cuando haya terminado, los archivos deberían aparecer con el árbol de directorios adecuado y estar visibles desde la PC. Dependiendo de la cantidad de archivos en el teléfono, puede tomar de 10 a 20 minutos reconstruir la base de datos de medios a medida que el servicio recorre los directorios del teléfono, obteniendo metadatos, creando miniaturas, etc.