Android加载网络图片
其他
2019-04-16 09:50:57
阅读次数: 0
Android加载网络图片
这里我用的okhttp加载网络数据
- 先声明一个变量
Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); if(msg.what==1){
//通过message,拿到字节数组 byte []Pi=(byte[])msg.obj; //使用BitmapFactory工厂,把字节数组转化为bitmap Bitmap bitmap=BitmapFactory.decodeByteArray(Pi,0,Pi.length); //显示图片 event_tea_pic_iv.setImageBitmap(bitmap); } } }; |
- 声明一个方法image(String url)用来处理网络断图片
public void image(String url){ OkHttpClient okHttpClient=new OkHttpClient(); Request request=new Request.Builder().url(url).build(); Call call=okHttpClient.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { Log.i(“zjc”,”网络断加载失败”); } @Override public void onResponse(Call call, Response response) throws IOException { byte[] Picture_bt=response.body().bytes(); Message message=handler.obtainMessage(); message.obj=Picture_bt; message.what=1; handler.sendMessage(message); } }); } |
- 大功告成
- 全部代码
package com.example.a11699.sdsyu.item; public class HomeItem extends AppCompatActivity { ImageView event_tea_pic_iv; Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); if(msg.what==1){ byte []Pi=(byte[])msg.obj; Bitmap bitmap=BitmapFactory.decodeByteArray(Pi,0,Pi.length); event_tea_pic_iv.setImageBitmap(bitmap); } } }; @SuppressLint("HandlerLeak") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home_item); event_tea_pic_iv = findViewById(R.id.event_tea_pic_iv); final String a_id = getIntent().getStringExtra("act_id"); image(activityInformation.getTea_pic()); }
public void image(String url){ OkHttpClient okHttpClient=new OkHttpClient(); Request request=new Request.Builder().url(url).build(); Call call=okHttpClient.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) {
}
@Override public void onResponse(Call call, Response response) throws IOException { byte[] Picture_bt=response.body().bytes(); Message message=handler.obtainMessage(); message.obj=Picture_bt; message.what=1; handler.sendMessage(message); } }); } } |
-
转载自blog.csdn.net/qq_39860799/article/details/82936179