SQLite
 sql >> Base de données >  >> RDS >> SQLite

Émulateur vs stockage sur carte SD de l'appareil Samsung

Tout d'abord, les informations pour produire cette réponse ont été fournies par @CommonsWareElles sont publiées ici afin que les autres puissent apprendre non afin que je puisse saisir des pointsLe problème était de savoir comment gérer l'emplacement de stockage sur une tablette SamsungIl est très important que vous compreniez le test si le La carte SD est montée sur l'émulateur ne fonctionnera pas Vous trouverez ci-dessous mon code très étrange pour tester si la carte SD a été montée ou non. Ensuite, le code révisé qui vous permet de gérer l'emplacement de stockage

    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;
}