【发布时间】:2024-04-28 17:00:02
【问题描述】:
我正在使用 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? -
您是否 100% 确定该文件!=null 如果文件为空,请尝试添加该路径:images/
-
storageRef 未初始化
标签: android firebase firebase-storage