2012-08-09 67 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?