首页 > 代码库 > 聚合数据Android SDK 12306火车票查询订票演示示例 编辑

聚合数据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. 根据接口说明文档找到以下方法:

Java代码  收藏代码

  1. /** 

  2.      * 获取车次 

  3.      *  

  4.      * @param name 

  5.      *            车次 

  6.      * @param jsonCallBack 

  7.      */  

  8.     public void getTrainNum(String name, JsonCallBack jsonCallBack)  

  9.   

  10. /** 

  11.      * 站到站查询 

  12.      *  

  13.      * @param start 

  14.      *            出发站 

  15.      * @param end 

  16.      *            终点站 

  17.      * @param traintype 

  18.      *            列车类型 

  19.      * @param jsonCallBack 

  20.      */  

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

  22.   

  23. /** 

  24.      * 12306实时余票查询 

  25.      *  

  26.      * @param from 

  27.      *            出发站 

  28.      * @param to 

  29.      *            到达站 

  30.      * @param date 

  31.      *            出发日期 默认今天 

  32.      * @param traintype 

  33.      *            车次类型 

  34.      * @param jsonCallBack 

  35.      */  

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

  37.   

  38. /** 

  39.      * 12306订票①:查询车次 

  40.      *  

  41.      * @param from 

  42.      *            出发站 

  43.      * @param to 

  44.      *            到达站 

  45.      * @param date 

  46.      *            出发日期 

  47.      * @param traintype 

  48.      *            车次类型 

  49.      * @param jsonCallBack 

  50.      */  

  51.     public void bookTrainNum(String from, String to, String date, String traintype, JsonCallBack jsonCallBack)   

  52.   

  53. /** 

  54.      *  

  55.      * @param name 

  56.      *            乘客姓名 

  57.      * @param seat 

  58.      *            座位类型:商务座:9,一等座:M,二等座:O,特等座:P,高级软卧:6,软卧:4,硬卧:3,软座:2,硬座:1,无座:0 

  59.      * @param mobile 

  60.      *            乘客手机号码 

  61.      * @param idcard 

  62.      *            乘客***号码 

  63.      * @param username 

  64.      *            12306官网账号 

  65.      * @param password 

  66.      *            12306官网密码 

  67.      * @param train_no 

  68.      *            步骤①对应车次返回值 

  69.      * @param station_train_code 

  70.      *            步骤①对应车次返回值 

  71.      * @param from_station_telecode 

  72.      *            步骤①对应车次返回值 

  73.      * @param to_station_telecode 

  74.      *            步骤①对应车次返回值 

  75.      * @param from_station_name 

  76.      *            步骤①对应车次返回值 

  77.      * @param to_station_name 

  78.      *            步骤①对应车次返回值 

  79.      * @param secretStr 

  80.      *            步骤①对应车次返回值 

  81.      * @param jsonCallBack 

  82.      */  

  83.     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中添加权限


Html代码  收藏代码

  1. <uses-permission android:name="android.permission.READ_PHONE_STATE" />  

  2. <uses-permission android:name="android.permission.INTERNET" />  

  3. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  

  4. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  

  5. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />  

  6. <uses-permission android:name="android.permission.READ_CONTACTS" />  


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


Html代码  收藏代码

  1. <meta-data  

  2.         android:name="com.thinkland.juheapi.openid"  

  3.         android:value="申请的openid" />  


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


Java代码  收藏代码

  1. CommonFun.initialize(getApplicationContext());  



导入相关包


Java代码  收藏代码

  1. import com.thinkland.juheapi.common.CommonFun;  

  2. import com.thinkland.juheapi.common.JsonCallBack;  

  3. import com.thinkland.juheapi.data.train.TrainData;  





调用方法

Java代码  收藏代码

  1. //站站查询  

  2.         TrainData trainData = TrainData.getInstance();  

  3.         trainData.getS2S("上海虹桥""苏州园区""G"new JsonCallBack() {  

  4.   

  5.             @Override  

  6.             public void jsonLoaded(JSONObject arg0) {  

  7.                 // TODO Auto-generated method stub  

  8.                 try {  

  9.                     int resultcode = arg0.getInt("resultcode");  

  10.                     if (resultcode == 200) {  

  11.                         JSONArray resultJson = arg0.getJSONArray("result");  

  12.                     }  

  13.                 } catch (JSONException e) {  

  14.                     // TODO Auto-generated catch block  

  15.                     e.printStackTrace();  

  16.                 }  

  17.             }  

  18.         });  





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


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