2013-05-22 35 views
0

背景機器人連接異常/丟失經理

於是我繼承,在不同的地方連接到網絡服務來發送或接收信息的android應用。

現在,當連接失敗時,android設備的用戶會收到一條錯誤消息,提示大多數用戶被視爲模糊。

問題

所以,我正在尋找的是關於如何實現在捕獲所有的java連接異常,並顯示一個對話框,告訴用戶他失去了這個Android應用的解決方案的模式或建議互聯網連接,需要再試一次。

任何想法? :-)

編輯,目前的想法

我現在的想法來解決這個問題,或使其多一點,而不是管理具有一個破碎的異常處理,在每一個可能的連接需要照顧的問題是這個。每個通信實例/類將從一個超類繼承,或者實現一個強制使用這個類的接口。這個類包含連接異常的邏輯。讓我們現在稱之爲ConnectionExceptionManager。 然後,問題只會在每個Web服務調用的每個通信類中實現。在每個Web服務調用異常中,我需要檢查通信異常,如果它命中,請使用此catch中的ConnectionExceptionManager。

但是,這仍然會使它成爲一個麻煩,複製到每個通信類中的請求方法。

有關改進我目前的想法的任何想法?

+0

處理每個與連接相關的異常,並在該處理程序代碼中創建對話框以獲得適當的異常,例如,如果設備失去了互聯網連接,然後給用戶相應的錯誤信息,你也可以檢查設備是否有互聯網連接或繼續之前.. – Ajit

+0

這可能是我將不得不做的,但我不想這樣做辦法。我希望它能夠管理,不會斷裂。 – Johan

回答

0

我從您的問題中瞭解到,您需要在執行任何與互聯網相關的操作前檢查互聯網連接。爲此,您可以簡單地在全局類中創建公共靜態布爾函數,即public static boolean isInternetConnected(){...},以便您可以重用您的函數。

如果你希望你的應用程序來檢查網絡連接自動那麼你可以使用IntentService將在後臺,並在其受保護的抽象無效onHandleIntent(意向意圖),您可以檢查isInternetConnected(工作)返回true,如果沒有,那麼你可以打開AlertDialog。

要在應用程序運行時重複間隔後使用此後臺服務,可以使用AlarmManager

希望這會有所幫助。

+0

問題不在於檢查互聯網連接,而在於管理可能因丟失而導致的異常。就像用戶開始下載大量數據一樣,它可能需要一些時間,並且如果在此下載或其他下載或文章期間連接失敗,用戶應該得到一個很好的錯誤消息。也許現在看起來我很懶,那是因爲我。我不想嘗試找到每個連接都有更長的下載並實現相同的代碼。我想管理失敗的連接,感覺這將是適合OOP處理我的問題的方式。 – Johan