在後台執行緒中使用Volley 進行同步請求
在具有現有後台執行緒的服務中,可能需要執行同步請求使用凌空。這樣可以避免不必要的執行緒創建,並確保回呼在同一執行緒內執行。
為了實現同步請求,Volley 提供了 RequestFuture 類別。以下是使用RequestFuture 的同步JSON HTTP GET 請求的範例:
RequestFuture<JSONObject> future = RequestFuture.newFuture(); JsonObjectRequest request = new JsonObjectRequest(URL, new JSONObject(), future, future); requestQueue.add(request); try { JSONObject response = future.get(); // this will block } catch (InterruptedException e) { // exception handling } catch (ExecutionException e) { // exception handling }
此程式碼建立一個RequestFuture 對象,初始化一個JsonObjectRequest,將其新增至請求佇列,然後阻塞future.get()撥打電話直至得到答覆。這允許回調執行在現有後台執行緒中同步發生。
以上是如何在後台執行緒中執行同步 Volley 請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!