美文网首页
[木木方文安卓学习笔记十]封装自己的Http

[木木方文安卓学习笔记十]封装自己的Http

作者: 丿沧海一粟丿 | 来源:发表于2017-08-25 17:01 被阅读0次

安卓学习零零碎碎也有一段时间了,根据iOS的经验封装一下OkHttp,方便自己的使用习惯。
1、新建一个文件LFCallBack,定义两个函数,一个成功,一个失败。

public interface LFCallBack {
    public void successCallBack(String json);
    public void failueCallBack(String error);
}

2、新建一个LFNetWorking,实现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);
    }
});

//传参数有待优化

相关文章

网友评论

      本文标题:[木木方文安卓学习笔记十]封装自己的Http

      本文链接:https://www.haomeiwen.com/subject/oqxpdxtx.html