文档章节

解析

 易水寒521
发布于 2015/06/24 16:43
字数 741
阅读 21
收藏 0
点赞 0
评论 0

TrainLogic

package com.example.traindemo.util;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.http.client.ClientProtocolException;
import org.json.JSONException;
public class TrainLogic {
 
 public List<Train> Train() throws ClientProtocolException, IOException,
   JSONException {
  Map<String, String> map = new HashMap<String, String>();
  map.put("date", "2015-06-28");
  map.put("to", "合肥");
  map.put("from", "上海");
  map.put("key", "838a236170cd3df22298a27c45334193");
  
  String str = HttpUtil.getRequest("yp", map);
//  System.out.println("str---"+str);
  List<Train> requst = JsonActivity.getTrain(str);
  // Log.i("Test", requst+"");
//  System.out.println(requst + "");
  return requst;
 }
}

JsonActivity

package com.example.traindemo.util;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class JsonActivity {
 public static List<Train> getTrain(String str) throws JSONException {
  List<Train> arr = new ArrayList<Train>();
  Train t = null;
  JSONObject obj = new JSONObject(str);
  JSONArray list = obj.getJSONArray("result");
  for (int i = 0; i < list.length(); i++) {
   JSONObject jb = list.getJSONObject(i);
   String train_no = jb.getString("train_no");
   
   String start_station_name = jb.getString("start_station_name");
   String end_station_name = jb.getString("end_station_name");
   String from_station_name = jb.getString("from_station_name");
   String to_station_name = jb.getString("to_station_name");
   String start_time = jb.getString("start_time");
   String arrive_time = jb.getString("arrive_time");
   String train_class_name = jb.getString("train_class_name");
   String day_difference = jb.getString("day_difference");
   String lishi = jb.getString("lishi");
   String gr_num = jb.getString("gr_num");
   String qt_num = jb.getString("qt_num");
   String rw_num = jb.getString("rw_num");
   String rz_num = jb.getString("rz_num");
   String tz_num = jb.getString("tz_num");
   String wz_num = jb.getString("wz_num");
   String yw_num = jb.getString("yw_num");
   String yz_num = jb.getString("yz_num");
   String ze_num = jb.getString("ze_num");
   String zy_num = jb.getString("zy_num");
   String swz_num = jb.getString("swz_num");
   
   t = new Train(train_no, start_station_name, end_station_name,
     from_station_name, to_station_name, start_time,
     arrive_time, train_class_name, day_difference, lishi,
     gr_num, qt_num, rw_num, rz_num, tz_num, wz_num, yw_num,
     yz_num, ze_num, zy_num, swz_num);
   
   arr.add(t);
  }
//  System.out.println("arr---"+arr);
  
  return arr;
 }
}

HttpUtil

package com.example.traindemo.util;
import java.io.IOException;
import java.util.Map;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
public class HttpUtil {
 public static HttpClient client = new DefaultHttpClient();
 public static String getRequest(String url, Map<String, String> params)
   throws ClientProtocolException, IOException {
  StringBuffer sb = new StringBuffer();
  String result = "";
  sb.append("http://apis.juhe.cn/train/");
  sb.append(url);
  if (params != null) {
   sb.append("?");
   for (Map.Entry<String, String> entry : params.entrySet()) {
    String key = entry.getKey();
    String value = entry.getValue();
    sb.append(key + "=" + value + "&");
   }
  }
  // 删除最后的"&"
  sb.delete(sb.length() - 1, sb.length());
  // 发送GET请求
  HttpGet get = new HttpGet(sb.toString());
  HttpResponse response = client.execute(get);
  HttpEntity entity = response.getEntity();
  result = EntityUtils.toString(entity);
  return result;
 }
}

MyHttpClient

package com.activity.Util;
import org.apache.http.client.HttpClient;
import org.apache.http.conn.ClientConnectionManager;
import org.apache.http.conn.params.ConnManagerParams;
import org.apache.http.conn.scheme.PlainSocketFactory;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
public class MyHttpClient {
 private static HttpClient mHttpClient;
 public static synchronized HttpClient getHttpClient() {
  if (mHttpClient == null) {
   HttpParams params = new BasicHttpParams();
   ConnManagerParams.setTimeout(params, 5000);
   HttpConnectionParams.setConnectionTimeout(params, 5000);
   HttpConnectionParams.setSoTimeout(params, 10000);
   SchemeRegistry schReg = new SchemeRegistry();
   schReg.register(new Scheme("http", PlainSocketFactory
     .getSocketFactory(), 80));
   schReg.register(new Scheme("https", SSLSocketFactory
     .getSocketFactory(), 443));
   ClientConnectionManager conMgr = new ThreadSafeClientConnManager(
     params, schReg);
   mHttpClient = (HttpClient) new DefaultHttpClient(conMgr, params);
  }
  return mHttpClient;
 }
}

