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)
返回字段:
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)
返回碼: