免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Android自學(xué)歷程

安裝

在使用OkHttp前,我們需要先導(dǎo)入OkHttp的第三方庫(kù)。

我們可以在Github上找到她的項(xiàng)目地址: https://github.com/square/okhttp

我們可以在Android Studio中使用Gradle, 最后效果如下:

      

       

測(cè)試使用我們的OKHttp第三方庫(kù)

1.第一步我們需要去創(chuàng)建一個(gè) OKHttpClient 對(duì)象

OkHttpClient okHttpClient = new OkHttpClient();

 

2.下一步我們還需要一個(gè) Request 對(duì)象,她可以已如下方式被創(chuàng)建

Request request = new Request.Builder()                                    .url(requestUrl)                                    .build(); 

requestUrl是一個(gè)字符串變量代表這個(gè)URL是為了JSON請(qǐng)求(The requestUrl is a String variable representing the Url for the JSON request.) 

在這個(gè)測(cè)試中,我們將會(huì)使用如下的URl:http://iheartquotes.com/api/v1/random?format=json

 

3.再下一步我們需要實(shí)例化一個(gè) Call 對(duì)象

Call call  = okHttpClient.newCall(request);

 

Call對(duì)象會(huì)取走我們的 okHttpClient對(duì)象 和 我們的 request對(duì)象。

 

4.在實(shí)例化Call對(duì)象后,我們現(xiàn)在可以 Execute(執(zhí)行)她。Executing一個(gè)Call后將會(huì)返回一個(gè) Response,并且會(huì)拋出一個(gè) IOException的異常,這就是為什么們會(huì)用一個(gè)try,catch塊包裹她。

try{        Response response = call.execute();}catch (IOException e){        e.printStackTrace();}

 

 

5.執(zhí)行完我們的Call后,我們需要通過使用 response.isSuccessful()來檢查Call對(duì)象是否執(zhí)行成功,

通過response.isSuccessful()的返回值為true或者是false來判斷。

這我們僅僅是一個(gè)測(cè)試,如果Call成功的話,我們將會(huì)通過Log來打印我們的response。

try{        Response response = call.execute();        if(response.isSuccessful()){                //The call was successful.print it to the log                Log.v("OKHttp",response.body().string());        }    }catch(IOException e){        e.printStackTrace();}

 

 

6.測(cè)試Code!

這是新手一個(gè)常見的錯(cuò)誤。在Android中不允許任何網(wǎng)絡(luò)的交互在主線程中進(jìn)行。It disallows it to force developers to use asynchronous callbacks.(能力有限這句話不敢強(qiáng)譯)。但是現(xiàn)在,我們的代碼看起來看起來十分的號(hào)好!下面我們來看看如何修復(fù)這個(gè)問題。

 

7.Fix issue

為了修補(bǔ)這個(gè)問題,我們只需要讓我們的Call執(zhí)行在非主線程內(nèi),所以利用一個(gè) asynchronous callback(異步的callBack)。

讓我們call異步的方法是通過調(diào)用我們Call對(duì)象的 enqueue()方法。

call.enqueue(new Callback()) {                @Override        public void onFailure( Request request, IOException e ) {                }                @Override        public void OnResponse( Response response) throws IOException {                try {                        if(response.isSuccessful()){                            //The call was successful. print it to the log                            log.v("OKHttp",response.body.string());                         }                }catch (IOException e) {                    e.printStackTrace();                }        }});

 

 

8.在我們?cè)俅螆?zhí)行我們的code之前,我們還需要再改一改。如果我們想要現(xiàn)在執(zhí)行她,我們可能還會(huì)接收到錯(cuò)誤的提示,因?yàn)槲覀儜?yīng)用的程序沒有得到相應(yīng)的相應(yīng)的網(wǎng)絡(luò)權(quán)限。所以我們需要再AndroidManifest.xml中添加應(yīng)用權(quán)限。

<uses-permission android:name="android.permission.INTERNET"/>

 

 

9.當(dāng)我們執(zhí)行完code后,我們將接受到如下的log輸出:

 

10.This means, we are now able to execute asynchronous network calls and use the data inside the callback method, when it is ready!

 

 

寫完后,瞬間爽朗起來。雖然還有問題。

譯文來自:https://gsaar.me/tutorial/android-tutorial-part-5-using-okhttp/

 

 

http://www.skholingua.com/android-basic

 

https://github.com/square/okhttp/wiki/Recipes

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Android網(wǎng)絡(luò)編程(六)OkHttp3用法全解析
Android之OkHttp詳解(非原創(chuàng))
OKHttp的簡(jiǎn)單使用
使用OKHttp實(shí)現(xiàn)源碼查看器
java.lang.IllegalStateException: closed
譯文
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服