|
||
|
|
|
|||||||
| Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Existe mi archivo ?
Hola, quería saber como detectar si un archivo existe, de momento en mi disco duro, que utilizo windows, el archivo se llama "prueba.txt", está en la carpeta "amigo" del disco duro "d", para ello utilizo el siguiente texto:
--------------------------------------------------------------------------------------------- File file = new File(Environment.getExternalStorageDirectory(), "d:\\amigo\\prueba.txt"); if (file.exists()) { Texto.setText("archivo encontrado"); } else { Texto.setText("archivo NO encontrado"); } --------------------------------------------------------------------------------------------- Y nada... siempre sale por "archivo NO encontrado", tanto si el archio existe como si no. |
|
|
|
#2
|
||||
|
||||
|
Normal, el sistema de ficheros es del móvil, no del PC...
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
|
|
#3
|
||||
|
||||
|
entonces... ¿me estás diciendo que para probar una aplicación que lee datos de un archivo externo "prueba.txt", tengo que probarlo en un dispositivo android, movil o tableta? ¿no puedo hacer las pruebas en el ordenador ?
|
|
#4
|
||||
|
||||
|
Ehm... lo que estás probando donde lo ejecutas?
Aclaro, el emulador es un dispositivo más... con su sistema de ficheros (accesible desde la pestaña ddms de eclipse)
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
|
|
#5
|
||||
|
||||
|
Lo pruebo en el mismo ordenador donde lo programé, con el "android studio", aún no lo he probado en ningún dispositivo android, por eso pongo lo de "d:".
¿Es posible que el problema venga del getAbsolutePath() ? Última edición por Marciano Verde Día 15/06/13 a las 12:03:21. |
|
#6
|
||||
|
||||
|
Pero el código no lo ejecutas en Windows, lo ejecutas en un dispositivo emulado que tiene Android. Es como si tuvieras un móvil de verdad a todos los efectos de acceder a ficheros. Si quieres que el emulador emule una SD con cierto contenido tendrás que configurarlo y usar la ruta adecuada.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
|
|
#7
|
||||
|
||||
|
Si, si, por supuesto mocelet, es un dispositivo emulado, vale, pero el archivo que quiero ver si existe está en el disco duro D:, ¿como puedo ver si existe de de mi aplicación, ejecutada en el mismo ordenador?.
En realidad no busco emular una tarjeta SD, me da igual que el archivo esté la memoria del dispositivo en cuestión o en una tarjeta SD, eso son problemas para el futuro, jejeje, de momento quiero detectarlo en el disco duro, ¿es posible, o para trabajar con archivos de datos externos es obligatorio utilizar un dispositivo android real?. |
|
#8
|
||||
|
||||
|
A ver XD Es que no se ejecuta "en tu ordenador con windows", se ejecuta en una máquina virtual que ejecuta el sistema operativo Android en un entorno emulado. El dispositivo android tiene su memoria interna y la SD, y no tiene ni idea de si es emulado o es un móvil de verdad, así que no le puedes pedir que acceda a ficheros de un ordenador que no sabe ni que existe y al que no puede acceder porque no tiene forma.
Nuevamente, el emulador es como si fuera un dispositivo android físico, de tu PC no sabe nada, solo sabe de sus recursos internos (su memoria de sistema y la SD).
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
|
|
#9
|
||||
|
||||
|
Vale, ya veo que ando perdidillo... a ver si me aclaro algo.
¿Entonces como lo haría para acceder a una carpeta que en teoría está en raiz de la memoria del dispositivo android? |
|
#10
|
||||
|
||||
|
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
|
|
#11
|
||||
|
||||
|
Haber aclaremos cosas.
1 - NO uses Android Studio hasta que alcance la madurez, te va a dar demasiados problemas y si estas empezando es mas problematico que beneficioso. 2 - Tienes por un lado Windows/Linux/Mac... me da igual que uses en el dia a dia, ese nos da igual, es mas es como si no existiera, para programar en android tienes tu eclipse, tu projecto con su carpeta /res donde guardas imagenes y demas y tu movil o emulador, recomiendo movil pero haya cada uno lo que pueda o tenga. Una vez sentadas las bases si estas trabajando en eclipse con emulador/movil lo demas no existe, no hay forma de acceder a ello, es vacio, un agujero negro. A lo unico que puedes acceder es a lo que tengas en eclipse o en el emulador/movil. Una vez dicho esto, ese codigo esta bien salvo la primera linea que intentas buscar un archivo primero con un metodo Environment.getExternalStorageDirectory() que sin el .getAbsolutePath() no se que tal te ira, pero que estas escribiendo en la SD...porque en la sd?y si un dispositivo no tiene sd porque la ha perdido y no la necesita o simplemente un momento que la saque y la app este abriendose o abierta y necesite ese archivo que?Que casque toda la app no? Ahi si que al usuario le va a encantar tu app, ya digo Google por pasiva y por activa que el penso android para usar la tarjeta interna como programas y la externa solo para archivos, peliculas, musica....por eso no saco nunca para mover las apps de la tarjeta interna a la externa.Y luego que lo te ha intentado decir Mocelet por todos los medios, si estas dentro de eclipse y el emulador/movil como vas a acceder a algo que esta en el agujero negro?????IMPOSIBLE!!!entre esas comillas solo va el nombre del archivo, sino haber para que hacer un metodo con 2 parametros, para eso te ponen el metodo con un parametro y le das tu toda la ruta, y eso seria una locura porque entonces la gente crearia sus rutas como creo que harias tu y esto seria un caos. PD: Me das miedo si no entiendes esto porque no se si es porque no has leido lo suficiente o porque no has querido/podido entenderlo y si es asi...me dan miedo tus futuras aplicaciones PD2: Te habras acordado de dar los permisos de escritura en el androidmanifest no? PD3: Si que habria una forma de acceder al agujero negro pero seria montandote un servidor local y accediendo al archivo mediante una peticion por internet, que para una prueba te serviria pero para la vida real....olvidate que lio la historia demasiado ![]()
__________________
|
|
#12
|
||||
|
||||
|
Set92, no tengas tanto miedo a mis aplicaciones, si algún día publico algo será porque tengo algo digno y enseñable y que funcione perfectamente.
Soy conciente que aún tengo mucho que aprender, soy un principiante, algunas partes las tengo más dominadas, pero en archivos no se nada, por eso ni me había planteado que desde un dispositivo emulado no podía llegar a mi disco duro, me ha gustado tu teoría del agujero negro. Bueno que gracias a todos los que han respondido. |
![]() |
Estás aquí
|
||||||
|
||||||