Retrofit学习

---恢复内容开始---android

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
            ImageView view = (ImageView) findViewById(R.id.image);
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("https://www.baidu.com/?tn=62095104_19_oem_dg")
                .build();
        BlogService service = retrofit.create(BlogService.class);

        Call<ResponseBody> call = service.getBlog(2);
//用法和OkHttp的call一模一样,不一样的是,Android系统中回调方法执行在主线程
        call.enqueue(new Callback<ResponseBody>() {
            @Override
            public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
                try {
                    System.out.println(response.body().string());
                    System.out.println(response.code() + "  " + response.isSuccessful());//200  true
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

            @Override
            public void onFailure(Call<ResponseBody> call, Throwable t) {
                t.printStackTrace();
            }
        });
    }
    public interface BlogService {
        @GET("blog/{id}")/*这里的{id} 表示是一个变量*/
        Call<ResponseBody> getBlog(@Path("id") int id);
    }
    }

 

retrofit框架是对OKhttp的包装,为了简化代码逻辑和代码调用,不一样于Volley,retrofit更偏向大型持久的数据链接,相似于httpurlconnection.retrofit使用注解的方式调用方法,内置了不少注解,好比@get表示使用get请求,能够看看这个连接的分享https://blog.csdn.net/qiang_xi/article/details/53959437    框架

 

<uses-permission android:name="android.permission.INTERNET" />
还有依赖:
implementation 'com.squareup.okhttp3:okhttp:4.0.0-RC1'
implementation 'com.squareup.okio:okio:2.2.2'
implementation 'com.squareup.retrofit2:converter-gson:2.6.0'


 

---恢复内容结束---ide

相关文章
相关标签/搜索