1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package com.example.myapplication;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.os.Handler;
- import android.os.Message;
- import android.widget.ImageView;
- import javax.net.ssl.HttpsURLConnection;
- import java.io.BufferedInputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.net.URL;
- public class ImageLoader {
- private ImageView mImageView;
- private String murl;
- private Handler handler = new Handler(){
- @Override
- public void handleMessage(Message msg) {
- super.handleMessage(msg);
- if(mImageView.getTag().equals(murl)) {
- mImageView.setImageBitmap((Bitmap) msg.obj);
- }
- }
- };
- public void showImagerByThread(ImageView imageView, final String url){
- mImageView = imageView;
- murl = url;
- new Thread(){
- @Override
- public void run() {
- super.run();
- Bitmap bitmap = getBitmapFromURL(url);
- Message message = Message.obtain();
- message.obj = bitmap;
- handler.sendMessage(message);
- }
- }.start();
- }
- public Bitmap getBitmapFromURL(String urlString){
- Bitmap bitmap;
- InputStream is = null;
- try {
- URL url = new URL(urlString);
- HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
- is = new BufferedInputStream(connection.getInputStream());
- bitmap = BitmapFactory.decodeStream(is);
- connection.disconnect();
- return bitmap;
- } catch (java.io.IOException e) {
- e.printStackTrace();
- } finally {
- try {
- is.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- return null;
- }
- }
|