2012-12-20 22 views
2

在我的項目中,我創建了一些網絡調用到單獨的線程中的servlet,在線程啓動之前,我將一個微調器顯示爲等待進度。在網絡線程完成之前,waitprogress顯示在屏幕上,當我收到來自服務器的響應時,我必須顯式調用進度條的dispose()方法來處理該進度條。所以,每當我建立GPRS連接的呼叫而網絡強度下降時,這有點複雜,我發現有時需要大約2-3分鐘來拋出一個IO異常或接收來自服務器的響應,我處理waitprogress,顯示錯誤消息並繼續。我不添加任何取消命令waitprogress作爲網絡調用使用單獨的線程,所以處置waitprogress將允許用戶進行另一個調用,需要用戶需要等待,直到他得到響應。如何處理網絡線程調用並在J2me中等待進度?

上面的場景很複雜,因爲用戶不會等這麼久才能得到迴應。每當我調用網絡線程並顯示進度條時,都必須有某種方式,用戶應該能夠取消包括網絡線程在內的所有操作,如果沒有連接或連接不暢,則返回到以前的狀態並撥打另一個電話。

在這裏,我正在使用Lwuit。之後或在此之前

public void killAll() { 
      for (int i = 0; i < pending.size(); i++) { 
       ((ConnectionRequest) pending.elementAt(i)).kill(); 
      } 
      pending.removeAllElements(); 
      for (int i = 0; i < networkThreads.length; i++) { 
       networkThreads[i].currentRequest.kill(); 
      } 
     } 

+1

你能發表一些代碼嗎? – Raptor

回答

2

NetworkManager中的類,你可以添加此功能,並在從你的類actived

只有LWUIT是在你的應用程序中打開的代碼,你可以添加此功能你需要調用dispose()方法。

+0

感謝您的代碼。這很有幫助。 – shriniket

相關問題