`
SorosW
  • 浏览: 9943 次
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

聚合数据Android SDK 12306火车票查询订票演示示例

 
阅读更多

1.聚合SDK是聚合数据平台,为移动开发者提供的免费数据接口.使用前请先到聚合平台(http://www.juhe.cn/)注册,申请相关数据.

2.下载聚合数据SDK,将开发包里的juhe_sdk_v_1_1.jar拷贝到libs根目录下,将libJuheSDK_v_1_0.so拷贝到libs\armeabi目录下,如图:


3. 根据接口说明文档找到以下方法:

/**
	 * 获取车次
	 * 
	 * @param name
	 *            车次
	 * @param jsonCallBack
	 */
	public void getTrainNum(String name, JsonCallBack jsonCallBack)

/**
	 * 站到站查询
	 * 
	 * @param start
	 *            出发站
	 * @param end
	 *            终点站
	 * @param traintype
	 *            列车类型
	 * @param jsonCallBack
	 */
	public void getS2S(String start, String end, String traintype, JsonCallBack jsonCallBack) 

/**
	 * 12306实时余票查询
	 * 
	 * @param from
	 *            出发站
	 * @param to
	 *            到达站
	 * @param date
	 *            出发日期 默认今天
	 * @param traintype
	 *            车次类型
	 * @param jsonCallBack
	 */
	public void getTicketleft(String from, String to, String date, String traintype, JsonCallBack jsonCallBack) 

/**
	 * 12306订票①:查询车次
	 * 
	 * @param from
	 *            出发站
	 * @param to
	 *            到达站
	 * @param date
	 *            出发日期
	 * @param traintype
	 *            车次类型
	 * @param jsonCallBack
	 */
	public void bookTrainNum(String from, String to, String date, String traintype, JsonCallBack jsonCallBack) 

/**
	 * 
	 * @param name
	 *            乘客姓名
	 * @param seat
	 *            座位类型:商务座:9,一等座:M,二等座:O,特等座:P,高级软卧:6,软卧:4,硬卧:3,软座:2,硬座:1,无座:0
	 * @param mobile
	 *            乘客手机号码
	 * @param idcard
	 *            乘客身份证号码
	 * @param username
	 *            12306官网账号
	 * @param password
	 *            12306官网密码
	 * @param train_no
	 *            步骤①对应车次返回值
	 * @param station_train_code
	 *            步骤①对应车次返回值
	 * @param from_station_telecode
	 *            步骤①对应车次返回值
	 * @param to_station_telecode
	 *            步骤①对应车次返回值
	 * @param from_station_name
	 *            步骤①对应车次返回值
	 * @param to_station_name
	 *            步骤①对应车次返回值
	 * @param secretStr
	 *            步骤①对应车次返回值
	 * @param jsonCallBack
	 */
	public void bookTicket(String name, String seat, String mobile, String idcard, String username, String password, String train_no, String station_train_code, String from_station_telecode, String to_station_telecode, String from_station_name, String to_station_name, String secretStr, JsonCallBack jsonCallBack)


4.程序中调用方法

首先,在AnroidManifest.xml中添加权限

    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />

在application标签内部加入你申请的openid

    <meta-data
            android:name="com.thinkland.juheapi.openid"
            android:value="申请的openid" />

在使用前需要调用一次初始化方法

    CommonFun.initialize(getApplicationContext());


导入相关包

import com.thinkland.juheapi.common.CommonFun;
import com.thinkland.juheapi.common.JsonCallBack;
import com.thinkland.juheapi.data.train.TrainData;


调用方法
//站站查询
		TrainData trainData = TrainData.getInstance();
		trainData.getS2S("上海虹桥", "苏州园区", "G", new JsonCallBack() {

			@Override
			public void jsonLoaded(JSONObject arg0) {
				// TODO Auto-generated method stub
				try {
					int resultcode = arg0.getInt("resultcode");
					if (resultcode == 200) {
						JSONArray resultJson = arg0.getJSONArray("result");
					}
				} catch (JSONException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		});



5.返回字段及相关错误码

public voidgetTrainNum(String name, JsonCallBack jsonCallBack)

返回字段:

名称

类型

说明

resultcode

int

返回码

reason

string

返回说明

result

dictionary

返回结果集

train_info

dictionary

返回结果集

name

string

列次名称

start

string

起点站

end

string

终点站

starttime

string

发车时间

endtime

string

到达时间

mileage

string

里程

station_list

array

站点列表

train_id

int

站点序号

station_name

string

站点名称

arrived_time

string

到达时间

leave_time

string

发车时间

stay

string

停留

mileage

string

里程

ssoftSeat

string

二等座

hardSead

string

一等座

softSeat

string

硬座

hardSleep

string

软座

softSleep

string

硬卧

error_code

int

错误码

public void getS2S(String start,String end, String traintype,JsonCallBack jsonCallBack)

返回字段:

名称

类型

说明

resultcode

int

返回码

reason

string

返回说明

result

dictionary

data

array

返回结果集

trainOpp

string

列次名称

train_typename

string

列车类型

start_staion

string

出发站

end_station

string

终点站

leave_time

string

发车时间

arrived_time

string

到达时间

mileage

string

里程

totalcount

int

总条数

error_code

int

错误码


public void getTicketleft(String from, String to,String date, String traintype,JsonCallBack jsonCallBack)

返回字段:

名称

类型

说明

error_code

int

返回码

reason

string

返回说明

result

array

返回结果集

train_no

string

车次

start_station_name

string

车次始发站

end_station_name

string

车次终点站

from_station_name

string

出发站

to_station_name

string

到达站

start_time

string

出发时间

arrive_time

string

到达时间

train_class_name

string

车次类型

day_difference

string

历时天数

lishi

string

总历时时间

gr_num

string

高级软卧:-- 说明无该席位

qt_num

string

其他

rw_num

string

软卧

rz_num

string

软座

tz_num

string

特等座

wz_num

string

无座

yw_num

string

硬卧

yz_num

string

硬座

ze_num

string

二等座

zy_num

string

一等座

swz_num

string

商务座

publicvoid bookTrainNum(String from, String to,String date,String traintype, JsonCallBack jsonCallBack)

返回值:

名称

类型

说明

reason

string

返回说明

result

array

返回结果集

queryLeftNewDTO

dictionary


train_no

string

车次


station_train_code



start_station_telecode



start_station_name

string

车次始发站


nd_station_telecode



end_station_name

string

车次终点站


from_station_telecode



from_station_name

string

出发站


to_station_telecode



to_station_name

string

到达站


start_time

string

出发时间


arrive_time

string

到达时间


day_difference

历时天数


train_class_name

string

车次类型


lishi

string

总历时时间


canWebBuy



lishiValue



yp_info



control_train_day



start_train_date



seat_feature



yp_ex



train_seat_feature



seat_types



location_code



from_station_no



to_station_no



control_day



sale_time



is_support_card



gr_num

string

高级软卧:-- 说明无该席位


qt_num

string

其他


rw_num

string

软卧


rz_num

string

软座


tz_num

string

特等座


wz_num

string

无座


yw_num

string

硬卧


yz_num

string

硬座


ze_num

string

二等座


zy_num

string

一等座


swz_num

string

商务座

secretStr


buttonTextInfo

预订

error_code

int

错误码


public voidbookTicket(String name, String seat, String mobile,

String idcard, String username, String password, String train_no,

String station_train_code, String from_station_telecode,

String to_station_telecode, String from_station_name,

Stringto_station_name, String secretStr, JsonCallBack jsonCallBack)

返回码:

名称

类型

说明

reason

int

返回说明

result

dictionary

返回结果

error_code

int

错误码

错误码

说明

202201

车次不能为空

202202

查询不到车次的相关信息

202203

出发站或终点站不能为空

202204

查询不到结果

202205

错误的出发站名称

202206

错误的到达站名称

202207

查询不到余票相关数据哦

202208

错误的请求,请确认传递的参数正确

202209

请求12306网络错误,请重试

202210

12306账号密码错误

202211

邮箱不存在

202212

查询出错

202213

提交订单超时,请重试

202214

出票失败

202215

排队失败

202216

该车次无法预定

202217

不合法的座位类型



分享到:
评论

相关推荐

    聚合数据 Android 项目开发实战:

    2. **集成SDK**:聚合数据可能提供了Android SDK,便于开发者快速集成短信验证码功能。下载并导入SDK到你的Android项目中,按照官方文档进行配置。 3. **编写发送验证码的代码**:在用户输入手机号码后,通过调用...

    Unity 广告SDK Max聚合广告SDK

    Unity 广告SDK Max聚合广告SDK是专门为游戏开发者和应用开发者设计的一款强大的工具,它集成了AppLovin MAX的功能,让开发者能够在他们的Unity项目中轻松地实现广告的变现和优化。AppLovin MAX是一个领先的广告收益...

    android获取聚合数据笑话

    本项目"android获取聚合数据笑话"正是这样一个示例,它展示了如何利用Fastjson和XUtils这两个流行框架从聚合数据API中获取并解析笑话内容。下面我们将深入探讨这个项目涉及的关键知识点。 首先,聚合数据(JuHeData...

    基于ADmobile-ADSuyi广告聚合平台的Android SDKDemo设计源码

    该示例项目是基于ADmobile-ADSuyi广告聚合平台的Android SDKDemo设计源码,包含169个文件,包括68个XML配置文件、63个Java源文件、17个PNG图片文件、9个Markdown文件、3个Gradle配置文件、2个Git忽略文件、2个属性...

    聚合官方sdk

    聚合官方SDK,通常指的是一个集成了多种服务功能的软件开发工具包,旨在简化开发者的工作,让他们能够快速地在自己的应用程序中接入各种服务。这个SDK可能包括支付接口、登录认证、数据分析、推送通知等多种功能,...

    android手游sdk聚合打包全套工具(windows平台)

    android手游sdk聚合打包全套工具(windows平台) 解包:apktool d test.apk 重打包:apktool d test 签名:jarsigner -verbose -keystore test.jks -signedjar signtest.apk test.apk test 优化apk:zipalign -v 4 ...

    android手游sdk聚合打包全套工具(linux平台)

    android手游sdk聚合打包全套工具(linux平台) 解包:apktool d test.apk 重打包:apktool d test 签名:jarsigner -verbose -keystore test.jks -signedjar signtest.apk test.apk test 优化apk:zipalign -v 4 ...

    聚合SDK的jar包

    这个特定的jar包,名为"JuheData_AndroidSDK_v2.0.0_All",很可能是由聚合数据(Juhe Data)公司提供的,它是一个专注于移动互联网数据服务的平台。 首先,我们要理解什么是SDK(Software Development Kit)。SDK是...

    违章查询完成工程---聚合数据

    【标题】"违章查询完成工程---聚合数据"是一款基于Android Studio开发的移动应用程序,主要功能是为用户提供车辆违章信息查询服务。它采用先进的MVP(Model-View-Presenter)架构模式,结合Retrofit网络库和RxJava...

    Android开发,高德地图开启、关闭点聚合功能。

    在Android开发中,集成地图服务是一项常见的需求,而高德地图作为国内领先的地图服务提供商,其SDK提供了丰富的功能,包括点聚合(Cluster)功能。点聚合功能主要用于在地图上显示大量定位点时,通过自动聚合近似...

    Android-实现高德地图的marker聚合功能

    1. **依赖引入**:首先,我们需要在项目的build.gradle文件中引入高德地图SDK以及用于聚合的第三方库,如`com.google.maps.android:android-maps-utils`。 2. **自定义ClusterManager**:高德地图虽然没有内置的...

    Android之获取聚合数据的经纬度

    在Android开发中,获取地理位置信息是一项常见的任务,而聚合数据(AggData)提供了一种通过网络获取位置服务的方式。本教程将详细讲解如何利用聚合数据的API来获取经纬度,并进行JSON解析处理。 首先,我们需要...

    Android手机号码归属地查询demo

    本项目就是一个基于Volley框架实现的Android手机号码归属地查询的示例(demo)。Volley是Google推出的一个网络请求库,以其高效、易用的特性深受开发者喜爱。下面我们将详细探讨这个项目中的关键知识点。 首先,...

    IJPay聚合支付SDK v2.9.6.zip

    IJPay聚合支付SDK v2.9.6是一个针对IT专业人士,特别是那些从事支付系统开发的开发者的重要工具。这个SDK提供了一种便捷的方式,使开发者能够快速集成多种支付渠道,如支付宝、微信支付、银联等,从而提升开发效率并...

    基于PHP的聚合数据天气预报api调用示例.pdf

    本文档提供了基于PHP的聚合数据天气预报API调用示例,演示了如何使用PHP语言调用天气预报API,获取支持城市列表、根据城市获取天气预报、根据IP地址请求天气预报、根据GPS坐标请求天气、城市3小时天气预报等功能。...

    Android,百度地图标注及聚合

    在Android开发中,百度地图API是一个非常重要的工具,它提供了丰富的地图展示、定位、路径规划等功能,使得开发者能够轻松地将地图集成到自己的应用程序中。本篇主要探讨如何在Android应用中实现百度地图的标注及...

    万普聚合SDK

    【万普聚合SDK】是一款专为Android应用开发者设计的软件开发工具包,它集成了多种功能,旨在简化移动应用的开发过程,提升用户体验,并帮助开发者实现商业化目标。万普聚合SDK通常包含广告展示、用户行为追踪、数据...

    BaiduLBS_AndroidSDK_Docs.zip_andengine_it

    《深入解析BaiduLBS_AndroidSDK:基于AndEngine的地理定位与地图应用开发》 在移动应用开发领域,BaiduLBS(百度位置服务)为开发者提供了强大的地图、定位和路线规划等功能,极大地丰富了应用程序的用户体验。尤其...

    Android 穿山甲广告SDK接入demo——最新版本

    在Android开发中,穿山甲(Pangle)广告SDK是一个重要的组件,用于集成各类广告形式,如开屏、激励视频、全屏、插屏、横幅(Banner)以及信息流广告。本文将详细讲解如何使用最新的V3.5.5.0版本的穿山甲SDK进行集成...

    Android_JuheApiSDK使用文档(AndroidStudio)-副本[收集].pdf

    Android JuheApiSDK 是一个为 Android 应用程序提供的数据聚合SDK,旨在帮助开发者快速集成数据接口,提高应用程序的数据处理能力。下面是该SDK的使用说明文档概要: 版本说明 JuheApiSDK 的版本号为 V 2.6,发布...

Global site tag (gtag.js) - Google Analytics