本文共 2504 字,大约阅读时间需要 8 分钟。
上层Java代码:
package zhangphil.http;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.widget.ImageView;import okhttp3.ResponseBody;import retrofit2.Call;import retrofit2.Callback;import retrofit2.Response;import retrofit2.Retrofit;import retrofit2.http.GET;import retrofit2.http.Path;public class MainActivity extends AppCompatActivity { private CallmCall; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final ImageView imageView = (ImageView) findViewById(R.id.image); Retrofit mRetrofit = new Retrofit.Builder() .baseUrl("https://www.baidu.com/") .build(); MyRetrofitService mRetrofitService = mRetrofit.create(MyRetrofitService.class); mCall = mRetrofitService.getImagesByName("bd_logo1.png"); Log.d("请求的网络链接", String.valueOf(mCall.request().url())); mCall.enqueue(new Callback () { @Override public void onResponse(Call call, Response response) { try { byte[] bytes = response.body().bytes(); Bitmap bmp = BitmapFactory.decodeByteArray(bytes, 0, bytes.length); imageView.setImageBitmap(bmp); } catch (Exception e) { e.printStackTrace(); } } @Override public void onFailure(Call call, Throwable t) { t.printStackTrace(); } }); } @Override protected void onDestroy() { super.onDestroy(); mCall.cancel(); } private interface MyRetrofitService { @GET("img/{picName}") Call getImagesByName(@Path("picName") String picName); }}
代码运行结果logcat输出:
10-16 11:21:29.685 6145-6145/zhangphil.http D/请求的网络链接: https://www.baidu.com/img/bd_logo1.png
不要忘记网络权限:
转载地址:http://bglfm.baihongyu.com/