您的位置:首页 > 理论基础 > 计算机网络

使用url获取网络资源

2016-07-19 21:11 639 查看
package com.wzh.csdn.util;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * Created by wzh on 2015/8/18.
 */
public class GetBitmapUtil {
    public static void getBitmapByUrl(final String address,final callBackListener listener){
        new AsyncTask<Void,Void,Bitmap>(){
            @Override
            protected Bitmap doInBackground(Void... params) {
                //方式1:
                Bitmap bm = null ;
                try {
                   URL url = new URL(address) ;
                   InputStream is =  url.openStream() ;
                   bm = BitmapFactory.decodeStream(is) ;
                } catch (IOException e) {
                    e.printStackTrace();
                }
                return bm;

                //方式2:
                /*
                Bitmap bm = null ;
                HttpURLConnection hc = null ;
                try {
                    URL url = new URL(address) ;
                    hc  = (HttpURLConnection)url.openConnection() ;
                    hc.setRequestMethod("GET");
                    hc.connect();
                    if(hc.getResponseCode() == 200){
                        InputStream is = hc.getInputStream() ;
                        bm = BitmapFactory.decodeStream(is) ;
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }finally {
                    if(hc != null){
                        hc.disconnect();
                    }
                }
                return bm;
                * */
            }

            @Override
            protected void onPostExecute(Bitmap bitmap) {
                if(bitmap != null){
                    listener.onSuccess(bitmap);
                }else{
                    listener.onFail();
                }
                super.onPostExecute(bitmap);
            }
        }.execute() ;
    }

    public static interface callBackListener{
        void onSuccess(Bitmap bm) ;
        void onFail() ;
    }
}

稍加改造就可以获取图片等资源

package com.wzh.csdn.util;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * Created by wzh on 2015/8/18.
 */
public class GetBitmapUtil {
    public static void getBitmapByUrl(final String address,final callBackListener listener){
        new AsyncTask<Void,Void,Bitmap>(){
            @Override
            protected Bitmap doInBackground(Void... params) {
                //方式1:
                Bitmap bm = null ;
                try {
                   URL url = new URL(address) ;
                   InputStream is =  url.openStream() ;
                   bm = BitmapFactory.decodeStream(is) ;
                } catch (IOException e) {
                    e.printStackTrace();
                }
                return bm;

                //方式2:
                /*
                Bitmap bm = null ;
                HttpURLConnection hc = null ;
                try {
                    URL url = new URL(address) ;
                    hc  = (HttpURLConnection)url.openConnection() ;
                    hc.setRequestMethod("GET");
                    hc.connect();
                    if(hc.getResponseCode() == 200){
                        InputStream is = hc.getInputStream() ;
                        bm = BitmapFactory.decodeStream(is) ;
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }finally {
                    if(hc != null){
                        hc.disconnect();
                    }
                }
                return bm;
                * */
            }

            @Override
            protected void onPostExecute(Bitmap bitmap) {
                if(bitmap != null){
                    listener.onSuccess(bitmap);
                }else{
                    listener.onFail();
                }
                super.onPostExecute(bitmap);
            }
        }.execute() ;
    }

    public static interface callBackListener{
        void onSuccess(Bitmap bm) ;
        void onFail() ;
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  URL 获取网络资源