使用HttpClient获取网上字符串和位图对象Bitmap

Posted on 2016-03-30 09:49  邱小贱  阅读(273)  评论(0)    收藏  举报
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;

public class HttpUtils {

    private static InputStream is, is2;
    private static ByteArrayOutputStream baos,baos2;

    public static String getJSONStr(String url) {
        HttpClient client = new DefaultHttpClient();
        HttpGet httpGet = new HttpGet(url);
        try {
            HttpResponse response = client.execute(httpGet);
            HttpEntity entity = response.getEntity();
            is = entity.getContent();
            baos = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024];
            int i;
            while ((i = is.read(buffer)) != -1) {
                baos.write(buffer, 0, i);
            }
            return baos.toString();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            try {
                baos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }

    public static Bitmap getBitmap(String url) {
        HttpClient client = new DefaultHttpClient();
        HttpGet httpGet = new HttpGet(url);
        
        try {
            HttpResponse response = client.execute(httpGet);
            HttpEntity entity = response.getEntity();
            is2 = entity.getContent();
            baos2 = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024];
            int i;
            while ((i = is2.read(buffer)) != -1) {
                baos2.write(buffer, 0, i);
            }
            Bitmap bm = BitmapFactory.decodeByteArray(baos2.toByteArray(), 0, baos2.toByteArray().length);
            return bm;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

}

 

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3