Retrofit框架笔记01

1、Retrofit是什么?

Retrofit是目前最火的网络请求库,Retrofit与okhttp共同出自于Square公司,retrofit就是对okhttp做了一层封装,把网络请求都交给给了Okhttp。

2、本示例演示下载百度的html数据,展示到webview控件上,结果截图如下:

结果

2.1 引入Retrofit
compile 'com.squareup.retrofit2:retrofit:2.2.0'
2.2 定义一个接口,返回Call
/**
 * 定义一个接口
 */
public interface IBaiduService
{
    //采用get请求,返回数据为String类型
    @GET("/")
    Call<String> getBaiduHtml();
}
2.3 创建Retrofit对象,指定url地址,获取返回结果
//创建Retrofit对象,指定url地址
        Retrofit retrofit = new Retrofit.Builder().baseUrl("http:www.baidu.com").addConverterFactory(new Converter.Factory()
        {
            //将服务器返回的数据转为String类型
            @Override
            public Converter<ResponseBody, ?> responseBodyConverter(Type type, Annotation[] annotations, Retrofit retrofit)
            {
                return new Converter<ResponseBody, String>()
                {
                    @Override
                    public String convert(ResponseBody value) throws IOException
                    {
                        return value.string();
                    }
                };
            }


        }).build();


        IBaiduService baiduService = retrofit.create(IBaiduService.class);

        Call<String> call = baiduService.getBaiduHtml();

        call.enqueue(new Callback<String>()
        {
            @Override
            public void onResponse(Call<String> call, Response<String> response)
            {
                //填充服务器返回的结果
                webView.loadData(response.body(),"text/html; charset=UTF-8", null);
            }

            @Override
            public void onFailure(Call<String> call, Throwable t)
            {
            }
        });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值