SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Emulator vs. SD-Kartenspeicher für Samsung-Geräte

Zuerst wurden die Informationen zum Erstellen dieser Antwort von @CommonsWare bereitgestellt. Sie wird hier veröffentlicht, damit andere lernen können, nicht damit ich Punkte sammeln kann. Das Problem war, wie der Speicherort auf einem Samsung-Tablet verwaltet wird Die SD-Karte ist auf dem Emulator installiert, funktioniert nicht Unten ist mein sehr seltsamer Code, um zu testen, ob die SD-Karte gemountet wurde oder nicht. Dann der überarbeitete Code, mit dem Sie den Speicherort verwalten können

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