這算是本系列介紹的第一個套件:就是大名鼎鼎的OkHttp
為什麼說超越AFNetworking呢?(現在還有人知道AFNetworking嗎?)
因為星星比較多啦XD
截稿時間OK以三萬四小勝AF的三萬二
兩大手機平台最多人用的套件都是網路相關
可見跟網路相關的問題多讓開發者苦惱(或者說因為網路功能幾乎是每個APP必備的)
這時離題一下,緊急置入iOS界人稱"喵神"的王巍大大,日前來台北分享關於網路的議程
網路難,難於上青天 - 用部件化的方式簡化網路程式設計
<uses-permission android:name="android.permission.INTERNET" />
OkHttpClient client = new OkHttpClient();
String run(String url) throws IOException {
Request request = new Request.Builder()
.url(url)
.build();
try (Response response = client.newCall(request).execute()) {
return response.body().string();
}
}
不然會閃退(應該是我語法不會用,哪裡搞錯了)
不要在callback裡直接動UI
不然會閃退(請用runOnUiThread包起來)
由三大部分OkHttpClient
, Request
, Call
組成一次網路請求
FormBody body = new FormBody.Builder()
.add("email", String.valueOf(editTextEmail.getText()))
.add("password", String.valueOf(editTextPassword.getText()))
.build();
Request request = new Request.Builder()
.url(url)
.post(body)
.build();
Call call = client.newCall(request);
call.enqueue(new Callback()
{
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException
{
//成功了?
}
@Override
public void onFailure(@NotNull Call call, @NotNull IOException e)
{
//失敗了?
}
});
可以去 https://github.com/mark33699/IDLA 看一下順便給顆⭐️
如果你喜歡我的影片別忘了按讚分享加訂閱,開啟紅色的小鈴鐺,我們明天見~