try { OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder().url("http://api.heclouds.com/devices/" + DeviceID + "/datepoints?datestreams_id=" + key4).header("api-key", Apikey).build(); Response response = client.newCall(request).execute(); String responseData = response.body().string(); parseJSONwithGSON(responseData); JsonRootBean app = new Gson().fromJson(responseData, JsonRootBean.class); List<Datastreams> streams = app.getData().getDatastreams(); List<Datapoints> points = streams.get(0).getDatapoints(); value4 = points.get(0).getValue(); date4.post(new Runnable() { @Override public void run() { date4.setText(String.format("雨滴", value4)); } }); }catch (IOException e){ e.printStackTrace(); } } } }).start(); } private void parseJSONwithGSON(String jsonData){ JsonRootBean app =new Gson().fromJson(jsonData,JsonRootBean.class); List<Datastreams> streams =app.getData().getDatastreams(); List<Datapoints> points =streams.get(0).getDatapoints(); int count=app.getData().getCount(); for (int i=0;i< points.size();i++){ String time=points.get(i).getAt(); String value =points.get(i).getValue(); Log.w("www","time=" +time); Log.w("www","value=" +value); }
时间: 2023-12-26 20:05:27 浏览: 153
Java实现HTTP连接与浏览.7z
这段代码主要是使用OkHttp库发送HTTP请求到指定的URL,然后获取到返回的数据,并使用Gson库将JSON数据解析成Java对象。具体来说,这段代码通过发送HTTP请求到指定的URL,获取到返回的JSON数据,然后使用Gson库将JSON数据解析成Java对象。在解析过程中,首先创建一个JsonRootBean对象,然后通过调用getData()方法获取到Data对象,再通过调用getDatastreams()方法获取到Datastreams集合,其中每个Datastreams对象包含了一个key和一个Datapoints集合,其中Datapoints集合中包含多个Datapoints对象,每个Datapoints对象都包含了一个时间戳和一个数据点的值。最后,调用Log.w()方法输出每个Datapoints对象的时间戳和数据点的值。
阅读全文