我想執行一個保存與服務器連接的函數。 當出現一些新消息時,我應該收到一個方法。我們的iOS版本使用同步的請求來控制此方法,但在Android中怎麼做?如何在Android中創建一個同步的HttpRequest?
回答
嘗試HTTPRequestExecutor,其方法可以execute:
同步發送的請求,並獲取響應。
看看這個鏈接,如何實現它的一個例子:http://www.androidadb.com/class/ht/HttpRequestExecutor.html
謝謝。我嘗試過使用HTTPRequestExecutor.But的這種方法,但當我在服務器上更改流時,Android的應用程序無法接收更改 – Marshall
簡短的回答是:「你不能」,因爲顯示線程不會讓你做出HTTP請求。更長的答案是,只要您不介意線程中調用的「同步」部分,就可以使用apache commons,並在GETTING/POSTING數據時創建一個阻塞的服務器調用。但是,您仍然需要給線程一個Runnable回調函數,它將在完成請求時調用它。
謝謝。過去,我使用AsyTask或處理程序來實現函數。但現在我想做一個長輪詢,所以我想使用同步方法。當然,它應該用其他方法編寫,但我仍然不知道如何去做。我很難找到正確答案在appache commons或java.util.net中。 – Marshall
AsyncTask只是一個線程的封裝(它具有一些很好的功能,可以知道什麼時候完成了你想做的事情)。問題是3.0之後的Android不允許你在主(顯示)線程上進行網絡調用。所以,你別無選擇,只能派生一些備用線程來進行網絡調用。但是,如果你的志向是長期民意調查,那麼封鎖就不是答案。我會敦促你使用套接字。連續來回數據交換到服務器更有效。 –
- 1. 如何在Android中創建多個同步適配器
- 2. Android - 如何在一個Activity中創建兩個異步調用?
- 3. 何時創建HttpRequest?
- 4. 如何在js中創建同步力?
- 5. 如何與httprequest同步執行Javascript
- 6. 如何在同一個ListView中創建兩個不同的LinearLayout?
- 7. UnsatisfiedLinkError:如何創建一個不同步的deflater?
- 8. 如何在android中創建QR碼閱讀器? (請一步一步探索)
- 9. 如何在node.js中創建非IO操作同步與異步?
- 10. 如何在iOS中一步一步創建滑出菜單
- 11. 如何創建NSURLConnection的同步版本
- 12. 如何創建同步功能的Flex
- 13. 如何使用$ http創建一個同步http請求循環?
- 14. 如何在Azure脫機同步中同步多個表在異步Android
- 15. 如何創建沒有return語句一個Android異步任務
- 16. 如何在不同的跑步者上創建2個階段?
- 17. 如何在Android Studio的同一窗口中創建項目?
- 18. 如何在一個活動中創建兩個不同的android消耗清單?
- 19. 如何在同一個窗口中創建一個彈出框?
- 20. 在android中創建一個函數異步/線程
- 21. 我如何在Android Studio中同步一個文件與git
- 22. 如何在同一個表中創建一列的副本mysql
- 23. 如何在Android中取消HttpRequest
- 24. 一步一步在Android工作室如何創建生產版本
- 25. 如何在一個版本中創建兩個不同的RPM?
- 26. 如何在android中創建一個唯一的變量名?
- 27. 如何在Javascript中創建一個異步函數?
- 28. 如何在node.js中創建一個非阻塞異步函數?
- 29. 如何在rxjs @ 5中創建一個異步管道?
- 30. 如何在Laravel中同步同一個屬性的多個值?
我編輯了這個問題,使其更清晰。如果您覺得它失去了意義,請回復我的更改。 – verybadalloc