你好,這是一個很簡單的問題,而是一個複雜的答案我懷疑:安卓:隊列後,直到有一個連接
這就是所謂的「礦井的情況」
讓我解釋一下:想象一個簡單的場景在那裏你不得不做一個應用程序,即使在沒有信號的礦井下也可以掛載到網頁上。
ie如何在沒有連接的情況下嘗試/排隊提交事件(HTTPPOST),然後定期輪詢隊列(測試連接是否存在),直到事件觸發。
PS:警告:請這是關於「如何」至於這個「不正當」,再沒有一個對話:同步或2級的用戶等等等等,重複記錄或重寫數據
僞代碼:
try{
MyHttpFileUploader myupload = new MyHttpFileUploader();
myupload.Start();
}
catch (InternetDownException ex){ //<-- how do I "throw" this in the start method gracefully?
GlobalQueue.Add(myupload); //<-- how do i set a timer properly that can action this queue (.Start() method) and post messages "when complete" to toast on the main ui thread but otherwise not block the ui whatsoever
}
愚蠢的問題一些代碼樣本被觸發,但你聽說過明顯的線程(? )。在產生一個線程來處理這個問題時有什麼問題(如果應用程序可能會在完成之前關閉,那麼你應該存儲狀態,並在應用程序根據存儲狀態啓動恢復)。另外 - 「我該如何」在優雅的啓動方法中拋出「這個意思是什麼意思?」......你已經抓住了它......所以要麼處理異常(通過啓動線程),要麼重新拋出它以後被捕獲) –
http post已經是一個異步事件。這不是UI拆分。這是很好的帖子投票在論壇的例子中很少失蹤。如果沒有互聯網連接,線程化或不線程化會失敗,這需要不會失敗,但在「x」時間量後重試並重復沖洗直至成功。工作流程正是電子郵件用於發件箱的工作流程。文本用於發送。沖洗重複,直到服務器正常。我不介意在應用程序在UI線程中處於活動狀態時是否僅清洗/重複,或者它是否在後臺進行永久輪詢,無論用戶是否交互。 – conners
在這方面,一旦他們發起帖子,它與保存的實例狀態或用戶應用程序交互沒有任何關係。 – conners