android 网络请求框架

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

你可能感兴趣的:(Android)