1.聚合SDK是聚合数据平台,为移动开发者提供的免费数据接口.使用前请先到聚合平台(http://www.juhe.cn/)注册,申请相关数据.
2.下载聚合数据SDK,将开发包里的juhe_sdk_v_1_1.jar拷贝到libs根目录下,将libJuheSDK_v_1_0.so拷贝到libs\armeabi目录下,如图:
3. 根据接口说明文档找到以下方法:
Java代码
- /**
- * 获取车次
- *
- * @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中添加权限
Html代码
- <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
Html代码
- <meta-data
- android:name="com.thinkland.juheapi.openid"
- android:value="申请的openid" />
在使用前需要调用一次初始化方法
Java代码
- CommonFun.initialize(getApplicationContext());
导入相关包
Java代码
- import com.thinkland.juheapi.common.CommonFun;
- import com.thinkland.juheapi.common.JsonCallBack;
- import com.thinkland.juheapi.data.train.TrainData;
调用方法
Java代码
- //站站查询
- 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)
返回字段:
public void getS2S(String start,String end, String traintype,JsonCallBack jsonCallBack)
返回字段:
public void getTicketleft(String from, String to,String date, String traintype,JsonCallBack jsonCallBack)
返回字段:
publicvoid bookTrainNum(String from, String to,String date,String traintype, JsonCallBack jsonCallBack)
返回值:
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)
返回码: