compile 'com.squareup.okhttp:okhttp-urlconnection:2.3.0'
compile 'com.squareup.okhttp:okhttp:2.3.0'
compile 'com.squareup.retrofit:retrofit:1.9.0'
NetWorkService.java
import com.newingscom.networkprotocol.entity.UploadCoordinateEnpity;
import retrofit.Callback;
import retrofit.http.POST;
import retrofit.http.Query;
/**
*/
public interface NetWorkService {
// @POST("/client/transToGps")
// void transToGps(@Query("url") String url, @Query("longitude") double longitude, @Query("latitude") double latitude,
// @Query("meid") String meid, @Query("model") String model, @Query("cfgv") String cfgv,
// @Query("imei") String imei, @Query("ip") String ip, @Query("sid") Integer sid, @Query("bid") Integer bid, @Query("nid") Integer nid, Callback callback);
@POST("/client/uploadCoordinate")
void uploadCoordinate(@Query("url") String url, @Query("type") Integer type, @Query("longitude") double longitude, @Query("latitude") double latitude,
@Query("meid") String meid, @Query("tel") String tel, @Query("iccid") String iccid, @Query("model") String model, @Query("cfgv") String cfgv,
@Query("imei") String imei, @Query("ip") String ip, @Query("imsi") String imsi, @Query("sid") Integer sid, @Query("bid") Integer bid, @Query("nid") Integer nid,
@Query("apList") String apList, @Query("cdma") Integer cdma, @Query("lon") double lon, @Query("lat") double lat, @Query("mcc") String mcc,
@Query("mnc") String mnc, @Query("lac") String lac, @Query("cellid") String cellid, @Query("rssi") String rssi,
Callback callback);
}
ProcessorHelper.java
import com.newingscom.networkprotocol.utils.common.NetworkProtocolConstant;
import com.squareup.okhttp.OkHttpClient;
import java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import retrofit.RestAdapter;
import retrofit.client.OkClient;
/**
* Created by leon on 12/27/14.
*/
@SuppressWarnings("unused")
public class ProcessorHelper {
@SuppressWarnings("null")
public static OkHttpClient configureClient(final OkHttpClient client) {
final TrustManager[] certs = new TrustManager[]{new X509TrustManager() {
@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}
@Override
public void checkServerTrusted(final X509Certificate[] chain,
final String authType) throws CertificateException {
}
@Override
public void checkClientTrusted(final X509Certificate[] chain,
final String authType) throws CertificateException {
}
}};
SSLContext ctx = null;
try {
ctx = SSLContext.getInstance("TLS");
ctx.init(null, certs, new SecureRandom());
} catch (final java.security.GeneralSecurityException ex) {
}
try {
final HostnameVerifier hostnameVerifier = new HostnameVerifier() {
@Override
public boolean verify(final String hostname,
final SSLSession session) {
return true;
}
};
client.setHostnameVerifier(hostnameVerifier);
client.setSslSocketFactory(ctx.getSocketFactory());
} catch (final Exception e) {
}
return client;
}
public static OkHttpClient createClient() {
final OkHttpClient client = new OkHttpClient();
return configureClient(client);
}
public static NetWorkService createWebHookService() {
final OkHttpClient client = ProcessorHelper.createClient();
final RestAdapter restAdapter = new RestAdapter.Builder().setLogLevel(RestAdapter.LogLevel.FULL)
.setEndpoint(NetworkProtocolConstant.MS_URL).setClient(new OkClient(client)).build();
return restAdapter.create(NetWorkService.class);
}
public static NetWorkService createUpdateService() {
final OkHttpClient client = ProcessorHelper.createClient();
final RestAdapter restAdapter = new RestAdapter.Builder().setLogLevel(RestAdapter.LogLevel.FULL)
.setEndpoint(NetworkProtocolConstant.MS_URL).setClient(new OkClient(client)).build();
return restAdapter.create(NetWorkService.class);
}
}
NetworkProtocolConstant.java
/**
* Created by Administrator on 2019/4/11 0011.
*/
public class NetworkProtocolConstant {
public static final String MS_URL = "https://app.iwingscom.com:60443/smartphone/";
}
NetWorkService service = ProcessorHelper.createWebHookService();
service.uploadCoordinate(locationConfig.getString("url"), type, 0, 0, simInfo.getMeid(), simInfo.getMobile(), simInfo.getIccid(), "HL2001", locationConfig.getString("cfgv"), simInfo.getImei(),
simInfo.getIp(), simInfo.getImsi(), simInfo.getSid(), simInfo.getBid(), simInfo.getNid(), new Gson().toJson(apList), simInfo.getCdma(), 0, 0, simInfo.getMcc()
, simInfo.getMnc(), simInfo.getLac(), simInfo.getCellid(), simInfo.getRssi(), new Callback() {
@Override
public void success(UploadCoordinateEnpity uploadCoordinateEnpity, Response response) {
if (uploadCoordinateEnpity != null) {
Log.e("zhaoming", JSONObject.toJSONString(uploadCoordinateEnpity));
if (uploadCoordinateEnpity.getRet_code() == 0) {
handler.removeMessages(0);
handler.sendEmptyMessageDelayed(0, locationConfig.getIntValue("period") * 60000);
} else if (uploadCoordinateEnpity.getRet_code() == 1) {
saveConfig(uploadCoordinateEnpity.getUrl(), uploadCoordinateEnpity.getTime_span(), uploadCoordinateEnpity.getCfgv());
handler.removeMessages(0);
handler.sendEmptyMessageDelayed(0, uploadCoordinateEnpity.getTime_span() * 60000);
}
uploadCount = 0;
} else {
handler.removeMessages(2);
handler.sendEmptyMessageDelayed(2, 30000);
}
}
@Override
public void failure(RetrofitError error) {
handler.removeMessages(2);
handler.sendEmptyMessageDelayed(2, 30000);
Log.e("zhaoming", "失败");
}
});
VoidResponse.java
public class VoidResponse {
//{"returnCode":"SUCCESS","resultMsg":"成功","resultCode":"0","data":{"token":"CB7999175F747C620A564F6593194FB906E742D6133DF32A","userId":5}}
private String returnCode;
private String resultCode;
private String resultMsg;
private String data;
/**
* @return The resultMsg
*/
public String getResultMsg() {
return resultMsg;
}
public String getResultCode() {
return resultCode;
}
public String getData() {
return data;
}
public String getReturnCode() {
return returnCode;
}
public void setReturnCode(String returnCode) {
this.returnCode = returnCode;
}
public void setResultCode(String resultCode) {
this.resultCode = resultCode;
}
public void setResultMsg(String resultMsg) {
this.resultMsg = resultMsg;
}
public void setData(String data) {
this.data = data;
}
public boolean isFunctionOK() {
if (resultCode.equals("0")) {
return true;
}
return false;
}
}