Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

209
Vistas
¿Por qué mi archivo DB exportado no es visible para mi aplicación que se ejecuta en otras tabletas?

He estado desarrollando una aplicación que permite que una cadena de tiendas de bebidas muestre, clasifique y personalice sus menús de bebidas de una manera más moderna que montones de menús de papel laminado.

La aplicación está implementada actualmente, pero se hizo muy evidente que se necesita un método para compartir los archivos .db personalizados, a menos que un empleado recurra a simplemente duplicar el trabajo de agregar recetas a cada tableta individualmente.

He improvisado un código de importación/exportación que crea con éxito un archivo de respaldo en una tarjeta microSD externa y puede importar ese archivo .db exportado con éxito. Sin embargo, cuando traté de mover la tarjeta microSD a mi otra tableta con la aplicación instalada, no se pudo encontrar el archivo .db.

 protected void importDB() throws IOException { try { File sd = new File(myContext.getExternalFilesDir(null).toString() + "recipes.db"); File data = new File("/data/data/com.raineydesign.reciteateamfuel/databases/recipes.db"); FileChannel src = new FileInputStream(sd).getChannel(); FileChannel dst = new FileOutputStream(data).getChannel(); dst.transferFrom(src, 0, src.size()); src.close(); dst.close(); Toast.makeText(myContext.getApplicationContext(), "Import Successful!", Toast.LENGTH_SHORT).show(); } catch (IOException ioException) { ioException.printStackTrace(); } } protected void exportDB() throws IOException{ try { File sd = new File(myContext.getExternalFilesDir(null).toString() + "recipes.db"); File outputFile= new File("/data/data/com.raineydesign.reciteateamfuel/databases/recipes.db"); Log.e(TAG, String.valueOf(outputFile.exists())); InputStream data = new FileInputStream(outputFile) ; FileOutputStream outputStream = new FileOutputStream(sd); Log.e(TAG, "Databasehelper: Bong"); byte[] buffer = new byte[1024]; int length; while ((length = data.read(buffer)) > 0) { outputStream.write(buffer, 0, length); } //Close the streams data.close(); outputStream.close(); Toast.makeText(myContext.getApplicationContext(), "Backup Successful!", Toast.LENGTH_SHORT).show(); } catch (Exception e) { Toast.makeText(myContext.getApplicationContext(), "Backup Failed!", Toast.LENGTH_SHORT) .show(); } }

Sospecho que el problema radica en el uso de 'myContext.getExternalFilesDir(null)' como ruta para mi archivo de copia de seguridad. Sin embargo, exploré a través de los archivos microSD en mi escritorio y pude ubicar fácilmente el archivo de copia de seguridad exactamente donde debería estar en android/data/data/com.raineydesign.reciteateamfuel/databases/ por lo que me hace cuestionar mi suposición.

Si alguien me puede dar algún consejo, se lo agradecería mucho.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

getExternalFilesDir() no tiene nada que ver con una tarjeta micro sd extraíble.

Mejor eche un vistazo al segundo elemento devuelto por getExternalFilesDirs()

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda