Мне не удалось открыть действие, и в logcat ниже показана его ошибка: код java и logcat.
2018-11-03 11: 00: 41.871 1950-2087 / com.example.nabil.logindemo
E / StorageException: StorageException произошла.
Объект не существует на месте.
Код: -13010 HttpResult: 404 2018-11-03 11: 00: 41.883 1950-2087 / com.example.nabil.logindemo E / StorageException: {"error":
{"code": 404, "message": "Not Found. Не удалось получить объект"}}
java.io.IOException: {"error": {"code": 404, "message": "Not Found. Не удалось получить объект"}}
на 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.network.NetworkRequest.processResponseStream (com.google.firebase: firebase-storage @@ 16.0.4: 426)
на com.google.firebase.storage.network.NetworkRequest.performRequest (com.google.firebase: firebase-storage @@ 16.0.4: 280)
на com.google.firebase.storage.network.NetworkRequest.performRequest (com.google.firebase: firebase-storage @@ 16.0.4: 294)
на com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff (com.google.firebase: firebase-storage @@ 16.0.4: 65)
на com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff (com.google.firebase: firebase-storage @@ 16.0.4: 57)
на com.google.firebase.storage.GetDownloadUrlTask.run (com.google.firebase: firebase-storage @@ 16.0.4: 71)
в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1162)
в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:636)
at java.lang.Thread.run (Thread.java:784) 2018-11-03 11: 00: 42.616 1950-1950 / com.example.nabil.logindemo E / AndroidRuntime:
ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: главная
Процесс: com.example.nabil.logindemo, PID: 1950
android.content.res.Resources $ NotFoundException: строковый идентификатор ресурса # 0xfffffffd
на android.content.res.Resources.getText (Resources.java:410)
на android.content.res.HwResources.getText (HwResources.java:465)
на android.widget.Toast.makeText (Toast.java:328)
в com.example.nabil.logindemo.ProfileActivity $ 2.onCancelled (ProfileActivity.java:65)
на com.google.firebase.database.core.ValueEventRegistration.fireCancelEvent (com.google.firebase: firebase-database @@ 16.0.4: 80)
на com.google.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)
на android.app.ActivityThread.main (ActivityThread.java:7425)
в java.lang.reflect.Method.invoke (родной метод)
на com.android.internal.os.Zygote $ MethodAndArgsCaller.run (Zygote.java:245)
на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:921)
2018-11-03 11: 00: 42.632 731-2760 /? E / iMonitor: FaultDetect:
DUMPTOOL_PRINTF возврат. 2018-11-03 11: 00: 42.634 731-2760 /? E / IMonitor:
FaultDetect: возвращение DUMPTOOL_PRINTF. 2018-11-03 11: 00: 42.634
731-2760 /? E / iMonitor: FaultDetect: возвращение DUMPTOOL_PRINTF. 2018-11-03
11: 00: 42,635 731-2760 /? E / iMonitor: FaultDetect: DUMPTOOL_PRINTF
вернуться.
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);
}
}
DatabaseValues.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;
}
}