2010-11-17 21 views
8

Mi aplicación requiere que el uso copie manualmente un archivo de su PC a la tarjeta SD en un subdirectorio que crea mi aplicación allí (o lo buscaré en el directorio raíz). Hasta ahora, todo bien (la mayoría de las personas no tienen problemas excepto cuando intentan ejecutar mi aplicación mientras el teléfono todavía está conectado y luego preguntan por qué les dice "tarjeta SD no montada" :-)).Características de la tarjeta SD Android en Samsung Galaxy

De todos modos, me pregunto cómo funcionan los teléfonos Samsung Galaxy ya que tengo entendido que tienen una tarjeta SD externa e interna. Mi aplicación actualmente llama a "Environment.getExternalStorageDirectory()"; ¿Esto devuelve la raíz de la carta EXTERNA?

Además, cuando el usuario monta el dispositivo en su PC, ¿cómo se ve? ¿Ven dos unidades montadas, o solo la tarjeta externa como unidad de disco, o alguna otra cosa?

Respuesta

8

Para complementar la respuesta de Andy. Mis hallazgos con el Samsung Galaxy Tab han sido que:

Environment.getExternalStorageDirectory() también devuelve la memoria interna "/ sdcard /". Sin embargo, a diferencia del Galaxy S, la tarjeta SD real aparece en "/ sdcard/external_sd /".

Cuando estoy montado con una tarjeta SD 'externa', puedo informar que aparecen dos unidades extra en Windows, una para la tarjeta sd interna y otra para la externa.

+0

Cuando la tarjeta interna está montada en la PC, me pregunto si, desde la PC, puede ver el directorio sd/o external_sd/que también representa la tarjeta externa. Espero que este no sea el caso, ya que podría causar mucha confusión para el usuario. – gordonwd

+0

cuando está montado, ve dos unidades, una es la memoria interna y la otra es la externa. – AJ87uk

+0

¡LAME! "/ external_sd /" esto es más: http://developer.samsung.com/forum/board/thread/view.do?boardName=GeneralB&messageId=162934&messageNumber=1381&startId=zzzzz~&searchType=TITLE&searchText=sdcard –

0

Curiosamente, estoy usando un samsung galaxy s en este momento sin una tarjeta SD externa, y el uso de Environment.getExternalStorageDirectory(), me devuelve una ubicación en la tarjeta SD interna (/ sdcard /), que está bien . Creo que si también tuvieras una tarjeta SD externa, tendrías la opción de usar la carpeta/sdcard/sd/para poner cosas específicamente en la tarjeta SD externa. Supongo que tendrás que ver si existe esa subcarpeta para decir si puedes poner elementos en un archivo externo o si solo tienes interno. Este artículo también discute el punto:

http://androidforums.com/samsung-galaxy-s/176109-internal-external-sd-card.html

Aunque no es específicamente la pregunta que hizo, creo que la respuesta a esta pregunta también pueden darle la información que buscas:

Programmitically accessing internal storage (not SD card) on Verizon HTC Droid Incredible (Android)

En cuanto a cómo se ve el dispositivo cuando está montado (es decir, el cable usb está conectado y la copia de archivos se selecciona de las notificaciones) y adjunta la PC, se muestra como una unidad adicional, que es mi tarjeta SD interna. Debo admitir que no podría decir qué pasaría si el dispositivo también tiene una tarjeta SD externa, ya que no tengo una para probar.

Espero que esto ayude! :)

Andy.

+0

Buena información - ¡gracias! Principalmente son mis clientes los que pueden confundirse, así que tendré que agregar algo a mi documentación. – gordonwd

Cuestiones relacionadas