title: Progress Bar with unzipping of file
body: <p>I am trying to update a 
  <code>progress bar</code> with unzipping of file in the sd card. My unzipping works fine but the <code>progress bar</code> does not appear. Here is my code in mainactivity:</p>
  
  <pre><code>private ProgressBar bar;
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
  
      bar = (ProgressBar) findViewById(R.id.progress);
  
      String zipFilename = Environment.getExternalStorageDirectory() + "path to my zip file in sd card";  
      String unzipLocation = Environment.getExternalStorageDirectory() + "the output folder";  
  
  
  
  
      Decompress d = new Decompress(zipFilename, unzipLocation);  
      d.unzip(); 
  }
  
  public class Decompress {   
      private String _zipFile;   
      private String _location;
      private int per = 0;
  
  
  
      public Decompress(String zipFile, String location) {
          _zipFile = zipFile;     
          _location = location;      
          _dirChecker("");   
          }    
      public void unzip() {     
          try  {       
              ZipFile zip = new ZipFile(_zipFile);
              bar.setMax(zip.size());
              FileInputStream fin = new FileInputStream(_zipFile);       
              ZipInputStream zin = new ZipInputStream(fin);
              ZipEntry ze = null;       
              while ((ze = zin.getNextEntry()) != null) {
  
                  Log.v("Decompress", "Unzipping " + ze.getName());          
                  if(ze.isDirectory()) {           
                      _dirChecker(ze.getName());         
                      } else {      
  // Here I am doing the update of my progress bar
  
                          per++;
                          bar.setProgress(per);
                          FileOutputStream fout = new FileOutputStream(_location + ze.getName());           
                          for (int c = zin.read(); c != -1; c = zin.read()) {  
  
                              fout.write(c);           
                              }            
                          zin.closeEntry();          
                          fout.close();         
                          }                
                  }       
              zin.close();    
              } catch(Exception e) {       
                  Log.e("Decompress", "unzip", e);    
                  }    
          }    
      private void _dirChecker(String dir) {     
          File f = new File(_location + dir);      
          if(!f.isDirectory()) {       
              f.mkdirs();     
              }   
          }
  
      }
  }
  </code></pre>