2012-03-13 21 views
-1

我已創建由此引發每隔1分鐘一個服務,並在服務器是檢查有沒有新的通知到達或不爲user.Notification可以是3種類型,其類型爲文本,視頻或圖像的...如何從遠程URL獲取視頻/圖像時顯示進度對話框?

我們顯示文本通知我的hve沒有問題,但在圖像/視頻通知到達我想顯示一個進度對話框,而它從遠程url.Once通知加載數據到達時,用戶點擊一個警告對話框,它重定向到適當的活動,可以是文本,圖像,視頻..所以在重定向它之前,我想顯示進度對話框的用戶.... 如何做到這一點。 PLZ幫我儘快回覆....

日Thnx提前..........

+1

使用異步任務。你會在這裏找到關於異步任務的教程:http://www.vogella.de/articles/AndroidPerformance/article.html 也做一些谷歌異步任務。 – asish 2012-03-13 14:26:04

回答

0

使用AsyncTask下載數據並顯示進度對話框窗口。

顯示進度對話框:

Dialog diag = ProgressDialog.show(this, "title", "message", true); 

駁回對話框:

diag.dismiss(); 
0

假設通知上的用戶點擊。你可以在代碼中做的第一件事就是檢查源代碼是否已經完成下載,如果不是使用AlertDialog.Builder或類似的東西來拋出一個帶有進度小部件的簡單對話框。文件下載完成後,可以在對話窗口中調用dismiss()並允許用戶正常進行。

0

您可以使用ProgressDialog wtih線程和Handlder類。

請看看我的答案here

0

檢查這個代碼:

public class DialogSample extends Activity { 

     private ProgressDialog progressDialog=null; 

     @Override 
     public void onCreate(Bundle savedInstanceState) 
     { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 

      AsynTaskLoder asynTaskLoder=new AsynTaskLoder(); 
      asynTaskLoder.execute(); 
     } 

    public class AsynTaskLoder extends AsyncTask<String,Integer,Boolean> 
    { 
     @Override 
     protected void onPreExecute() 
     { 
     progressDialog.setTitle("Please Wait"); 
      progressDialog.setMessage("Fetching Data..."); 
      progressDialog.show(); 
     } 

    @Override 
    protected Boolean doInBackground(String... params) 
    {  
     // write your code 
     //(like : image/audio/video downloading from net) 

     return true; 
    } 
    @Override 
    protected void onProgressUpdate(Integer... values) 
    { 
    } 

    @Override 
    protected void onPostExecute(Boolean result) 
    { 
     if(progressDialog.isShowing()) 
     { 
      progressDialog.dismiss(); 
     } 
    } 
    } 
}