Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

217
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!