Android/Java网络加载框架Retrofit(二)load bitmap into ListView
来源:互联网 发布:网络言情小说作家 编辑:程序博客网 时间:2024/05/21 11:26
Android/Java网络加载框架Retrofit(二)load bitmap into ListView
package zhangphil.http;import android.app.ListActivity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.support.annotation.NonNull;import android.support.annotation.Nullable;import android.util.Log;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.ImageView;import java.util.ArrayList;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 ListActivity { private MyRetrofitService mRetrofitService; private ArrayList<Call> mCalls = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Retrofit mRetrofit = new Retrofit.Builder() .baseUrl("https://www.baidu.com/") .build(); mRetrofitService = mRetrofit.create(MyRetrofitService.class); ArrayAdapter mArrayAdapter = new ArrayAdapter(this, 0) { @NonNull @Override public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { ImageView imageView = new ImageView(getContext()); setBitmap("bd_logo1.png", imageView); return imageView; } @Override public int getCount() { return 10; } }; setListAdapter(mArrayAdapter); } private void setBitmap(String picName, final ImageView imageView) { final Call mCall = mRetrofitService.getImagesByName(picName); mCall.enqueue(new Callback<ResponseBody>() { @Override public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) { try { Log.d("请求的网络链接", String.valueOf(mCall.request().url())); 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<ResponseBody> call, Throwable t) { t.printStackTrace(); } }); mCalls.add(mCall); } private interface MyRetrofitService { @GET("img/{picName}") Call<ResponseBody> getImagesByName(@Path("picName") String picName); } @Override protected void onDestroy() { super.onDestroy(); for (Call call : mCalls) { call.cancel(); } }}
阅读全文
0 0
- Android/Java网络加载框架Retrofit(二)load bitmap into ListView
- Android/Java网络加载框架Retrofit(一)初识
- Android/Java网络加载框架Retrofit(三)结合RxJava2与RxAndroid2
- android网络框架retrofit源码解析二
- Android网络请求框架之Retrofit(二)
- BitMap高效显示策略(二):在ListView上异步加载网络图片
- Android网络请求(二)retrofit+rxjava
- Android网络开发框架Retrofit(二:入门篇,hello, world)
- Android开源框架Universal-Image-Load网络图片加载
- Android(安卓)网络框架之Retrofit网络框架加载数据使用方法
- Android网络开发框架Retrofit(一:介绍篇)
- Android开源网络框架Retrofit(入门篇)
- Android网络框架选择(Volley、OkHttp、Retrofit)
- Android网络框架选择(Volley、OkHttp、Retrofit)
- Android,Gilde框架加载图片进内存。出现的Bitmap too large to be uploaded into a texture
- Retrofit框架学习(二)
- android快捷开发之Retrofit网络加载框架的简单使用
- Android MVP框架+RxJava+Retrofit+cecycleView,请求网络数据并加载
- UVA 11354 Bond
- 学会宜家效应,给你一个全新的设计思维!
- 【Python】Matplotlib画图(十一)——箱线图
- GridControl导出Excel(WPF)
- mysql存储过程执行时发生Error Code: 1267. Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_gener
- Android/Java网络加载框架Retrofit(二)load bitmap into ListView
- cdq分治
- 用SVD压缩深度模型(DNN,CNN)的全连接层(fully-connected layer)
- 产品流程
- 【开始】总要写点啥
- 添加图片水印
- nginx 静态资源访问配置
- Greenplum 分区表介绍
- HDU 1385 Minimum Transport Cost(floyd)(记录路径)