Я пытаюсь получить данные, используя recylerView, но я все еще получаю сообщение об ошибке в этой строке Upload upload=postsnapshot.getValue(Upload.class);
, но это не говорит мне, в чем проблема, и, кроме того, я получаю еще одну ошибку, говоря это E/FirebaseInstanceId: Token retrieval failed: INVALID_SENDER
I ' Я не уверен, что происходит. Вот мой код ниже. Любая помощь будет оценена. Заранее спасибо
//Log cat error
2020-03-31 17:15:47.842 1943-1943/? E/FirebaseInstanceId: binding to the service failed
//This my model class
public class Upload {
private String mImageUrl;
private String nickName;
private String fullname;
private String age;
private String height;
public Upload(){
//Empty constructor needed
}
public Upload(String imageUrl ){
mImageUrl=imageUrl;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getFullname() {
return fullname;
}
public void setFullname(String fullname) {
this.fullname = fullname;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getHeight() {
return height;
}
public void setHeight(String height) {
this.height = height;
}
public String getmImageUrl() {
return mImageUrl;
}
public void setmImageUrl(String mImageUrl) {
this.mImageUrl = mImageUrl;
}
//My adapter class
public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ImageViewHolder>{
private Context mContext;
private List<Upload> mUploads;
public ImageAdapter(Context context, List<Upload> uploads){
mContext = context;
mUploads = uploads;
}
@NonNull
@Override
public ImageViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View V = LayoutInflater.from(mContext).inflate(R.layout.cardview, parent, false);
return new ImageViewHolder(V);
}
@Override
public void onBindViewHolder(@NonNull ImageViewHolder holder, int position) {
Upload uploadCurrent=mUploads.get(position);
holder.txt1.setText(uploadCurrent.getnickName());
Picasso.get().load(String.valueOf(uploadCurrent)).fit().centerCrop().into(holder.imageView);
}
@Override
public int getItemCount() {
return mUploads.size();
}
public class ImageViewHolder extends RecyclerView.ViewHolder{
public ImageView imageView;
public TextView txt1;
public ImageViewHolder(@NonNull View itemView) {
super(itemView);
imageView=itemView.findViewById(R.id.imageview);
txt1=itemView.findViewById(R.id.nickname);
}
}
//This the main page
databaseReference.child(uid).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot postsnapshot : dataSnapshot.getChildren()) {
Upload upload=postsnapshot.getValue(Upload.class);
mUploads.add(upload);
}
mAdapter.notifyDataSetChanged();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Toast.makeText(MainActivity.this, databaseError.getMessage(), Toast.LENGTH_LONG).show();
}
});
//This class is where they upload their image
storageRef.putFile(filepath).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
//Toast.makeText(UploadAdActivity.this,"Uploaded successfully",Toast.LENGTH_LONG).show();
//Upload upload=new Upload(taskSnapshot.getStorage().getDownloadUrl().toString());
//String uploadId=update.push().getKey();
//update.child(uploadId).setValue(upload);
progressDialog.dismiss();
Toast.makeText(UploadAdActivity.this,"Uploaded successfully",Toast.LENGTH_LONG).show();
storageReference.getDownloadUrl().toString();
taskSnapshot.getStorage().getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
String download_url=uri.toString();
Upload upload=new Upload(download_url);
String uploadId=update.push().getKey();
// String a=update.push().getKey();
Intent d=new Intent(UploadAdActivity.this,AllInOneActivity.class);
d.putExtra("a",uploadId);
update.child(uploadId).setValue(upload);
Intent i = new Intent(UploadAdActivity.this, NextPage.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
i.putExtra("a",uploadId);
startActivity(i);
}
});
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
progressDialog.dismiss();
Toast.makeText(UploadAdActivity.this,"Failed to upload",Toast.LENGTH_LONG).show();
}
}).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
double progress = (100.0*taskSnapshot.getBytesTransferred()/taskSnapshot
.getTotalByteCount());
progressDialog.setMessage("Uploaded "+(int)progress+"%");
}
});