解析网络上的json和图片的工具

public class NetWorkUtil {
    public static Bitmap getNetBitmap(String urlString) {

        try {
            //URL封装链接地址;  
            URL url = new URL(urlString);
            //url打开链接  
            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
            //联网的状态码  
            int responseCode = urlConnection.getResponseCode();
            if (responseCode == 200) {
                //链接上获取输入流  
                InputStream ins = urlConnection.getInputStream();
                //把流直接转换成bitmap(系统提供的BitmapFactory)  
                Bitmap bitmap = BitmapFactory.decodeStream(ins);//BitmapFactory是个工具类,系统提供的  
                return bitmap;
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

    public static String getNetjson(String urlString) {
        try {
            URL url = new URL(urlString);
            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
            urlConnection.setRequestMethod("GET");//若果是get请求可以不用配置其他请求必须配置  
            urlConnection.setConnectTimeout(8000);//设置链接超时间  
            InputStream inputStream = urlConnection.getInputStream();//获取网络返回的输入流;  
            //可拼接的字符串  
            StringBuilder stringBuilder = new StringBuilder();
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
            String temp = "";
            while ((temp = bufferedReader.readLine()) != null) {
                stringBuilder.append(temp);
            }
            //这个是网络获取的数据  
            String data = stringBuilder.toString();
            return data;
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "";
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于OkHttp来说,可以通过它提供的ResponseBody来获取服务器返回的JSON数据和图片数据。 1. JSON解析 使用OkHttp获取服务器返回的JSON数据,可以通过如下步骤进行解析: ```java // 1. 创建OkHttpClient实例 OkHttpClient client = new OkHttpClient(); // 2. 创建Request对象 Request request = new Request.Builder() .url("http://www.example.com/api/get_data") .build(); // 3. 发送请求,获取Response对象 Response response = client.newCall(request).execute(); // 4. 获取ResponseBody对象 ResponseBody body = response.body(); // 5. 获取JSON字符串 String jsonStr = body.string(); // 6. 解析JSON数据 JSONObject jsonObject = new JSONObject(jsonStr); int code = jsonObject.getInt("code"); String message = jsonObject.getString("message"); ``` 以上代码中,我们通过OkHttpClient发送了一个请求,获取了服务器返回的Response对象,然后从Response对象中获取了ResponseBody对象,最后通过ResponseBody对象获取了JSON字符串。接下来,我们就可以使用Android提供的JSONObject或第三方库Gson、FastJson等来解析这个JSON字符串。 2. 图片解析 使用OkHttp获取服务器返回的图片数据,可以通过如下步骤进行解析: ```java // 1. 创建OkHttpClient实例 OkHttpClient client = new OkHttpClient(); // 2. 创建Request对象 Request request = new Request.Builder() .url("http://www.example.com/images/pic.png") .build(); // 3. 发送请求,获取Response对象 Response response = client.newCall(request).execute(); // 4. 获取ResponseBody对象 ResponseBody body = response.body(); // 5. 获取图片字节数组 byte[] bytes = body.bytes(); // 6. 将字节数组转换为Bitmap对象 Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length); ``` 以上代码中,我们通过OkHttpClient发送了一个请求,获取了服务器返回的Response对象,然后从Response对象中获取了ResponseBody对象,最后通过ResponseBody对象获取了图片字节数组。接下来,我们可以使用Android提供的BitmapFactory将字节数组转换为Bitmap对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值