正在查看: 六分钟步行测试管理软件 v1.1.0.2112120029 应用的 RetrofitRequest.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 六分钟步行测试管理软件 v1.1.0.2112120029 应用的 RetrofitRequest.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package cn.neoprint.padmonitor.network.uploadsixminreport;
import android.content.Context;
import android.util.Log;
import android.widget.Toast;
import cn.neoprint.padmonitor.R;
import cn.neoprint.padmonitor.data.entity.UploadCloud;
import com.google.gson.Gson;
import com.sayeasytech.base.utils.NetworkUtil;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Type;
import java.net.ConnectException;
import java.net.SocketTimeoutException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.X509TrustManager;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class RetrofitRequest {
private static int TIME_OUT = 30;
public static String URL_BASE;
public static OkHttpClient client;
private static Retrofit retrofit;
private static final SSLSocketFactory sslSocketFactory;
private static X509TrustManager trustAllCert = new X509TrustManager() {
@Override
public void checkClientTrusted(X509Certificate[] x509CertificateArr, String str) throws CertificateException {
}
@Override
public void checkServerTrusted(X509Certificate[] x509CertificateArr, String str) throws CertificateException {
}
@Override
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
};
public interface DownloadHandler {
void onBody(ResponseBody responseBody);
void onError();
}
static {
SSLSocketFactoryCompat sSLSocketFactoryCompat = new SSLSocketFactoryCompat(trustAllCert);
sslSocketFactory = sSLSocketFactoryCompat;
URL_BASE = "http://192.168.2.180:8080/";
client = new OkHttpClient.Builder().sslSocketFactory(sSLSocketFactoryCompat, trustAllCert).connectTimeout(TIME_OUT, TimeUnit.SECONDS).readTimeout(TIME_OUT, TimeUnit.SECONDS).writeTimeout(TIME_OUT, TimeUnit.SECONDS).build();
}
public static void init(boolean z) {
if (z) {
URL_BASE = "http://192.168.2.180:8081/";
}
retrofit = new Retrofit.Builder().baseUrl(URL_BASE).addConverterFactory(GsonConverterFactory.create()).client(client).build();
}
public static <T extends BaseResult> void sendPostRequestPSK(String str, final Type type, final ResultHandler<T> resultHandler, String str2) {
if (!NetworkUtil.isNetworkConnected(resultHandler.context)) {
resultHandler.onAfterFailure();
return;
}
Retrofit retrofit2 = retrofit;
if (retrofit2 == null) {
Log.e("Log", "RetrofitRequest.init()-请初始化后再使用");
return;
}
PostRequest postRequest = (PostRequest) retrofit2.create(PostRequest.class);
System.out.println("---上传数据:" + str);
postRequest.postMapNew(URL_BASE + "fileResources/uploadData", (UploadCloud) new Gson().fromJson(str, UploadCloud.class)).enqueue(new Callback<ResponseBody>() {
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
ResultHandler.this.onBeforeResult();
try {
System.out.println("---x-" + response.toString());
ResponseBody responseBody = (ResponseBody) response.body();
if (responseBody == null) {
ResultHandler.this.onServerError();
ResultHandler.this.onAfterFailure();
} else {
String string = responseBody.string();
System.out.println("----返回数据:" + string);
ResultHandler.this.onResult((BaseResult) new Gson().fromJson(string, type));
}
} catch (IOException e) {
e.printStackTrace();
ResultHandler.this.onFailure(e);
ResultHandler.this.onAfterFailure();
}
}
public void onFailure(Call<ResponseBody> call, Throwable th) {
th.printStackTrace();
System.out.println("----onFailure" + call.toString());
ResultHandler.this.onFailure(th);
ResultHandler.this.onAfterFailure();
}
});
}
public static <T extends BaseResult> void sendPostRequest(String str, UploadCloud uploadCloud, final Type type, final ResultHandler<T> resultHandler, String str2) {
if (!NetworkUtil.isNetworkConnected(resultHandler.context)) {
resultHandler.onAfterFailure();
return;
}
PostRequest postRequest = (PostRequest) retrofit.create(PostRequest.class);
uploadCloud.setApiKey(str2);
uploadCloud.setFileType("pdf");
uploadCloud.setFileResources("六分钟步行监测记录报告");
System.out.println("---上传数据:" + new Gson().toJson(uploadCloud));
postRequest.postMapNew(str, uploadCloud).enqueue(new Callback<ResponseBody>() {
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
ResultHandler.this.onBeforeResult();
try {
System.out.println("---x-" + response.toString());
ResponseBody responseBody = (ResponseBody) response.body();
if (responseBody == null) {
ResultHandler.this.onServerError();
ResultHandler.this.onAfterFailure();
} else {
String string = responseBody.string();
System.out.println("----返回数据:" + string);
ResultHandler.this.onResult((BaseResult) new Gson().fromJson(string, type));
}
} catch (IOException e) {
e.printStackTrace();
ResultHandler.this.onFailure(e);
ResultHandler.this.onAfterFailure();
}
}
public void onFailure(Call<ResponseBody> call, Throwable th) {
th.printStackTrace();
System.out.println("----onFailure" + call.toString());
ResultHandler.this.onFailure(th);
ResultHandler.this.onAfterFailure();
}
});
}
private static Map<String, RequestBody> generateRequestBody(Map<String, String> map, File file) {
HashMap hashMap = new HashMap();
Iterator<String> it = map.keySet().iterator();
while (true) {
String str = "";
if (it.hasNext()) {
String next = it.next();
MediaType parse = MediaType.parse("text/plain;charset=UTF-8");
if (map.get(next) != null) {
str = map.get(next);
}
hashMap.put(next, RequestBody.create(parse, str));
} else {
hashMap.put("file\"; filename=\"" + file.getName() + "", RequestBody.create(MediaType.parse("multipart/form-data;charset=UTF-8"), file));
return hashMap;
}
}
}
private static Map<String, RequestBody> addMultiPart(Map<String, RequestBody> map, String str, Object obj) {
if (obj instanceof String) {
map.put(str, RequestBody.create(MediaType.parse("text/plain;charset=UTF-8"), (String) obj));
} else if (obj instanceof File) {
File file = (File) obj;
map.put(str + "\"; filename=\"" + file.getName() + "", RequestBody.create(MediaType.parse("multipart/form-data;charset=UTF-8"), file));
}
return map;
}
public static abstract class ResultHandler<T> {
Context context;
public abstract void onAfterFailure();
public abstract void onBeforeResult();
public abstract void onResult(T t);
public ResultHandler(Context context) {
this.context = context;
}
public boolean isNetDisconnected() {
return NetworkUtil.isNetworkConnected(this.context);
}
public void onServerError() {
Toast.makeText(this.context, R.string.net_server_error, 0).show();
}
public void onFailure(Throwable th) {
if ((th instanceof SocketTimeoutException) || (th instanceof ConnectException)) {
if (NetworkUtil.isNetworkConnected(this.context)) {
Toast.makeText(this.context, R.string.net_server_connected_error, 0).show();
return;
} else {
Toast.makeText(this.context, R.string.net_not_connected, 0).show();
return;
}
}
if (th instanceof Exception) {
th.printStackTrace();
Toast.makeText(this.context, R.string.net_unknown_error, 0).show();
}
}
}
}