android 网络请求框架
16lz
2021-01-23
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; }}
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer