Java 将裁剪的照片保存到FirebaseStorage时,应用程序崩溃
我想在firebase存储中保存一张使用github的CropImage libraray裁剪的照片。一切正常,直到我按下裁剪按钮。 这是我从“裁剪图像”活动中获取和存储图像的方式Java 将裁剪的照片保存到FirebaseStorage时,应用程序崩溃,java,android,firebase,firebase-storage,Java,Android,Firebase,Firebase Storage,我想在firebase存储中保存一张使用github的CropImage libraray裁剪的照片。一切正常,直到我按下裁剪按钮。 这是我从“裁剪图像”活动中获取和存储图像的方式 @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data);
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == GALLERY_PICK && resultCode == RESULT_OK) {
Uri imageUri = data.getData();
CropImage.activity(imageUri)
.setAspectRatio(1, 1)
.start(this);
}
if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
CropImage.ActivityResult result = CropImage.getActivityResult(data);
if (resultCode == RESULT_OK) {
Uri resultUri = result.getUri();
StorageReference filepath = mImageStorage.child("profile_images").child("profile_image.jpg");
filepath.putFile(resultUri).addOnCompleteListener(new OnCompleteListener<UploadTask.TaskSnapshot>() {
@Override
public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {
if(task.isSuccessful()) {
Toast.makeText(SettingsActivity.this, "Working", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(SettingsActivity.this, "Error in uploading", Toast.LENGTH_SHORT).show();
}
}
});
} else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
Exception error = result.getError();
}
}
这是我的build.gradle文件:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
//noinspection GradleCompatible
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.google.firebase:firebase-auth:17.0.0'
implementation 'de.hdodenhof:circleimageview:3.0.0'
implementation 'com.google.firebase:firebase-database:17.0.0'
implementation 'com.google.firebase:firebase-storage:16.0.4'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
api 'com.theartofdev.edmodo:android-image-cropper:2.4.+'
我使用的是image cropper:2.4.+因为当我使用它的最新版本时,Github页面中的示例不起作用。
我能做什么?这是版本问题吗?这可能是由于您的firebase存储依赖项版本与firebase auth和firebase数据库依赖项版本不同所致
您能否尝试将firebase存储上的版本更新为17.0.0,看看这是否解决了您的问题?依赖项版本应该相同。这会管用的
implementation 'com.google.firebase:firebase-storage:17.0.0'
implementation 'com.google.firebase:firebase-database:17.0.0'
implementation 'com.google.firebase:firebase-auth:17.0.0'
implementation 'com.google.firebase:firebase-storage:17.0.0'
implementation 'com.google.firebase:firebase-database:17.0.0'
implementation 'com.google.firebase:firebase-auth:17.0.0'