SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Emulador vs armazenamento de cartão SD do dispositivo Samsung


Primeiro, as informações para produzir esta resposta foram fornecidas por @CommonsWareÉ postado aqui para que outros possam aprender, não para que eu possa pegar pontosO problema era como gerenciar o local de armazenamento em um Samsung TabletÉ mais importante que você entenda o teste se o O cartão SD está montado no emulador não vai funcionar Abaixo está o meu código muito estranho para testar se o cartão SD foi montado ou não. Em seguida, o código revisado que permite gerenciar o local de armazenamento
    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;
}