安卓學(xué)習(xí)零零碎碎也有一段時間了囚巴,根據(jù)iOS的經(jīng)驗(yàn)封裝一下OkHttp,方便自己的使用習(xí)慣。
1文兢、新建一個文件LFCallBack晤斩,定義兩個函數(shù),一個成功姆坚,一個失敗澳泵。
public interface LFCallBack {
public void successCallBack(String json);
public void failueCallBack(String error);
}
2、新建一個LFNetWorking,實(shí)現(xiàn)post方法兼呵。
public class LFNetWorking {
public void post(RequestBody paras, String url, final LFCallBack lfCallBack) {
OkHttpClient client = new OkHttpClient();
final Request request = new Request.Builder()
.url(url)
.post(paras)
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) throws IOException {
// TODO Auto-generated method stub
final String json = response.body().string();
lfCallBack.successCallBack(json);
}
@Override
public void onFailure(Call call, IOException e) {
// TODO Auto-generated method stub
lfCallBack.failueCallBack(e.getMessage());
}
});
}
}
3兔辅、使用
LFNetWorking lf = new LFNetWorking();
RequestBody paras = new FormBody.Builder()
.add("UserName", ac)
.add("Password", pwd)
.add("DeviceId", "123")
.build();
lf.post(paras, API.User_Login, new LFCallBack() {
@Override
public void successCallBack(String json) {
Log.i("007success:", json);
}
@Override
public void failueCallBack(String error) {
Log.i("007error:", error);
}
});
//傳參數(shù)有待優(yōu)化