安卓學習零零碎碎也有一段時間了,根據(jù)iOS的經(jīng)驗封裝一下OkHttp,方便自己的使用習慣。
1、新建一個文件LFCallBack,定義兩個函數(shù),一個成功,一個失敗。
public interface LFCallBack {
public void successCallBack(String json);
public void failueCallBack(String error);
}
2、新建一個LFNetWorking,實現(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)化