Retrofit的使用总结(一)简单使用

2017-02-21  本文已影响72人  程序猿男神

文/程序员男神

前言

年后工作上有了变动,公司重新分了组。我的直接领导也变了,一切又要重新开始。交接旧的工作,迎接新的工作。学习新的东西,熟悉新的业务流程,一切在紧张忙碌中进行。最近合肥这天气跟一首歌唱的一样,一个像夏天一个像冬天,周末还穿短袖春游,周一上班就换上了羽绒服。周末照了好多美照,看下面......


Jordon

概念

Retrofit是由Square公司出品的针对于Android和Java的类型安全的Http客户端,网络服务基于OkHttp 。

使用步骤

第一步:添加依赖,我们直接搜索library,添加编译。

图片.png

第二步:定义接口,比如请求百度的首页。

/**
 *
 * desc: 定义一个接口
 * author: dj
 * date: 2017/2/21 18:22
 *
 */
public interface Service {
    @GET("/")
    Call<String> getBaidu();
}

第三步:创建retrofit实例,设置一些参数,最后接口回调,请求成功或失败的实现。xml就一个TextView这里就不贴代码了。

/**
 * desc: 请求activity
 * author: dj
 * date: 2017/2/21 21:41
 */
public class MainActivity extends AppCompatActivity implements Callback<String> {

    private TextView tvShow;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tvShow = (TextView) findViewById(R.id.tv_show);
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("http://www.baidu.com")
                .addConverterFactory(new Converter.Factory() {
                    @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();
        Service service = retrofit.create(Service.class);
        Call<String> call = service.getBaidu();
        call.enqueue(this);
    }

    @Override
    public void onResponse(Call<String> call, Response<String> response) {
        tvShow.setText(response.body());
    }

    @Override
    public void onFailure(Call<String> call, Throwable t) {
        Toast.makeText(this, "请求失败:" + call.request().url(), Toast.LENGTH_SHORT).show();
        t.printStackTrace();
    }
}

第四步:添加网络权限

 <uses-permission android:name="android.permission.INTERNET" />

总结
最后,对自己说一句,生活本就乏味,我们应该积极面对。在浮躁的社会中,慢慢积累,累了就休息,有精力就学习。

上一篇下一篇

猜你喜欢

热点阅读