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;    }}

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. Android各层推荐开发书籍及参考资料
  2. android个人学习笔记——RatingBar
  3. Android中画面的布局工具
  4. Android版本和API Level
  5. Android基础UI之ListView
  6. Android(安卓)Shape详解
  7. Android(安卓)TextView控件
  8. Android(安卓)资源文件中@、@android:typ
  9. Android系统中TextView实现滚动效果
  10. XE8 (RTM) Android(安卓)SDK 更新安装