聚合数据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)

返回字段:

wKioL1Q4uznARzFHAAKryxuzI4c456.jpg

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

返回字段:

wKiom1Q4uwPgvjf2AAGhkYEdaGY880.jpg

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

返回字段:

wKioL1Q4u7KzVgbhAAHHrXVWpVk998.jpg

wKiom1Q4u3uwl2dXAAFQYflXziA183.jpg

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

返回值:

wKiom1Q4u-GD0vIsAAG3np2f11Y217.jpg

wKioL1Q4vBnBTfrhAAEwEFE2e58680.jpg

wKiom1Q4u-Lit30UAAEup-AKM5g466.jpg

wKioL1Q4vBnAyZB0AAEH-BaxLaE695.jpg

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)

返回码:

wKiom1Q4vCHwXNx7AABzTjkvT9k966.jpg

wKiom1Q4vCGR0deqAAIxWHkiKn4734.jpg

 

转载于:https://www.cnblogs.com/annie00/p/6101533.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值