0
我遇到了一個我正在構建的片段的問題。基本上,現在我想要做的就是檢查在片段內部何處以及如何進行http請求調用。Android調試器跳轉片段方法
到目前爲止,當我運行的代碼沒有調試器一切正常,日誌功能。但是,當我試圖一步一步地完成任何事情時,我什麼也得不到。然後調試器從運行在call.enqueu
方法中的代碼部分跳轉到方法聲明的末尾。我使用的代碼如下,請注意,這個過程在從一個活動運行而不是從一個片段中運行,這使得我相信這個問題出現在我的片段實現中。
爲異步requestÑ的方法:
public void testAsyncCreate() {
OkHttpClient client = new OkHttpClient();
RequestBody body = RequestBody.create(CREATE_MEDIA_TYPE, "data={\"process\":\"12222\", \"phone\":\"1111111\"}");
Request request = new Request.Builder()
.url(ALLWAYS_API)
.post(body)
.build();
Call call = client.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
// any additional runnable items go in here
try {
String jsonData = response.body().string(); // the exception is caught at this point
Log.d("<Mensajes>",jsonData);
extractCreate = parseExtractCreateDetails(jsonData);
if(response.isSuccessful()) {
extractCreate = parseExtractCreateDetails(jsonData);
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
Log.d("<=====>", "check");
Log.d(TAG, "Is this even working?");
}
});
}
//getStops(jsonData);
}catch(IOException e) {
}catch (JSONException e){
}
}
});
} // end of asyncCreate
什麼我無法理解日誌是如何工作的,但我從沒有調試信息。 Fragments
內部有處理這類事情的具體方法嗎?是否在其他地方處理它們,例如調用Fragment
的活動?如果是的話,這將如何傳遞給Fragment
活動?
你會說時間這種情況下通常還有其他的慣例嗎?如果不推薦在ui線程中處理請求,我寧願改變它。 –
排隊方法本身在後臺線程上運行。這就是爲什麼後面的中斷點會被調用。響應或失敗內的斷點將在接收到響應時調用。 –