activity_main.xml

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="出发站:" />
        <EditText
            android:id="@+id/editText_start"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10" >
            <requestFocus />
        </EditText>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp" >
        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="终点站:" />
        <EditText
            android:id="@+id/editText_end"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp" >
        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="日   期:" />
        <TextView
            android:id="@+id/textView_date"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:hint="日期"
            android:inputType="date" />
    </LinearLayout>
    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:text="车次类型:" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
        <CheckBox
            android:id="@+id/checkBox_G"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="G" />
        <CheckBox
            android:id="@+id/checkBox_D"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="D" />
        <CheckBox
            android:id="@+id/checkBox_T"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="T" />
        <CheckBox
            android:id="@+id/checkBox_Z"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Z" />
        <CheckBox
            android:id="@+id/checkBox_K"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="K" />
        <CheckBox
            android:id="@+id/checkBox_Q"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Q" />
    </LinearLayout>
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:text="Button" />
</LinearLayout>

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 130
码字总数 120077
作品 0
虹口
sharding-sphere之SQL解析insert

以mysql为例,官网说明insert语句的写法如下: 简单来讲,支持一下三种: 目前来讲,sharding-sphere并不支持第三种。原因在这里: 接下来,就以第一种为例,介绍一下整个的语法解析过程: 解析...

一滴水的坚持
06/12
0
0
springMVC初探视图解析器——InternalResourceViewResolver

pringmvc在处理器方法中通常返回的是逻辑视图,如何定位到真正的页面,就需要通过视图解析器。 springmvc里提供了多个视图解析器,InternalResourceViewResolver就是其中之一: 最常用的视图...

文文1
04/22
0
0
android xml解析的三种方式

在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX、Pull、Dom解析方式。最近做了一个android版的CSDN阅读器,用到了其中的两种(sax,pull),今天对android解析...

球球
2016/09/24
5
0
sharding-sphere之SQL解析select

以mysql为例,先看一下sql的写法: 官网地址:请点击我 sql关联查询的格式如下: 结果集合并: sql的解析过程如官方文档sql写法解析过程一直,流程图如下: 举个例子:以mysql的查询sql为例,看看...

一滴水的坚持
06/14
0
0
【python】13、解析式

1、解析式是什么?为什么要用解析式? 对一个list里所有的数值求平方 In [123]: lst = list(range(6)) In [124]: ret = [] In [125]: for i in lst: ...: ret.append(i ** 2) ...: In [126]:......

xiexiaojun
2017/06/08
0
0
利用 Java 实现组合式解析器

简介: Ward Cunningham 曾经说过,干净的代码清晰地表达了代码编写者所想要表达的东西,而优美的代码则更进一步,优美的代码看起来就像是专门为了要解决的问题而存在的。在本文 中,我们将展...

红薯
2010/06/26
153
1
[Android] android平台下sax,dom,pull解析方式性能比较

1.Android中三种XML的解析方式,分别为Dom,Sax,Pull,其中Pull的解析方式最优 2.Dom,Sax,Pull解析方式的区别 (1).Dom解析方式: 首先一下子加载整个文档然后再挨个节点解析,费流量 优点:对于处理...

枫兮兮
2014/02/27
0
0
数据库中间件 Sharding-JDBC 源码分析 —— SQL 解析(二)之SQL解析

关注微信公众号:【芋艿的后端小屋】有福利: RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表 RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址 您对于源码的疑问每条留...

芋艿V
2017/07/30
0
0
数据库中间件 Sharding-JDBC 源码分析 —— SQL 解析(二)之SQL解析【推荐阅读】

🙂🙂🙂关注微信公众号:【芋艿的后端小屋】有福利: RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表 RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址 您对于源码...

芋道源码掘金Java群217878901
2017/07/30
0
0
sharding-sphere之语法解析器

语法解析器,根据不同类型的语句有不同的语法解析器去解析成成SQLStatement,SQL解析器的类图我用脑图画出来如下: 可以看到,不同的sql有不同的处理解析器去解析,解析完成之后,会将SQL解析...

一滴水的坚持
06/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

pbgo: 基于Protobuf的迷你RPC/REST框架

https://www.oschina.net/p/pbgo

chai2010
22分钟前
0
0
rsync工具介绍、常用选项以及通过ssh同步

linux下的文件同步工具 rsync rsync是非常实用的一个同步工具,可以从a机器到b机器传输一个文件,也可以备份数据,系统默认没有这个工具,要使用命令 yum install -y rsync 安装。 rsync的命...

黄昏残影
38分钟前
0
0
OSChina 周四乱弹 —— 表妹要嫁人 舅妈叮嘱……

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @哈哈哈哈哈嗝:一定要听——The Pancakes的单曲《咁咁咁》 《咁咁咁》- The Pancakes 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :...

小小编辑
今天
108
4
流利阅读笔记30-20180719待学习

重磅:让人类得老年痴呆的竟是它? Lala 2018-07-19 1.今日导读 去年奥斯卡最佳动画长片《寻梦环游记》里有一句经典台词:“比死亡更可怕的,是遗忘”。在电影中,年迈的曾祖母会重复说一样的...

aibinxiao
今天
3
0
1.16 Linux机器相互登录

Linux机器之间以密码方式互相登录 运行命令#ssh [ip address],标准命令:#ssh [username]@ip, 如果没有写用户名,则默认为系统当前登录的用户 命令#w查看系统负载,可查看到连接到该主机的...

小丑鱼00
今天
0
0
about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
2
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部