diff --git a/.idea/misc.xml b/.idea/misc.xml
index 02fe1c1..3e9a0cf 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -18,6 +18,7 @@
+
diff --git a/app/build.gradle b/app/build.gradle
index 7acef0f..adc8148 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -74,7 +74,11 @@ dependencies {
implementation 'org.ligboy.retrofit2:converter-fastjson-android:2.1.0'
//图片选择器
- implementation 'com.github.donkingliang:ImageSelector:2.2.1'
+ implementation 'io.github.lucksiege:pictureselector:v3.10.2'
+ // image compress library (Not necessary)
+ implementation 'io.github.lucksiege:compress:v3.10.2'
+ // uCrop library
+ implementation 'io.github.lucksiege:ucrop:v3.10.2'
//浮动按钮
implementation 'gdut.bsx:xdraglayout:1.1.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4e5bc37..a06dae9 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -66,6 +66,8 @@
android:resource="@xml/file_paths"/>
+
+
images = data.getStringArrayListExtra(
- ImageSelector.SELECT_RESULT);
- String url = images.get(0);
- Handler handler = new Handler(Looper.getMainLooper()){
- @Override
- public void handleMessage(@NonNull Message msg) {
- super.handleMessage(msg);
- bundle = (Bundle) msg.obj;
- if(bundle.getBoolean(UrlConstants.IS_IMG_UPLOAD_SUCCESS)){
- System.out.println("refreshData..................");
- getIntent().putExtras(bundle);
- refreshData();
- //表示照片添加成功
- isSuccessCoursePhoto = true;
- }else{
- Toast.makeText(CreateCourse.this, "修改失败", Toast.LENGTH_SHORT).show();
- }
- }
- };
- ImgUploadUtil.userImgUpload(bundle, handler, url, ModelFieldConstants.COURSE_PHOTO);
- /**
- * 是否是来自于相机拍照的图片,
- * 只有本次调用相机拍出来的照片,返回时才为true。
- * 当为true时,图片返回的结果有且只有一张图片。
- */
- boolean isCameraImage = data.getBooleanExtra(ImageSelector.IS_CAMERA_IMAGE, false);
- }
- }
-
/**
* 初始化活动
*/
@@ -209,14 +180,33 @@ public class CreateCourse extends AppCompatActivity {
refreshData();
+ // 用于图片上传成功之后刷新界面
+ imgUploadHandler = new Handler(Looper.getMainLooper()){
+ @Override
+ public void handleMessage(@NonNull Message msg) {
+ super.handleMessage(msg);
+ bundle = (Bundle) msg.obj;
+ if(bundle.getBoolean(UrlConstants.IS_IMG_UPLOAD_SUCCESS)){
+ System.out.println("refreshData..................");
+ getIntent().putExtras(bundle);
+ refreshData();
+ //表示照片添加成功
+ isSuccessCoursePhoto = true;
+ }else{
+ Toast.makeText(CreateCourse.this, "修改失败", Toast.LENGTH_SHORT).show();
+ }
+ }
+ };
+
setClickListener();
}
private void refreshData(){
+
bundle = getIntent().getExtras();
String courseImg = bundle.getString(ModelFieldConstants.COURSE_PHOTO);
- if(courseImg != null){
+ if(courseImg != null){ // 将图片加载出来
Glide.with(getApplicationContext())
.load(courseImg)
.into(ivAddImg);
@@ -233,109 +223,86 @@ public class CreateCourse extends AppCompatActivity {
* 添加点击事件
*/
private void setClickListener(){
- startDatePicker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener() {
- @Override
- public void onPositiveButtonClick(Long selection) {
- String startFormDate = CommonUtils.stampToDate(String.valueOf(selection), "yyyy年MM月dd日");
- etStartTime.setText(startFormDate);
- isSuccessCourseStartTime = true;
- Bundle bundle1 = getIntent().getExtras();
- bundle1.putLong(ModelFieldConstants.START_TIME, selection);
- getIntent().putExtras(bundle1);
- }
+ startDatePicker.addOnPositiveButtonClickListener(selection -> {
+ String startFormDate = CommonUtils.stampToDate(String.valueOf(selection), "yyyy年MM月dd日");
+ etStartTime.setText(startFormDate);
+ isSuccessCourseStartTime = true;
+ Bundle bundle1 = getIntent().getExtras();
+ bundle1.putLong(ModelFieldConstants.START_TIME, selection);
+ getIntent().putExtras(bundle1);
});
- endDatePicker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener() {
- @Override
- public void onPositiveButtonClick(Long selection) {
- String endFormDate = CommonUtils.stampToDate(String.valueOf(selection), "yyyy年MM月dd日");
- etEndTime.setText(endFormDate);
- isSuccessCourseEndTime = true;
- Bundle bundle1 = getIntent().getExtras();
- bundle1.putLong(ModelFieldConstants.END_TIME, selection);
- getIntent().putExtras(bundle1);
- }
+ endDatePicker.addOnPositiveButtonClickListener(selection -> {
+ String endFormDate = CommonUtils.stampToDate(String.valueOf(selection), "yyyy年MM月dd日");
+ etEndTime.setText(endFormDate);
+ isSuccessCourseEndTime = true;
+ Bundle bundle1 = getIntent().getExtras();
+ bundle1.putLong(ModelFieldConstants.END_TIME, selection);
+ getIntent().putExtras(bundle1);
});
//点击添加图片
- ivAddImg.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- //调用第三方开源库,单选并剪裁
- ImageSelector.builder()
- .useCamera(false) // 设置是否使用拍照
- .setCrop(true) // 设置是否使用图片剪切功能。
- .setCropRatio(1.0f) // 图片剪切的宽高比,默认1.0f。宽固定为手机屏幕的宽。
- .setSingle(true) //设置是否单选
- .canPreview(true) //是否可以预览图片,默认为true
- .start(CreateCourse.this, 100); // 打开相册
- }
+ ivAddImg.setOnClickListener(v -> {
+ // 调用第三方开源图片库
+ PictureSelector.create(this)
+ .openGallery(SelectMimeType.ofImage())
+ .setImageEngine(GlideEngine.createGlideEngine()) // 图片加载引擎
+ .setMaxSelectNum(1)// 最大图片选择数量 int
+ .setImageSpanCount(4)// 每行显示个数 int
+ .setSelectionMode(SelectModeConfig.SINGLE)// 多选 or 单选
+ .isPreviewImage(true)// 是否可预览图片 true or false
+ .isSelectZoomAnim(true)// 图片列表点击 缩放效果 默认true
+ .isGif(false) //是否显示gif文件
+ .isWebp(false) //是否显示webp文件
+ .isBmp(false) //是否显示bmp文件
+ .isMaxSelectEnabledMask(true) //达到最大选择数是否开启禁选蒙层
+ .forResult(new OnResultCallbackListener() {
+ @Override
+ public void onResult(ArrayList result) { // 选择图片后回调
+ LocalMedia localMedia = result.get(0);
+ ImgUploadUtil.userImgUpload(bundle, imgUploadHandler, localMedia.getRealPath(), ModelFieldConstants.COURSE_PHOTO);
+ }
+ @Override
+ public void onCancel() { } // 取消
+ });
});
//课程开始时间
- etStartTime.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if(!startDatePicker.isAdded()){
- startDatePicker.show(getSupportFragmentManager(), "Hello");
- }
+ etStartTime.setOnClickListener(v -> {
+ if(!startDatePicker.isAdded()){
+ startDatePicker.show(getSupportFragmentManager(), "Hello");
}
});
//课程结束时间
- etEndTime.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if(!endDatePicker.isAdded()){
- endDatePicker.show(getSupportFragmentManager(), "Hello");
- }
-
+ etEndTime.setOnClickListener(v -> {
+ if(!endDatePicker.isAdded()){
+ endDatePicker.show(getSupportFragmentManager(), "Hello");
}
+
});
//刷新当前时间
- etCreateTime.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- long currentDate = System.currentTimeMillis();
- String curFormDate = CommonUtils.stampToDate(String.valueOf(currentDate), "yyyy年MM月dd日");
- etCreateTime.setText(curFormDate);
- isSuccessCourseCreateTime = true;
- }
+ etCreateTime.setOnClickListener(v -> {
+ long currentDate = System.currentTimeMillis();
+ String curFormDate = CommonUtils.stampToDate(String.valueOf(currentDate), "yyyy年MM月dd日");
+ etCreateTime.setText(curFormDate);
+ isSuccessCourseCreateTime = true;
});
//课程状态选择
- etStatus.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String[] singleItems = {"未结课", "已结课"};
- int checkedItem = "未结课".equals(etStatus.getText().toString()) ? 0 : 1;
-
- MaterialAlertDialogBuilder materialAlertDialogBuilder = new MaterialAlertDialogBuilder(CreateCourse.this)
- .setTitle("请选择课程授课状态")
- .setNeutralButton(getString(R.string.cancel), new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
-
- }
- })
- .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- etStatus.setText(singleItems[bundle.getInt("checkedItem")]);
- }
- })
- .setSingleChoiceItems(singleItems, checkedItem, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- bundle.putInt("checkedItem", which);
- }
- });
- materialAlertDialogBuilder.show();
- }
+ etStatus.setOnClickListener(v -> {
+ String[] singleItems = {"未结课", "已结课"};
+ int checkedItem = "未结课".equals(Objects.requireNonNull(etStatus.getText()).toString()) ? 0 : 1;
+
+ MaterialAlertDialogBuilder materialAlertDialogBuilder = new MaterialAlertDialogBuilder(CreateCourse.this)
+ .setTitle("请选择课程授课状态")
+ .setNeutralButton(getString(R.string.cancel), (dialog, which) -> {
+
+ })
+ .setPositiveButton(getString(R.string.ok), (dialog, which) ->
+ etStatus.setText(singleItems[bundle.getInt("checkedItem")]))
+ .setSingleChoiceItems(singleItems, checkedItem, (dialog, which) ->
+ bundle.putInt("checkedItem", which));
+ materialAlertDialogBuilder.show();
});
//返回上一个活动
- abIvTitle.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
- }
- });
+ abIvTitle.setOnClickListener(v -> finish());
}
/**
diff --git a/app/src/main/java/com/example/stlink/activitys/fragmentChild/activityUserInfo/UserInfoDetail.java b/app/src/main/java/com/example/stlink/activitys/fragmentChild/activityUserInfo/UserInfoDetail.java
index ad79730..254fd87 100644
--- a/app/src/main/java/com/example/stlink/activitys/fragmentChild/activityUserInfo/UserInfoDetail.java
+++ b/app/src/main/java/com/example/stlink/activitys/fragmentChild/activityUserInfo/UserInfoDetail.java
@@ -1,17 +1,11 @@
package com.example.stlink.activitys.fragmentChild.activityUserInfo;
-import android.Manifest;
import android.annotation.SuppressLint;
import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.location.LocationManager;
-import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
-import android.provider.Settings;
-import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
@@ -22,19 +16,21 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
-import androidx.core.content.ContextCompat;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestOptions;
-import com.donkingliang.imageselector.utils.ImageSelector;
import com.example.stlink.R;
-import com.example.stlink.activitys.MapActivity;
-import com.example.stlink.activitys.fragmentChild.activityTeaHome.CreateSign;
+import com.example.stlink.configs.GlideEngine;
import com.example.stlink.model.constants.ModelFieldConstants;
import com.example.stlink.model.constants.UrlConstants;
import com.example.stlink.utils.CommonUtils;
import com.example.stlink.utils.activityUtil.ImgUploadUtil;
+import com.luck.picture.lib.basic.PictureSelector;
+import com.luck.picture.lib.config.SelectMimeType;
+import com.luck.picture.lib.config.SelectModeConfig;
+import com.luck.picture.lib.entity.LocalMedia;
+import com.luck.picture.lib.interfaces.OnResultCallbackListener;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -66,9 +62,11 @@ public class UserInfoDetail extends AppCompatActivity {
private Bundle bundle;
+ private Handler imgUploadHandler;
+
private ActivityResultLauncher intentActivityResultLauncher;
- private ArrayList arrayList;
+// private ArrayList arrayList;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -114,50 +112,27 @@ public class UserInfoDetail extends AppCompatActivity {
assert data != null;
getIntent().putExtras(data.getExtras());
refreshData();
- }else if (resultCode == 100){
- assert data != null;
- ArrayList images = data.getStringArrayListExtra(
- ImageSelector.SELECT_RESULT);
-
}
});
refreshData();
- initOnClickListener();
- }
-
- //用于图片选择器选择图片之后的回调,来完成图片上传和刷新本地
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (requestCode == 100 && data != null) {
- //获取选择器返回的数据
- ArrayList images = data.getStringArrayListExtra(
- ImageSelector.SELECT_RESULT);
- String url = images.get(0);
- Handler handler = new Handler(Looper.getMainLooper()){
- @Override
- public void handleMessage(@NonNull Message msg) {
- super.handleMessage(msg);
- bundle = (Bundle) msg.obj;
- if(bundle.getBoolean(UrlConstants.IS_IMG_UPLOAD_SUCCESS)){
- System.out.println("refreshData..................");
- getIntent().putExtras(bundle);
- refreshData();
- }else{
- Toast.makeText(UserInfoDetail.this, "修改失败", Toast.LENGTH_SHORT).show();
- }
+ imgUploadHandler = new Handler(Looper.getMainLooper()){
+ @Override
+ public void handleMessage(@NonNull Message msg) {
+ super.handleMessage(msg);
+ bundle = (Bundle) msg.obj;
+ if(bundle.getBoolean(UrlConstants.IS_IMG_UPLOAD_SUCCESS)){
+ System.out.println("refreshData..................");
+ getIntent().putExtras(bundle);
+ refreshData();
+ }else{
+ Toast.makeText(UserInfoDetail.this, "修改失败", Toast.LENGTH_SHORT).show();
}
- };
- ImgUploadUtil.userImgUpload(bundle, handler, url, ModelFieldConstants.AVATAR);
- /**
- * 是否是来自于相机拍照的图片,
- * 只有本次调用相机拍出来的照片,返回时才为true。
- * 当为true时,图片返回的结果有且只有一张图片。
- */
- boolean isCameraImage = data.getBooleanExtra(ImageSelector.IS_CAMERA_IMAGE, false);
- }
+ }
+ };
+
+ initOnClickListener();
}
private void refreshData(){
@@ -168,7 +143,7 @@ public class UserInfoDetail extends AppCompatActivity {
String userNameMsg = (String) bundle.get(ModelFieldConstants.USER_NAME);
String realNameMsg = (String) bundle.get(ModelFieldConstants.REAL_NAME);
Long idNumberMsg = (Long) bundle.get(ModelFieldConstants.ID_NUMBER);
- Boolean sexMsg = bundle.getBoolean(ModelFieldConstants.GENDER);
+ boolean sexMsg = bundle.getBoolean(ModelFieldConstants.GENDER);
Long createTimeMsg = (Long) bundle.get(ModelFieldConstants.CREATE_TIME);
String emailMsg = (String) bundle.get(ModelFieldConstants.EMAIL);
String phoneMsg = (String) bundle.get(ModelFieldConstants.PHONE);
@@ -181,7 +156,7 @@ public class UserInfoDetail extends AppCompatActivity {
Glide.with(getApplicationContext())
.load(avatar)
//添加圆角
- .apply(new RequestOptions().bitmapTransform(new RoundedCorners(30)))
+ .apply(RequestOptions.bitmapTransform(new RoundedCorners(30)))
.into(ivHeadImg);
}
if(schoolName != null){
@@ -221,104 +196,92 @@ public class UserInfoDetail extends AppCompatActivity {
*/
public void initOnClickListener(){
//头像
- clHeadImg.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- //调用第三方开源库,单选并剪裁
- ImageSelector.builder()
- .useCamera(true) // 设置是否使用拍照
- .setCrop(true) // 设置是否使用图片剪切功能。
- .setCropRatio(1.0f) // 图片剪切的宽高比,默认1.0f。宽固定为手机屏幕的宽。
- .setSingle(true) //设置是否单选
- .canPreview(true) //是否可以预览图片,默认为true
- .start(UserInfoDetail.this, 100); // 打开相册
- }
+ clHeadImg.setOnClickListener(v -> {
+ // 调用第三方开源图片库
+ PictureSelector.create(this)
+ .openGallery(SelectMimeType.ofImage())
+ .setImageEngine(GlideEngine.createGlideEngine()) // 图片加载引擎
+ .setMaxSelectNum(1)// 最大图片选择数量 int
+ .setImageSpanCount(4)// 每行显示个数 int
+ .setSelectionMode(SelectModeConfig.SINGLE)// 多选 or 单选
+ .isPreviewImage(true)// 是否可预览图片 true or false
+ .isSelectZoomAnim(true)// 图片列表点击 缩放效果 默认true
+ .isGif(false) //是否显示gif文件
+ .isWebp(false) //是否显示webp文件
+ .isBmp(false) //是否显示bmp文件
+ .isMaxSelectEnabledMask(true) //达到最大选择数是否开启禁选蒙层
+ .forResult(new OnResultCallbackListener() {
+ @Override
+ public void onResult(ArrayList result) {
+ LocalMedia localMedia = result.get(0);
+ String path = localMedia.getRealPath();
+ ImgUploadUtil.userImgUpload(bundle, imgUploadHandler, path, ModelFieldConstants.AVATAR);
+ }
+
+ @Override
+ public void onCancel() {
+
+ }
+ });
});
- clUserName.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(UserInfoDetail.this, ModifyUserInfo.class);
- Bundle bundle = getIntent().getExtras();
- bundle.putString(ModelFieldConstants.TO_BE_MODIFY, ModelFieldConstants.USER_NAME);
- intent.putExtras(bundle);
+ clUserName.setOnClickListener(v -> {
+ Intent intent = new Intent(UserInfoDetail.this, ModifyUserInfo.class);
+ Bundle bundle = getIntent().getExtras();
+ bundle.putString(ModelFieldConstants.TO_BE_MODIFY, ModelFieldConstants.USER_NAME);
+ intent.putExtras(bundle);
- intentActivityResultLauncher.launch(intent);
- }
+ intentActivityResultLauncher.launch(intent);
});
- clSchoolName.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(UserInfoDetail.this, ModifyUserInfo.class);
- Bundle bundle = getIntent().getExtras();
- bundle.putString(ModelFieldConstants.TO_BE_MODIFY, ModelFieldConstants.COLLEGE_NAME);
- intent.putExtras(bundle);
- intentActivityResultLauncher.launch(intent);
- }
+ clSchoolName.setOnClickListener(v -> {
+ Intent intent = new Intent(UserInfoDetail.this, ModifyUserInfo.class);
+ Bundle bundle = getIntent().getExtras();
+ bundle.putString(ModelFieldConstants.TO_BE_MODIFY, ModelFieldConstants.COLLEGE_NAME);
+ intent.putExtras(bundle);
+ intentActivityResultLauncher.launch(intent);
});
- clRealName.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(UserInfoDetail.this, ModifyUserInfo.class);
- Bundle bundle = getIntent().getExtras();
- bundle.putString(ModelFieldConstants.TO_BE_MODIFY, ModelFieldConstants.REAL_NAME);
- intent.putExtras(bundle);
- intentActivityResultLauncher.launch(intent);
- }
+ clRealName.setOnClickListener(v -> {
+ Intent intent = new Intent(UserInfoDetail.this, ModifyUserInfo.class);
+ Bundle bundle = getIntent().getExtras();
+ bundle.putString(ModelFieldConstants.TO_BE_MODIFY, ModelFieldConstants.REAL_NAME);
+ intent.putExtras(bundle);
+ intentActivityResultLauncher.launch(intent);
});
- clIdNumber.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(UserInfoDetail.this, ModifyUserInfo.class);
- Bundle bundle = getIntent().getExtras();
- bundle.putString(ModelFieldConstants.TO_BE_MODIFY, ModelFieldConstants.ID_NUMBER);
- intent.putExtras(bundle);
- intentActivityResultLauncher.launch(intent);
- }
+ clIdNumber.setOnClickListener(v -> {
+ Intent intent = new Intent(UserInfoDetail.this, ModifyUserInfo.class);
+ Bundle bundle = getIntent().getExtras();
+ bundle.putString(ModelFieldConstants.TO_BE_MODIFY, ModelFieldConstants.ID_NUMBER);
+ intent.putExtras(bundle);
+ intentActivityResultLauncher.launch(intent);
});
- clSex.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(UserInfoDetail.this, ModifyUserInfo.class);
- Bundle bundle = getIntent().getExtras();
- bundle.putString(ModelFieldConstants.TO_BE_MODIFY, ModelFieldConstants.GENDER);
- intent.putExtras(bundle);
- intentActivityResultLauncher.launch(intent);
- }
+ clSex.setOnClickListener(v -> {
+ Intent intent = new Intent(UserInfoDetail.this, ModifyUserInfo.class);
+ Bundle bundle = getIntent().getExtras();
+ bundle.putString(ModelFieldConstants.TO_BE_MODIFY, ModelFieldConstants.GENDER);
+ intent.putExtras(bundle);
+ intentActivityResultLauncher.launch(intent);
});
- clCreateTime.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- }
+ clCreateTime.setOnClickListener(v -> {
});
- clEmail.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(UserInfoDetail.this, ModifyUserInfo.class);
- Bundle bundle = getIntent().getExtras();
- bundle.putString(ModelFieldConstants.TO_BE_MODIFY, ModelFieldConstants.EMAIL);
- intent.putExtras(bundle);
- intentActivityResultLauncher.launch(intent);
- }
+ clEmail.setOnClickListener(v -> {
+ Intent intent = new Intent(UserInfoDetail.this, ModifyUserInfo.class);
+ Bundle bundle = getIntent().getExtras();
+ bundle.putString(ModelFieldConstants.TO_BE_MODIFY, ModelFieldConstants.EMAIL);
+ intent.putExtras(bundle);
+ intentActivityResultLauncher.launch(intent);
});
- clPhone.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(UserInfoDetail.this, ModifyUserInfo.class);
- Bundle bundle = getIntent().getExtras();
- bundle.putString(ModelFieldConstants.TO_BE_MODIFY, ModelFieldConstants.PHONE);
- intent.putExtras(bundle);
- intentActivityResultLauncher.launch(intent);
- }
+ clPhone.setOnClickListener(v -> {
+ Intent intent = new Intent(UserInfoDetail.this, ModifyUserInfo.class);
+ Bundle bundle = getIntent().getExtras();
+ bundle.putString(ModelFieldConstants.TO_BE_MODIFY, ModelFieldConstants.PHONE);
+ intent.putExtras(bundle);
+ intentActivityResultLauncher.launch(intent);
});
//返回上一个活动,也就是个人信息部分
- abIvTitle.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent();
- intent.putExtras(bundle);
- setResult(RESULT_OK,intent);
- finish();
- }
+ abIvTitle.setOnClickListener(v -> {
+ Intent intent = new Intent();
+ intent.putExtras(bundle);
+ setResult(RESULT_OK,intent);
+ finish();
});
}
diff --git a/app/src/main/java/com/example/stlink/configs/GlideEngine.java b/app/src/main/java/com/example/stlink/configs/GlideEngine.java
new file mode 100644
index 0000000..6cbe0ca
--- /dev/null
+++ b/app/src/main/java/com/example/stlink/configs/GlideEngine.java
@@ -0,0 +1,155 @@
+package com.example.stlink.configs;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.drawable.Drawable;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.load.resource.bitmap.CenterCrop;
+import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
+import com.bumptech.glide.request.target.CustomTarget;
+import com.bumptech.glide.request.transition.Transition;
+import com.example.stlink.R;
+import com.luck.picture.lib.engine.ImageEngine;
+import com.luck.picture.lib.interfaces.OnCallbackListener;
+import com.luck.picture.lib.utils.ActivityCompatHelper;
+
+/**
+ * @author luck
+ * @date 2019-11-13 17:02
+ * @describe Glide加载引擎
+ */
+public class GlideEngine implements ImageEngine {
+
+ /**
+ * 加载图片
+ *
+ * @param context 上下文
+ * @param url 资源url
+ * @param imageView 图片承载控件
+ */
+ @Override
+ public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) {
+ if (!ActivityCompatHelper.assertValidRequest(context)) {
+ return;
+ }
+ Glide.with(context)
+ .load(url)
+ .into(imageView);
+ }
+
+ /**
+ * 加载指定url并返回bitmap
+ *
+ * @param context 上下文
+ * @param url 资源url
+ * @param maxWidth 资源最大加载尺寸
+ * @param maxHeight 资源最大加载尺寸
+ * @param call 回调接口
+ */
+ @Override
+ public void loadImageBitmap(@NonNull Context context, @NonNull String url, int maxWidth, int maxHeight, OnCallbackListener call) {
+ if (!ActivityCompatHelper.assertValidRequest(context)) {
+ return;
+ }
+ Glide.with(context)
+ .asBitmap()
+ .override(maxWidth, maxHeight)
+ .load(url)
+ .into(new CustomTarget() {
+
+ @Override
+ public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition super Bitmap> transition) {
+ if (call != null) {
+ call.onCall(resource);
+ }
+ }
+
+ @Override
+ public void onLoadFailed(@Nullable Drawable errorDrawable) {
+ if (call != null) {
+ call.onCall(null);
+ }
+ }
+
+ @Override
+ public void onLoadCleared(@Nullable Drawable placeholder) {
+
+ }
+
+ });
+ }
+
+ /**
+ * 加载相册目录封面
+ *
+ * @param context 上下文
+ * @param url 图片路径
+ * @param imageView 承载图片ImageView
+ */
+ @Override
+ public void loadAlbumCover(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) {
+ if (!ActivityCompatHelper.assertValidRequest(context)) {
+ return;
+ }
+ Glide.with(context)
+ .asBitmap()
+ .load(url)
+ .override(180, 180)
+ .sizeMultiplier(0.5f)
+ .transform(new CenterCrop(), new RoundedCorners(8))
+ .placeholder(R.drawable.ps_image_placeholder)
+ .into(imageView);
+ }
+
+
+ /**
+ * 加载图片列表图片
+ *
+ * @param context 上下文
+ * @param url 图片路径
+ * @param imageView 承载图片ImageView
+ */
+ @Override
+ public void loadGridImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) {
+ if (!ActivityCompatHelper.assertValidRequest(context)) {
+ return;
+ }
+ Glide.with(context)
+ .load(url)
+ .override(200, 200)
+ .centerCrop()
+ .placeholder(R.drawable.ps_image_placeholder)
+ .into(imageView);
+ }
+
+ @Override
+ public void pauseRequests(Context context) {
+ Glide.with(context).pauseRequests();
+ }
+
+ @Override
+ public void resumeRequests(Context context) {
+ Glide.with(context).resumeRequests();
+ }
+
+ private GlideEngine() {
+ }
+
+ private static GlideEngine instance;
+
+ public static GlideEngine createGlideEngine() {
+ if (null == instance) {
+ synchronized (GlideEngine.class) {
+ if (null == instance) {
+ instance = new GlideEngine();
+ }
+ }
+ }
+ return instance;
+ }
+}
diff --git a/app/src/main/java/com/example/stlink/utils/activityUtil/ImgUploadUtil.java b/app/src/main/java/com/example/stlink/utils/activityUtil/ImgUploadUtil.java
index 715030c..f52ae0e 100644
--- a/app/src/main/java/com/example/stlink/utils/activityUtil/ImgUploadUtil.java
+++ b/app/src/main/java/com/example/stlink/utils/activityUtil/ImgUploadUtil.java
@@ -1,6 +1,5 @@
package com.example.stlink.utils.activityUtil;
-import android.graphics.ColorSpace;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
@@ -8,7 +7,6 @@ import android.text.TextUtils;
import androidx.annotation.Nullable;
-//import com.example.stlink.config.adapter.ImageAdapter;
import com.example.stlink.model.constants.ModelFieldConstants;
import com.example.stlink.model.constants.UrlConstants;
import com.example.stlink.model.response.BaseResponse;
@@ -34,35 +32,32 @@ public class ImgUploadUtil {
mBundle.getBoolean(UrlConstants.IS_IMG_UPLOAD_SUCCESS, false);
- new Thread(new Runnable() {
- @Override
- public void run() {
- File file = null;
- if (!TextUtils.isEmpty(path)) {
- file = new File(path);
- }
- new PostFileHttpUtils() {
- @Override
- public void nextMethod(BaseResponse