使用url获取网络资源


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() ;
    }
}



使用Java的`java.net.URLConnection`类可以方便地下载网络资源的数据。以下是一个基本的例子,展示如何获取URL的内容: ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public String getContentFromUrl(String urlString) throws Exception { URL url = new URL(urlString); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); // 设置连接选项,如GET请求 connection.setRequestMethod("GET"); connection.setConnectTimeout(5000); // 设置超时时间,单位毫秒 connection.setReadTimeout(5000); // 设置读取超时时间 int responseCode = connection.getResponseCode(); // 获取HTTP响应码 if (responseCode == HttpURLConnection.HTTP_OK) { // 如果状态码为200,表示成功 BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); StringBuilder contentBuilder = new StringBuilder(); String line; while ((line = in.readLine()) != null) { contentBuilder.append(line).append('\n'); } in.close(); return contentBuilder.toString(); // 返回获取到的内容 } else { throw new RuntimeException("Failed to load resource with status code: " + responseCode); } } ``` 上面的代码首先创建一个`URL`对象,然后通过`openConnection()`方法得到一个`HttpURLConnection`实例。接着设置请求方法(这里是GET),并设置适当的超时时间。如果HTTP响应码是200,就打开输入流,逐行读取内容并返回;否则抛出异常。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值