2016-09-17 71 views
0

我正在使用HttpUrlConnection向使用webservices的我的mysql數據庫發出請求。使用HttpUrlConnection,我可以在後臺執行所有請求,這樣主線程不會超載並開始跳幀。Android - OkHTTP請求

隨着okHttp這是如何實現的?如何使用JSON發出請求並打印響應?它比httpUrlConnection更好嗎?

P.S我不知道任何關於okHttp的內容,如果你明確表達你的例子,我將不勝感激。

回答

2

隨着okHttp這是如何實現的?

通常情況下,你讓它處理後臺線程的你,使用enqueue()爲異步操作:

private final OkHttpClient client = new OkHttpClient(); 

    public void run() throws Exception { 
    Request request = new Request.Builder() 
     .url("http://publicobject.com/helloworld.txt") 
     .build(); 

    client.newCall(request).enqueue(new Callback() { 
     @Override public void onFailure(Call call, IOException e) { 
     // handle the error 
     } 

     @Override public void onResponse(Call call, Response response) throws IOException { 
      // use the result 
     } 
    }); 
    } 

(悅目從the OkHttp docs簡體)

或者,如果你已經有了一個後臺線程,您可以使用​​而不是enqueue()進行同步操作。

您可能希望查看the OkHttp recipes page的其他示例,再加上the OkHttp Web page,再加上the OkHttp wiki,以更好地瞭解它與您習慣的相比。

+0

考慮使用okhttp進行改造,使整個事情變得更加容易。 – nasch