|
@@ -21,23 +21,28 @@ import static com.wdkl.ncs.android.component.nursehome.util.AppUpdateHelper.FILE
|
|
|
|
|
|
public class HttpHelper {
|
|
|
private final static String TAG = "HttpHelper";
|
|
|
+ private static OkHttpClient okHttpClient = null;
|
|
|
|
|
|
/**
|
|
|
* @param url 服务器地址
|
|
|
* @param file 所要上传的文件
|
|
|
*/
|
|
|
- public static void upload(String url, File file, final UploadCallback callback) {
|
|
|
- OkHttpClient client = new OkHttpClient();
|
|
|
+ public static void upload(String url, File file, Object tag, final UploadCallback callback) {
|
|
|
+ if (okHttpClient == null) {
|
|
|
+ okHttpClient = new OkHttpClient();
|
|
|
+ }
|
|
|
+
|
|
|
RequestBody requestBody = new MultipartBody.Builder()
|
|
|
.setType(MultipartBody.FORM)
|
|
|
.addFormDataPart("file", file.getName(), RequestBody.create(MediaType.parse("multipart/form-data"), file))
|
|
|
.build();
|
|
|
Request request = new Request.Builder()
|
|
|
.url(url)
|
|
|
+ .tag(tag)
|
|
|
.post(requestBody)
|
|
|
.build();
|
|
|
|
|
|
- client.newCall(request).enqueue(new Callback() {
|
|
|
+ okHttpClient.newCall(request).enqueue(new Callback() {
|
|
|
@Override
|
|
|
public void onFailure(Call call, IOException e) {
|
|
|
if (callback != null) {
|
|
@@ -63,9 +68,16 @@ public class HttpHelper {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- public static void download(String url, final DownloadListener listener) {
|
|
|
- Request request = new Request.Builder().url(url).build();
|
|
|
- OkHttpClient okHttpClient = new OkHttpClient();
|
|
|
+ public static void download(String url, Object tag, final DownloadListener listener) {
|
|
|
+ if (okHttpClient == null) {
|
|
|
+ okHttpClient = new OkHttpClient();
|
|
|
+ }
|
|
|
+
|
|
|
+ Request request = new Request.Builder()
|
|
|
+ .url(url)
|
|
|
+ .tag(tag)
|
|
|
+ .build();
|
|
|
+
|
|
|
okHttpClient.newCall(request).enqueue(new Callback() {
|
|
|
@Override
|
|
|
public void onFailure(Call call, IOException e) {
|
|
@@ -122,6 +134,22 @@ public class HttpHelper {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ public static void cancelRequestByTag(Object tag) {
|
|
|
+ if (okHttpClient != null && tag != null) {
|
|
|
+ for (Call call : okHttpClient.dispatcher().queuedCalls()) {
|
|
|
+ if (tag.equals(call.request().tag())) {
|
|
|
+ call.cancel();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for (Call call : okHttpClient.dispatcher().runningCalls()) {
|
|
|
+ if (tag.equals(call.request().tag())) {
|
|
|
+ call.cancel();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private static String isHaveExistDir(File downloadFile, File sonFile) throws IOException {
|
|
|
Log.d("download", "downloadFile.mkdirs()==" + downloadFile.mkdirs());
|
|
|
Log.d("download", "sonFile.mkdir()==" + sonFile.mkdir());
|