美文网首页
Retrofit的使用总结(一)简单使用

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

作者: 程序猿男神 | 来源:发表于2017-02-21 21:52 被阅读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" />
    

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

    相关文章

      网友评论

          本文标题:Retrofit的使用总结(一)简单使用

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