Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Firebase存储异常_Android_Firebase_Firebase Storage - Fatal编程技术网

Android Firebase存储异常

Android Firebase存储异常,android,firebase,firebase-storage,Android,Firebase,Firebase Storage,我的代码运行得很好,但今天我遇到了这个异常,有人能帮忙吗?日志附在后面 谢谢 下面是用于从firebase存储下载内容的代码 final long ONE_MEGABYTE = 1024 * 1024; islandRef.getBytes(ONE_MEGABYTE).addOnSuccessListener(new OnSuccessListener<byte[]>() { @Override public void onSuccess(byte[] bytes)

我的代码运行得很好,但今天我遇到了这个异常,有人能帮忙吗?日志附在后面 谢谢

下面是用于从firebase存储下载内容的代码

final long ONE_MEGABYTE = 1024 * 1024;
islandRef.getBytes(ONE_MEGABYTE).addOnSuccessListener(new OnSuccessListener<byte[]>() {
    @Override
    public void onSuccess(byte[] bytes) {
        // Data for "images/island.jpg" is returns, use this as needed
    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception exception) {
        // Handle any errors
    }
});
final long ONE_MEGABYTE=1024*1024;
islandRef.getBytes(1兆字节).addOnSuccessListener(新的OnSuccessListener(){
@凌驾
成功时的公共void(字节[]字节){
//“images/island.jpg”的数据是返回的,根据需要使用它
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常){
//处理任何错误
}
});

我通过在代码中超过大小解决了上述问题。第一个大小是1mb,后来我将其增加到5mb

final long ONE_MEGABYTE = 1024 * 1024;
将此更改为更大的尺寸,如

final long ONE_MEGABYTE = 1024 * 1024 *5;

我认为最好的解决办法是使用另一种下载方法。因为它必须将文件的全部内容加载到内存中。如果您请求的文件大于应用程序的可用内存,则应用程序将崩溃

您应该通过URL使用下载数据:

storageRef.child("users/me/profile.png").
getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
        @Override
        public void onSuccess(Uri uri) {
            // Got the download URL for 'users/me/profile.png'
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception exception) {
            // Handle any errors
        }
    });

请检查google play服务是否是最新的。如果不是,请更新它。如果是最新的,请清除google play services的缓存。

“寻求调试帮助的问题('为什么此代码不起作用?')必须包括所需的行为、特定的问题或错误以及在问题本身中重现该问题所需的最短代码。没有明确问题说明的问题对其他读者没有用处。请参阅:“我无法找出代码的确切部分,我知道它在firebase存储中,但是它对一些视频起作用,对一些视频抛出异常,后来我回答了我的问题谢谢。顺便说一句,谢谢@FrankvanPuffelen你在firebase相关问题上帮了我很多忙:)很高兴听到你找到了问题的原因!
storageRef.child("users/me/profile.png").
getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
        @Override
        public void onSuccess(Uri uri) {
            // Got the download URL for 'users/me/profile.png'
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception exception) {
            // Handle any errors
        }
    });
Glide.with(MainActivity.this)
 .load(mFirebaseUser.getPhotoUrl())
 .into(mYourImageView);`