OkHttp網(wǎng)絡(luò)請(qǐng)求簡(jiǎn)單實(shí)現(xiàn)

需要用到的jar包:okhttp3.2.0.jar
鏈接:https://pan.baidu.com/s/1KYIaGnmYdLctjPjQsA5pYQ 提取碼:6s5w

引入方式見上一篇文章:ZXing創(chuàng)建二維碼簡(jiǎn)單實(shí)現(xiàn)

像網(wǎng)絡(luò)請(qǐng)求這些耗時(shí)操作要放在子線程中,這里因?yàn)椴贿M(jìn)行太復(fù)雜的操作,所以我們直接new一個(gè)線程并啟動(dòng):

new Thread(
    new Runnable(){
               @Override
            public void run() {
//待會(huì)兒在這里實(shí)現(xiàn)OkHttp請(qǐng)求
            }
}
).start();

在剛才的run()方法中,新建一個(gè)OkhttpClient對(duì)象,新建Request對(duì)象進(jìn)行請(qǐng)求:

  OkHttpClient client=new OkHttpClient();
  Request request=new Request
                 .Builder()
                 .url("https://www.baidu.com")//要訪問的鏈接
                 .build();

然后新建Call對(duì)象,把剛才創(chuàng)建的client和request都調(diào)動(dòng)起來(lái):

Call call=client.newCall(request);

最后通過調(diào)用call的enqueue()方法監(jiān)聽返回結(jié)果:

  call.enqueue(new okhttp3.Callback() {
                            @Override
                            public void onFailure(Call call, IOException e) {

                            }

                            @Override
                            public void onResponse(Call call, okhttp3.Response response) throws IOException {
                               String res=response.body().string();
                                Log.i("response===========>",res);
                            }
                        });

如果在打印日志中看到這個(gè)東東,那就說明你做對(duì)了


image.png

補(bǔ)充:OkHttp默認(rèn)是GET請(qǐng)求方式,如果需要傳遞參數(shù)(POST請(qǐng)求)也很簡(jiǎn)單,加入如下代碼即可:

FormBody.Builder builder=new FormBody.Builder();
 builder.add("name","ZhangSan");//要傳遞的參數(shù),前面是鍵,后面是值

別忘了在Request后面添加post()方法:

  Request request=new Request
                 .Builder()
                 .url("https://www.baidu.com")//要訪問的鏈接
                 .post(builder.build())//這是新添的代碼
                 .build();
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容