繁体   English   中英

无法解析 firebase 中的符号 storageRef

[英]Unable to resolve symbol storageRef in firebase

我正在使用 fire base 来存储图像,因为我在存储中遇到错误 Ref 无法解析符号,请帮忙。

public class Sample extends Activity {
public static final String GridViewDemo_ImagePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pencilrulerlearner/";
StorageReference riversRef;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    File targetDirector = new File(GridViewDemo_ImagePath);
    File[] files = targetDirector.listFiles();
    for (File file1 : files) {
        Uri file= Uri.fromFile(file1);


        storageRef.child("images/" + file.getLastPathSegment());
      UploadTask  uploadTask = riversRef.putFile(file);


        uploadTask.addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception exception) {
                // Handle unsuccessful uploads
            }
        }).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                // taskSnapshot.getMetadata() contains file metadata such as size, content-type, and download URL.
                Uri downloadUrl = taskSnapshot.getDownloadUrl();
            }
        });
    }

}
}

即使我将 storageRef 更改为riversRef ,我也收到以下错误

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.firebase.storage.StorageReference com.google.firebase.storage.StorageReference.child(java.lang.String)' on a null object reference
        at nidhinkumar.firebaseexample.Sample.onCreate(Sample.java:31)
        at android.app.Activity.performCreate(Activity.java:6092)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2468)

您收到此错误是因为storageRef变量尚未初始化。 任何对null引用调用方法的尝试都将导致java.lang.NullPointerException

在您的情况下,您应该首先获得对FirebaseStorage实例的引用:

FirebaseStorage storage = FirebaseStorage.getInstance();

然后,您可以通过getReferenceFromUrl方法获取对所需存储的引用。

StorageReference storageRef = storage.getReferenceFromUrl("Url to storage");

以下storageRefstorageRef并可以使用。

变量storageRef未初始化。

首先,创建一个FirebaseStorage变量:

storage = FirebaseStorage.getInstance();

然后像这样初始化StorageReference类型变量storageRef

storageRef = storage.getReference();

StorageReference storageReference = FirebaseStorage.getInstance().getReference();

做一个简单的事情导入这个文件

import com.google.firebase.storage.StorageReference

欢迎您:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM