首页 > 解决方案 > FirebaseInstanceId:令牌检索失败android

问题描述

我正在尝试使用 recylerView 检索数据,但我一直收到关于此行的错误,Upload upload=postsnapshot.getValue(Upload.class);但它并没有告诉我问题出在哪里,而且我收到另一个错误,说E/FirebaseInstanceId: Token retrieval failed: INVALID_SENDER我不确定发生了什么。下面是我的代码。任何帮助都将得到应用。提前致谢

//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+"%");

                            }
                        });

标签: androidfirebaseandroid-recyclerview

解决方案


推荐阅读