todos qué que pueden pasa mis memoria los fotos fabrica eliminar desinstalar datos como celular caché cache borro borran aplicaciones android sqlite android-sqlite android-file android-database

qué - La base de datos no se eliminará cuando desinstale la aplicación de Android



¿qué es datos caché en un celular? (5)

  1. Echa un vistazo a esta respuesta SO:

¿Qué sucede con una base de datos Sqlite cuando se elimina la aplicación?

  1. ¿Funciona su base de datos (aparte de no eliminar al eliminar la aplicación)?

  2. Si no funciona correctamente, es posible que desee echar un vistazo a:

http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html

Aunque esto no está necesariamente relacionado con su problema, es posible que desee considerar la creación de un open() y close() para su base de datos y usar un objeto SQLiteOpenHelper en cada uno de ellos (en open() , usaría sqliteopenhelperObj.getWriteableDatabase() y en close() usaría sqliteopenhelperObj.close() .

http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html#close

Editar:

  1. Si ha descargado archivos a su dispositivo durante el proceso de prueba de una aplicación y desea eliminarlos, puede usar el Monitor de dispositivo en Android Studio https://developer.android.com/tools/help/monitor.html Hay un administrador de archivos que le permitirá ver y editar archivos en sus dispositivos. También puede hacer esto en la línea de comandos con el ADB (Android Debug Bridge) https://developer.android.com/tools/help/adb.html

Tengo dos preguntas principales.

  1. La base de datos no se eliminará cuando desinstale la aplicación.
  2. Los archivos descargados no se eliminarán mientras la aplicación sea inestable.

Hay una base de datos en mi aplicación de Android. Lo creo por java

class as follows. public DataBaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } public DataBaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandler errorHandler) { super(context, name, factory, version, errorHandler); } @Override public void onCreate(SQLiteDatabase db) { // creating required tables db.execSQL(CREATE_TABLE_QUOTES); db.execSQL(CREATE_TABLE_FILTERS); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // on upgrade drop older tables db.execSQL("DROP TABLE IF EXISTS " + TABLE_QUOTES); db.execSQL("DROP TABLE IF EXISTS " + TABLE_QUOTES); // create new tables onCreate(db); }

No hay una ruta específica definida en el código para la base de datos.

Este es el código de cómo descargo archivos. Y hay una ruta específica, pero no está permitido crear una carpeta en Android> datos> com.myapp también.

public String downloadImage(String img_url, int i) { File sdCard = Environment.getExternalStorageDirectory(); File dir = new File (sdCard.getAbsolutePath() + "/fog/images/filters"); // Make sure the Pictures directory exists. dir.mkdirs(); File destinationFile = new File(dir, "filter"+i); String filepath = null; try{ URL url = new URL("http://fog.wrapper.io/uploads/category/"+img_url+".png"); HttpURLConnection conection = (HttpURLConnection)url.openConnection(); conection.setRequestMethod("GET"); conection.setRequestProperty("Content-length", "0"); conection.setUseCaches(false); conection.setAllowUserInteraction(false); conection.connect(); int status = conection.getResponseCode(); switch (status) { case 200: case 201: FileOutputStream fileOutput = new FileOutputStream(destinationFile); InputStream inputStream = conection.getInputStream(); int totalSize = conection.getContentLength(); int downloadedSize = 0; byte[] buffer = new byte[1024]; int bufferLength = 0; while ( (bufferLength = inputStream.read(buffer)) > 0 ) { fileOutput.write(buffer, 0, bufferLength); downloadedSize += bufferLength; Log.i("Progress:","downloadedSize:"+downloadedSize+"totalSize:"+ totalSize) ; } fileOutput.close(); if(downloadedSize==totalSize) filepath = destinationFile.getPath(); Log.i("filepath:"," "+filepath) ; return filepath; } } catch (IOException e) { Log.d("ImageManager", "Error: " + e); } return null; } } // Get filters

Por favor, ayúdame. Perdón por el mal inglés.


En Android 6.0, Google agregó una nueva característica llamada Copia de seguridad automática.

cuando esta opción está activada (la opción predeterminada está activada), el sistema Android copia casi todos los directorios y archivos creados por el sistema, y ​​los carga en la cuenta de Google Drive del usuario.

Cuando el usuario vuelve a instalar la aplicación, android automáticamente restaura los datos de la aplicación, sin importar cómo se instaló (a través de Play store, adb install, configuración inicial del dispositivo).

La operación de restauración se produce después de que se instale el APK, pero antes de que la aplicación esté disponible para que la inicie el usuario.

Página de desarrolladores de Android: https://developer.android.com/guide/topics/data/autobackup.html


La copia de seguridad automática se puede desactivar configurando android:allowBackup="false" en AndroidManifest.xml


Recorrí esta pregunta cuando buscaba una solución para un problema similar relacionado con GreenDao: respuesta un poco más profunda aquí, pero básicamente si está en la api 23, deberá configurar allowBackup en false para poder depender de las bases de datos. se borra al desinstalar

https://.com/a/43046256/5298819


Si esta es una cuenta personal y necesita eliminar la copia de seguridad para la prueba, puede ir a drive.google.com para su cuenta y navegar a la sección de copias de seguridad.

Seleccione una copia de seguridad y tendrá la opción de eliminar las copias de seguridad para un dispositivo específico: