Android Firebase上传照片
我有一个将图像上传到Firebase存储的代码。代码运行良好,但当我更新Android Studio时,代码出现了问题。你能建议我如何更改代码吗Android Firebase上传照片,android,firebase,image-uploading,firebase-storage,Android,Firebase,Image Uploading,Firebase Storage,我有一个将图像上传到Firebase存储的代码。代码运行良好,但当我更新Android Studio时,代码出现了问题。你能建议我如何更改代码吗 private StorageReference mStorage; private static final int GALLERY_INTENT = 2; private ProgressDialog mProgressDialog; private ImageView imageViewProfilePicturePreview; ... @Ov
private StorageReference mStorage;
private static final int GALLERY_INTENT = 2;
private ProgressDialog mProgressDialog;
private ImageView imageViewProfilePicturePreview;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
...
mProgressDialog = new ProgressDialog(this);
mDatabase = FirebaseDatabase.getInstance().getReference();
mStorage = FirebaseStorage.getInstance().getReference();
imageViewProfilePicturePreview = (ImageView) findViewById(R.id.imageViewProfilePicturePreview);
}
...
@Override
public void onClick(View view) {
...
if (view == textViewUploadPhoto) {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent, GALLERY_INTENT);
}
}
...
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == GALLERY_INTENT && resultCode == RESULT_OK) {
mProgressDialog.setMessage("Uploading...");
mProgressDialog.show();
StorageReference imageRef = mStorage.child(email);
StorageReference imageImagesRef = mStorage.child("photos/" + email);
imageRef.getName().equals(imageImagesRef.getName()); // true
imageRef.getPath().equals(imageImagesRef.getPath()); // false
Uri uri = data.getData();
imageViewProfilePicturePreview.setImageURI(uri);
imageViewProfilePicturePreview.setDrawingCacheEnabled(true);
imageViewProfilePicturePreview.buildDrawingCache();
Bitmap bitmap = imageViewProfilePicturePreview.getDrawingCache();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] data2 = baos.toByteArray();
UploadTask uploadTask = imageImagesRef.putBytes(data2);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
Toast.makeText(getApplicationContext(), "Sorry, your image wasn't set, please try again",
Toast.LENGTH_LONG).show();
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Intent intent = new Intent(getApplicationContext(), MapsActivity.class);
startActivity(intent);
Uri downloadUrl = taskSnapshot.getDownloadUrl();
mProgressDialog.dismiss();
Picasso.with(getApplicationContext()).load(downloadUrl).fit().centerCrop().into(imageViewProfilePicturePreview);
Toast.makeText(getApplicationContext(), "Upload done",
Toast.LENGTH_SHORT).show();
}
});
}
}
private-StorageReference-mStorage;
专用静态最终int画廊\u意图=2;
private ProgressDialog mProgressDialog;
私有图像查看图像查看档案图片查看;
...
@凌驾
创建时受保护的void(Bundle savedInstanceState){
...
mProgressDialog=新建进度对话框(此);
mDatabase=FirebaseDatabase.getInstance().getReference();
mStorage=FirebaseStorage.getInstance().getReference();
imageViewProfilePicturePreview=(ImageView)findViewById(R.id.imageViewProfilePicturePreview);
}
...
@凌驾
公共void onClick(视图){
...
如果(视图==textViewUploadPhoto){
意向意向=新意向(意向、行动和选择);
intent.setType(“image/*”);
startActivityForResult(意向、画廊意向);
}
}
...
@凌驾
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
if(requestCode==GALLERY\u INTENT&&resultCode==RESULT\u OK){
设置消息(“上传…”);
mProgressDialog.show();
StorageReference imageRef=mStorage.child(电子邮件);
StorageReference ImagesRef=mStorage.child(“照片/”+电子邮件);
imageRef.getName().equals(imageImagesRef.getName());//true
imageRef.getPath().equals(imageImagesRef.getPath());//false
Uri=data.getData();
imageViewProfilePicturePreview.setImageURI(uri);
imageViewProfilePicturePreview.setDrawingCacheEnabled(true);
imageViewProfilePicturePreview.buildDrawingCache();
位图位图=imageViewProfilePicturePreview.getDrawingCache();
ByteArrayOutputStream bas=新的ByteArrayOutputStream();
压缩(bitmap.CompressFormat.JPEG,100,baos);
字节[]数据2=baos.toByteArray();
UploadTask UploadTask=imageImagesRef.putBytes(数据2);
uploadTask.addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常){
Toast.makeText(getApplicationContext(),“抱歉,您的图像未设置,请重试”,
Toast.LENGTH_LONG).show();
}
}).addOnSuccessListener(新的OnSuccessListener(){
@凌驾
成功时公共无效(UploadTask.TaskSnapshot TaskSnapshot){
Intent Intent=新的Intent(getApplicationContext(),MapsActivity.class);
星触觉(意向);
Uri downloadUrl=taskSnapshot.getDownloadUrl();
mProgressDialog.disclose();
Picasso.with(getApplicationContext()).load(downloadUrl).fit().centerCrop().into(imageViewProfilePicturePreview);
Toast.makeText(getApplicationContext(),“上载完成”,
吐司。长度(短)。show();
}
});
}
}
谢谢您的帮助。出现了什么错误。请添加错误日志