sql >> Base de Datos >  >> RDS >> SQLite

Emulador vs dispositivo Samsung Almacenamiento en tarjeta SD

Primero, @CommonsWare proporcionó la información para producir esta respuesta. Se publica aquí para que otros puedan aprender, no para que yo pueda obtener puntos. El problema era cómo administrar la ubicación de almacenamiento en una tableta Samsung. La tarjeta SD está montada en el emulador no va a funcionar A continuación se muestra mi código muy extraño para probar si la tarjeta SD estaba montada o no. Luego, el código revisado que le permite administrar la ubicación de almacenamiento

    File fi = new File("storage/");
    File[] lst = fi.listFiles();//
    String top = String.valueOf(lst[1]);
    String bot = String.valueOf(lst[0]);

    if(bot.contains("-")){
        STORAGE_LOCATION = 1;
    }
    if(top.contains("storage/enc_emulated")){
        STORAGE_LOCATION = 0;
    }
    public String getThePath(){

    File removable = ContextCompat.getExternalFilesDirs(this,null) 
   [STORAGE_LOCATION];

    if(STORAGE_LOCATION == 1){
        THE_PATH = String.valueOf(removable);
        THE_PATH = THE_PATH + "/Documents/";
    }
    if(STORAGE_LOCATION == 0){
        THE_PATH = String.valueOf(removable);
        THE_PATH = THE_PATH + "/INTERNAL/";
        Toast.makeText(getApplicationContext(),"NO SD CARD", 
    Toast.LENGTH_LONG).show();
    }
        return THE_PATH;
}