array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 Android解析聚合数据之天气预报 - 爱码网

免费天气预报API:https://www.juhe.cn/docs/api/id/73 ,申请APPKEY

Android解析聚合数据之天气预报 

MainActivity.java 

<span style="font-size:14px;">package com.example.networktest;    
     
import java.io.BufferedReader;    
import java.io.IOException;    
import java.io.InputStream;    
import java.io.InputStreamReader;    
import java.net.HttpURLConnection;    
import java.net.MalformedURLException;    
import java.net.URL;    
import java.net.URLEncoder;    
     
import org.json.JSONArray;    
import org.json.JSONException;    
import org.json.JSONObject;    
     
import android.app.Activity;    
import android.os.Bundle;    
import android.os.Handler;    
import android.os.Message;    
import android.util.Log;    
import android.view.View;    
import android.view.View.OnClickListener;    
import android.widget.Button;    
import android.widget.TextView;    
     
public class MainActivity extends Activity {    
    private Button sendRequest;    
    private TextView responseText;    
    public static final int SHOW_RESPONSE = 0;    
    private Handler handler = new Handler() {    
     
        public void handleMessage(Message msg) {    
            switch (msg.what) {    
            case SHOW_RESPONSE:    
                String response = (String) msg.obj;    
                // 在这里进行UI操作,将结果显示到界面上    
                responseText.setText(response);    
            }    
        }    
     
    };    
     
    @Override   
    protected void onCreate(Bundle savedInstanceState) {    
        super.onCreate(savedInstanceState);    
        setContentView(R.layout.activity_main);    
        sendRequest = (Button) findViewById(R.id.send_request);    
        responseText = (TextView) findViewById(R.id.response);    
        sendRequest.setOnClickListener(new OnClickListener() {    
            @Override   
            public void onClick(View arg0) {    
                sendRequestWithHttpURLConnection();    
            }    
        });    
    }    
     
    protected void sendRequestWithHttpURLConnection() {    
        new Thread() {    
            @Override   
            public void run() {    
                URL url;    
                HttpURLConnection connection = null;    
                try {    
                    // url = new    
                    // URL("http://10.2.5.119:8080/Server/getData.json");    
                    String cityName = URLEncoder.encode("滨州", "utf-8");    
                    url = new URL(    
                            "http://v.juhe.cn/weather/index?format=2&cityname="   
                                    + cityName    
                                    + "&key=ab9d7e2007472d723baf71fcdc4ba094");    
                    connection = (HttpURLConnection) url.openConnection();    
                    connection.setRequestMethod("GET");    
                    connection.setConnectTimeout(8000);    
                    connection.setReadTimeout(8000);    
                    InputStream in = connection.getInputStream();    
                    // 下面对获取到的输入流进行读取    
                    BufferedReader reader = new BufferedReader(    
                            new InputStreamReader(in));    
                    StringBuilder response = new StringBuilder();    
                    String line;    
                    while ((line = reader.readLine()) != null) {    
                        response.append(line);    
                    }    
                    System.out.println("response=" + response.toString());    
                    //parseWithJSON(response.toString());    
                    parseWeatherWithJSON(response.toString());    
                    Message message = new Message();    
                    message.what = SHOW_RESPONSE;    
                    // 将服务器返回的结果存放到Message中    
                    message.obj = response.toString();    
                    handler.sendMessage(message);    
                } catch (MalformedURLException e) {    
                    e.printStackTrace();    
                } catch (IOException e) {    
                    e.printStackTrace();    
                } finally {    
                    if (connection != null) {    
                        connection.disconnect();    
                    }    
                }    
            }    
        }.start();    
     
    }    
     
    protected void parseWeatherWithJSON(String response) {    
        try {    
            JSONObject jsonObject=new JSONObject(response);    
            String resultcode=jsonObject.getString("resultcode");    
            if(resultcode.equals("200")){    
                JSONObject resultObject=jsonObject.getJSONObject("result");    
                JSONObject todayObject=resultObject.getJSONObject("today");    
                String date_y=todayObject.getString("date_y");    
                String week=todayObject.getString("week");    
                String temperature=todayObject.getString("temperature");    
                Log.d("MainActivity", "date_y="+date_y+"week="+week+"temp="+temperature);    
            }    
                 
        } catch (JSONException e) {    
            e.printStackTrace();    
        }    
    }    
     
    protected void parseWithJSON(String response) {    
        try {    
            JSONArray jsonArray = new JSONArray(response);    
            for (int i = 0; i < jsonArray.length(); i++) {    
                JSONObject jsonObject = jsonArray.getJSONObject(i);    
                String id = jsonObject.getString("id");    
                String name = jsonObject.getString("name");    
                String version = jsonObject.getString("version");    
                Log.d("MainActivity", "   
                        + version);    
            }    
        } catch (JSONException e) {    
            e.printStackTrace();    
        }    
    }    
     
}</span>  

activity_main.xml 

<LinearLayout xmlns:andro   
    android:layout_width="match_parent"   
    android:layout_height="match_parent"   
    android:orientation="vertical" >    
    <Button   
        android:   
        android:layout_width="match_parent"   
        android:layout_height="wrap_content"   
        android:text="Send Request" />    
    <ScrollView   
        android:layout_width="match_parent"   
        android:layout_height="match_parent" >    
        <TextView   
            android:   
            android:layout_width="match_parent"   
            android:layout_height="wrap_content" />    
    </ScrollView>    
</LinearLayout> 

  

 

相关文章: