From 65a6bde49652558ada5daa15eca03d5061465a00 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 27 十二月 2024 18:00:46 +0800
Subject: [PATCH] 1.图片上传进度相关代码。 2.修复地图定位图标不居中问题。
---
app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java | 51 ++++++++++++++++++++++++++++++++-------------------
1 files changed, 32 insertions(+), 19 deletions(-)
diff --git a/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java b/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java
index 12f0033..d0d399a 100644
--- a/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java
+++ b/app/src/main/java/com/dayu/pipirrapp/net/ApiManager.java
@@ -5,10 +5,12 @@
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
+import android.text.TextUtils;
import android.util.Log;
import com.dayu.pipirrapp.MyApplication;
import com.dayu.pipirrapp.activity.LoginActivity;
+import com.dayu.pipirrapp.adapter.AddPictureAdapter;
import com.dayu.pipirrapp.bean.net.CodeResult;
import com.dayu.pipirrapp.bean.net.UplodFileState;
import com.dayu.pipirrapp.bean.net.WeatherResponse;
@@ -16,6 +18,7 @@
import com.dayu.pipirrapp.net.subscribers.CodeListener;
import com.dayu.pipirrapp.net.subscribers.ProgressSubscriber;
import com.dayu.pipirrapp.net.subscribers.SubscriberListener;
+import com.dayu.pipirrapp.net.upload.IMGProgressLisener;
import com.dayu.pipirrapp.net.upload.ProgressListener;
import com.dayu.pipirrapp.net.upload.ProgressRequestBody;
import com.dayu.pipirrapp.net.upload.UploadFileListener;
@@ -145,7 +148,12 @@
}
BaseResponse<T> response = new BaseResponse<>();
response.setCode(tem.getCode());
- response.setMsg(tem.getMsg());
+ if (!TextUtils.isEmpty(tem.getMsg())){
+ response.setMsg(tem.getMsg());
+ }else {
+ response.setMsg("");
+ }
+
if (tClass != null) {
if (tem.getContent() instanceof Map) {
@@ -280,6 +288,10 @@
}
+// public void uploadFile(final Context context, final UplodFileState uplodData, final UploadFileListener listener) {
+// uploadFile(context, uplodData, listener, null);
+// }
+
/**
* 涓婁紶鏂囦欢
*
@@ -287,22 +299,24 @@
* @param uplodData
* @param listener
*/
- public void uploadFile(final Context context, final UplodFileState uplodData, final UploadFileListener listener) {
-
+ public void uploadFile(final Context context, final UplodFileState uplodData, final UploadFileListener listener, final AddPictureAdapter adapter) {
+ MyLog.d("progressRequestBody>>>" + "path:" + uplodData.getFilePath() );
File file = new File(uplodData.getFilePath());
RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
- ProgressRequestBody progressRequestBody = new ProgressRequestBody(requestBody, new ProgressListener() {
- @Override
- public void onProgress(long bytesWritten, long contentLength, boolean done) {
- // 鏇存柊杩涘害鏉℃垨杩涜鍏朵粬鎿嶄綔
- int progress = (int) (100 * bytesWritten / contentLength);
- // 渚嬪锛氭洿鏂� ProgressBar 鎴栨樉绀鸿繘搴�
- runOnUiThread(() -> {
- // 杩涘害鏉℃洿鏂颁唬鐮�
- // progressBar.setProgress(progress);
- MyLog.d("progressRequestBody>>>" + "涓婁紶杩涘害: " + progress + "%");
- });
- }
+ ProgressRequestBody progressRequestBody = new ProgressRequestBody(requestBody, (bytesWritten, contentLength, done) -> {
+// MyLog.d("progressRequestBody>>>" + "bytesWritten:" + bytesWritten + ">>>contentLength: " + contentLength );
+ // 鏇存柊杩涘害鏉℃垨杩涜鍏朵粬鎿嶄綔
+ int progress = (int) (100 * bytesWritten / contentLength);
+ // 渚嬪锛氭洿鏂� ProgressBar 鎴栨樉绀鸿繘搴�
+ runOnUiThread(() -> {
+ uplodData.setProgress(progress);
+ // 杩涘害鏉℃洿鏂颁唬鐮�
+ if (adapter != null && uplodData.getAdapterPosition() != -1) {
+ adapter.updateProgress(uplodData);
+ }
+ MyLog.d("progressRequestBody>>>" + "adapterPosition:" + uplodData.getAdapterPosition() + ">>>涓婁紶杩涘害: " + progress + "%");
+ });
+
});
MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getName(), progressRequestBody);
RequestBody description = RequestBody.create(MediaType.parse("text/plain"), "file description");
@@ -314,14 +328,14 @@
if (response.body() != null) {
if (response.body().isSuccess()) {
uplodData.setState(1);
- uplodData.setId(((LinkedTreeMap) response.body().getContent()).get("id").toString());
+ uplodData.setPostId(((LinkedTreeMap) response.body().getContent()).get("id").toString());
uplodData.setWebPath(((LinkedTreeMap) response.body().getContent()).get("webPath").toString());
listener.onBack(uplodData);
} else {
if (uplodData.getNumber() <= uplodFilerepeatSize) {
uplodData.setNumber(uplodData.getNumber() + 1);
uplodData.setState(2);
- uploadFile(context, uplodData, listener);
+ uploadFile(context, uplodData, listener, adapter);
} else {
listener.onBack(uplodData);
}
@@ -334,7 +348,7 @@
if (uplodData.getNumber() <= uplodFilerepeatSize) {
uplodData.setNumber(uplodData.getNumber() + 1);
uplodData.setState(2);
- uploadFile(context, uplodData, listener);
+ uploadFile(context, uplodData, listener, adapter);
} else {
listener.onBack(uplodData);
}
@@ -342,7 +356,6 @@
});
}
-
/**
--
Gitblit v1.8.0