標籤:
首先介紹okhttp的簡單使用:
- 一般的get請求
- 一般的post請求
- 基於Http的檔案上傳
- 檔案下載
- 載入圖片
- 支援要求回調,直接返回對象、對象集合
- 支援session的保持
於Android Studio可以選擇添加依賴
compile ‘com.squareup.okhttp:okhttp:2.4.0‘
compile ‘com.squareup.okio:okio:1.5.0‘
(一)Http Get
//建立okHttpClient對象OkHttpClient mOkHttpClient = new OkHttpClient();//建立一個Requestfinal Request request = new Request.Builder() .url("https://github.com/hongyangAndroid") .build();//new callCall call = mOkHttpClient.newCall(request); //請求加入調度call.enqueue(new Callback() { @Override public void onFailure(Request request, IOException e) { } @Override public void onResponse(final Response response) throws IOException { //String htmlStr = response.body().string(); } });
response.body().string() 獲得字串
response.body().bytes() 獲得二進位位元組數組
response.body().byteStream() 獲得輸入資料流
(二) Http Post 攜帶參數
Request request = buildMultipartFormRequest( url, new File[]{file}, new String[]{fileKey}, null);FormEncodingBuilder builder = new FormEncodingBuilder(); builder.add("username","張鴻洋");Request request = new Request.Builder() .url(url) .post(builder.build()) .build(); mOkHttpClient.newCall(request).enqueue(new Callback(){});
Android OkHttp 講解