0
嗨,我有一個凌空請求,我想停止繼續運行的應用程序用於從服務器獲取完整的JSON,我想使用本教程Volley - http request in blocking way如何使回調凌空JsonArrayRequest android系統中
,但我不明白的地方我必須把未來,未來
我在哪裏必須把volleyRequestQueue.add(request);
在這裏我必須把
try {
JSONObject response = null;
while (response == null) {
try {
response = future.get(30, TimeUnit.SECONDS); // Block thread, waiting for response, timeout after 30 seconds
} catch (InterruptedException e) {
// Received interrupt signal, but still don't have response
// Restore thread's interrupted status to use higher up on the call stack
Thread.currentThread().interrupt();
// Continue waiting for response (unless you specifically intend to use the interrupt to cancel your request)
}
}
// Do something with response, i.e.
new SignUpResponseListener().onResponse(response);
} catch (ExecutionException e) {
// Do something with error, i.e.
new MyErrorListener().onErrorResponse(new VolleyError(e));
} catch (TimeoutException e) {
// Do something with timeout, i.e.
new MyErrorListener().onErrorResponse(new VolleyError(e));
}
和我的截擊要求是:
JsonArrayRequest movieReq = new JsonArrayRequest(url,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
for (int i = 0; i < response.length(); i++) {
try {
JSONObject obj = response.getJSONObject(i);
int lage = (obj.getInt("flage"));
Toast.makeText(send_new_content.this, "flage "+lage, Toast.LENGTH_SHORT).show();
} catch (JSONException e) {
e.printStackTrace();
}}}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}});
AppController.getInstance().addToRequestQueue(movieReq);
你不需要一個未來,你不應該阻止用戶界面...並且你已經有請求隊列,那麼究竟是什麼問題呢? –
我想停止線程以獲取來自服務器 – nazanin
的完整地址URL圖像但是爲什麼?顯示一個對話框或進度條是正確的Android UI設計 –