java - 选择图片并裁剪后如何将个人资料图片更新为 firebase?

标签 java android firebase firebase-authentication

在我选择图片并裁剪后,如何将我当前的用户个人资料图片更新到 Firebase 中?

这是我的代码:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == CropImage.PICK_IMAGE_CHOOSER_REQUEST_CODE && resultCode == RESULT_OK){
        Uri imageUri = CropImage.getPickImageResultUri(getActivity(),data);
        cropRequest(imageUri);

    }
    if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE){
        CropImage.ActivityResult result = CropImage.getActivityResult(data);
        if (resultCode == RESULT_OK){
            try {
                Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), result.getUri());
                imgUserProfile.setImageBitmap(bitmap);

                final ProgressDialog pd = new ProgressDialog(getContext());
                pd.setMessage("Please wait ");
                pd.show();
            } catch (IOException e){
                e.printStackTrace();
            }
        }
    }
}

我如何从那里继续?有什么建议吗?

最佳答案

有很多选择:

  1. 我会使用的最有用的方法之一是将图片上传到 Firebase Storage。上传它真的很容易,每当您的用户再次登录时,您都可以将文件下载到本地存储以供日常使用。
  2. 另一个选项(这有点笨拙)可能是将位图的像素数组存储在 firebase 节点中。它非常快,您可以将其存储在您的 firebase 数据库中,也可以存储在您的共享首选项中。通过使用额外的压缩功能,您甚至可以增强该功能。

不过,我建议使用 firebase 存储,因为它是唯一且安全的选择。所以去吧。对于 firebase 存储,请查看此链接,它是文档(很容易理解):

https://firebase.google.com/docs/storage/android/upload-files

还有这里:https://code.tutsplus.com/tutorials/image-upload-to-firebase-in-android-application--cms-29934

关于java - 选择图片并裁剪后如何将个人资料图片更新为 firebase?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57376528/

相关文章:

android - 在 recyclerview 中的 notifyitemchanged 期间保留链式 react

android - FCM 默认图标使用无效渐变

ios - Firebase 电子邮件验证重定向网址

android - 如何一次在系统范围内的WorkManger中注册定期工作请求(即在启动或安装后)

javascript - 检查 Cloud Firestore 查询是否返回某些内容

java - 带线程的应用程序加载器

java - Spring boot 2通过Apache Camel连接到rabbitmq

java - Eclipse 无法识别传递扩展泛型类

java - 如何在java中使用带有构造函数的方法?

java - 不是具体类 AndroidManifest