2012-08-09 164 views
0

我想維護SeekBar以及文件的解壓縮(解壓縮)。使用文件進度維護SeekBar

SeekBar需要從文件的解壓縮開始,並在壓縮完成.zip文件的過程時重新開始。

已爲此搜索,但找不到我在找什麼。

感謝, DavidBrown

回答

0

你可以做這樣的事情。 使用AsyncTask作爲後臺進程。解壓的進度可以設置爲seekBar如下。希望這可以幫助。

class SampleTask extends AsyncTask<Void, Integer, String> 
{ 
    private Context context = null; 

    public SampleTask(Context context) 
    { 
     this.context = context;   
    } 

    @Override 
    protected void onPreExecute() 
    { 
     super.onPreExecute(); 
    } 

    @Override 
    protected String doInBackground(Void... params) 
    { 
     try 
     { 
      //do file decompression here 
       publishProgress(progress); 
     } 
     catch(Exception exception) 
     { 
      exception.printStackTrace(); 
     } 
     return null; 
    } 

    @Override 
    protected void onProgressUpdate(Integer... values) 
    { 
     super.onProgressUpdate(values); 
     System.out.println(" --- onProgressUpdate --- "+values[0]); 
     seekBar.setProgress(values[0]); 
    } 

    @Override 
    protected void onCancelled() 
    { 
     super.onCancelled(); 
     isTrue = false; 
     sampleTask = null; 
     System.out.println(" --- onCancelled --- "+isTrue); 
    } 

    @Override 
    protected void onPostExecute(String result) 
    { 
     super.onPostExecute(result); 
    }  
} 

編輯:看一看下面的鏈接。

Unzip a zipped file on sd card in Android application

How to unzip files programmatically in Android?