Autore Topic: StatFs strano comportamento..  (Letto 535 volte)

Offline frecciak

  • Utente normale
  • ***
  • Post: 231
  • Respect: +16
    • Mostra profilo
  • Dispositivo Android:
    galaxy s
  • Sistema operativo:
    windows 7
StatFs strano comportamento..
« il: 14 Gennaio 2012, 04:24:48 CET »
0
sto provando a usare StatFs per mostrare a video la memoria disponibile del telefono..
pero' nonostante il codice mi sembra corretto (controllato con alcune guide in rete), ha un comportamento strano..
questo è il codice:
Codice (Java): [Seleziona]
//memoria  interna
StatFs statFs = new StatFs(Environment.getRootDirectory().getAbsolutePath());    
statFs.restat(Environment.getRootDirectory().getAbsolutePath());
int Totalint = (statFs.getBlockCount() * statFs.getBlockSize()) / 1048576;
int Liberaint  = (statFs.getAvailableBlocks() * statFs.getBlockSize()) / 1048576;
int Usataint  = Totalint - Liberaint;
//fine memoria esterna
//memoria esterna
StatFs statFss = new StatFs(Environment.getExternalStorageDirectory().getAbsolutePath());    
statFss.restat(Environment.getExternalStorageDirectory().getAbsolutePath());
int Totalest = (statFss.getBlockCount() * statFss.getBlockSize()) / 1048576;
int Liberaest  = (statFss.getAvailableBlocks() * statFss.getBlockSize()) / 1048576;
int Usataest  = Totalest - Liberaest;
//fine memoria esterna

        String[] cols = new String[]{
                        "mem esterna totale : "+Totalest+" Mb",
                        "mem esterna libera : "+Liberaest+" Mb",
                        "mem esterna occupata : "+Usataest+" Mb",
                        "mem interna totale : "+Totalint+" Mb",
                        "mem interna libera : "+Liberaint+" Mb",
                        "mem interna usata : "+Usataint+" Mb"
                        };
    ListView list1 = (ListView)this.findViewById(R.id.list);
    ListAdapter adapter = new ArrayAdapter<String>(this,
    android.R.layout.simple_list_item_1, cols);
    list1.setAdapter(adapter);
}
il telefono in cui lo sto provando, ha 8Gb di memoria interna e 2Gb di sd esterna...come vedete da questa immagine presa da un'altra app :

invece con il codice che sto usando io, mi ritrovo con i dati strani che metto qua sotto..la cosa strana è che oltre a avere le dimensioni tutte sballate, mi da le stesse dimensioni anche con la sd esterna rimossa...

avete idea di come far uscire i dati esatti?
come vedete nella prima immagine, le sezioni di memoria sono 4, ma tramite il mio codice ne riesco a prendere solo 2...le altre 2 non son riuscito a capire come prenderle..avete qualche idea o qualche snippet?
« Ultima modifica: 14 Gennaio 2012, 04:33:50 CET da frecciak »
Se le risposte ti hanno aiutato, metti un ..a te non costa nulla, ma a chi ti ha aiutato fa molto piacere riceverlo!!