---恢复内容开始---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