android - 发生 StorageException。位置不存在对象。代码:-13010 HttpResult:404 在 android studio logcat 中
问题描述
这是我的日志:
2018-11-04 08:54:03.257 20512-20582/com.example.nabil.logindemo E/StorageException:发生了 StorageException。对象在该位置不存在。代码:-13010 HttpResult:404 2018-11-04 08:54:03.268 20512-20582/com.example.nabil.logindemo E/StorageException: { "error": { "code": 404, "message": "Not找到。无法获取对象“}} java.io.IOException:{“错误”:{“代码”:404,“消息”:“未找到。无法获取对象”}} 在 com.google.firebase.storage .network.NetworkRequest.parseResponse(com.google.firebase:firebase-storage@@16.0.4:455) 在 com.google.firebase.storage.network.NetworkRequest.parseErrorResponse(com.google.firebase:firebase-storage@@ 16.0.4:435)在 com.google.firebase.storage。firebase.database.core.view.CancelEvent.fire(com.google.firebase:firebase-database@@16.0.4:40) 在 com.google.firebase.database.core.view.EventRaiser$1.run(com.google .firebase:firebase-database@@16.0.4:55) 在 android.os.Handler.handleCallback(Handler.java:808) 在 android.os.Handler.dispatchMessage(Handler.java:101) 在 android.os.Looper .loop(Looper.java:166) at android.app.ActivityThread.main(ActivityThread.java:7425) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller .run(Zygote.java:245) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921) 2018-11-04 08:54:03.959 731-2760/?E/iMonitor:FaultDetect:DUMPTOOL_PRINTF 返回。2018-11-04 08:54:03.962 731-2760/? E/iMonitor:故障检测:DUMPTOOL_PRINTF 返回。2018-11-04 08:54:03.966 1248-3184/? E/ReportTools:这不是 beta 用户版本 2018-11-04 08:54:03.970 731-2760/?E/iMonitor:FaultDetect:DUMPTOOL_PRINTF 返回。2018-11-04 08:54:03.970 731-2760/? E/iMonitor:FaultDetect:DUMPTOOL_PRINTF 返回。2018-11-04 08:54:03.970 731-2760/? E/iMonitor:FaultDetect:DUMPTOOL_PRINTF 返回。2018-11-04 08:54:03.970 731-2760/? E/iMonitor:FaultDetect:DUMPTOOL_PRINTF 返回。2018-11-04 08:54:04.057 1859-1884/? E/HsmCoreServiceImpl:onTransact 在代码中是:103 DUMPTOOL_PRINTF 返回。2018-11-04 08:54:03.970 731-2760/? E/iMonitor:FaultDetect:DUMPTOOL_PRINTF 返回。2018-11-04 08:54:04.057 1859-1884/? E/HsmCoreServiceImpl:onTransact 在代码中是:103 DUMPTOOL_PRINTF 返回。2018-11-04 08:54:03.970 731-2760/? E/iMonitor:FaultDetect:DUMPTOOL_PRINTF 返回。2018-11-04 08:54:04.057 1859-1884/? E/HsmCoreServiceImpl:onTransact 在代码中是:103
这是我的Java代码。
ProfileActivity.Java:
public class ProfileActivity extends AppCompatActivity {
private TextView profilename,emailid,age;
private ImageView imageprofile;
private Button btnedit;
private FirebaseAuth firebaseAuth;
private FirebaseDatabase firebaseDatabase;
private FirebaseStorage firebaseStorage;
private StorageReference storageReference;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile);
profilename=findViewById(R.id.profilename);
emailid=findViewById(R.id.emailid);
age=findViewById(R.id.age);
imageprofile=findViewById(R.id.imageprofile);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
firebaseAuth=FirebaseAuth.getInstance();
firebaseDatabase=FirebaseDatabase.getInstance();
firebaseStorage=FirebaseStorage.getInstance();
storageReference=firebaseStorage.getReference();
storageReference.child(firebaseAuth.getUid()).child("Images/Profile Pic").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
Picasso.get().load(uri).into(imageprofile);
}
});
DatabaseReference databaseReference=firebaseDatabase.getReference(firebaseAuth.getUid());
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
DatabaseValues databaseValues=dataSnapshot.getValue(DatabaseValues.class);
profilename.setText("Name: "+ databaseValues.getProfile_name());
emailid.setText("Email: "+ databaseValues.getProfile_username());
age.setText("Age: "+ databaseValues.getProfile_age());
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Toast.makeText(ProfileActivity.this,databaseError.getCode(),Toast.LENGTH_SHORT).show();
}
});
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case android.R.id.home:
onBackPressed();
}
return super.onOptionsItemSelected(item);
}
}
数据库值.Java:
public class DatabaseValues {
private String profile_name;
private String profile_username;
private String profile_age;
public DatabaseValues(){
}
public DatabaseValues(String profile_name, String profile_username, String profile_age) {
this.profile_name = profile_name;
this.profile_username = profile_username;
this.profile_age = profile_age;
}
public String getProfile_name() {
return profile_name;
}
public void setProfile_name(String profile_name) {
this.profile_name = profile_name;
}
public String getProfile_username() {
return profile_username;
}
public void setProfile_username(String profile_username) {
this.profile_username = profile_username;
}
public String getProfile_age() {
return profile_age;
}
public void setProfile_age(String profile_age) {
this.profile_age = profile_age;
}
}
解决方案
该错误意味着您对 Firebase 存储中文件的引用设置不正确。
检查这一行,该图像的路径/Profile Pic
在您的存储中不存在。
您需要编辑您的参考资料才能使其正常工作
storageReference.child(firebaseAuth.getUid()).child("Images/Profile Pic")...
推荐阅读
- javascript - Laravel Mix 缩小子文件夹中的 js 文件
- c# - 为什么每次都需要调用 BuildServiceProvider 来获取依赖?
- r - 提取R中的第一个和最后一个交易日期
- java - 如何将 Json 中的顶级元素映射到 Java 类
- php - PHP不打印最低的mysqli ID号
- java - 在不使用多线程的情况下 Ping 多个 IP 地址
- javascript - Node 6.14.0 asyncawait npm 包和谷歌云函数 -> Javascript 异步函数
- maven - Maven - 构建项目时出错
- python - Keras Input_shape 形状错误
- javascript - Rpraph 未在画布中显示