簡體   English   中英

我從Firebase獲取數據並在TextView中顯示它但我收到了一些錯誤。 任何人都可以檢查我的代碼並建議我

[英]I am getting data from Firebase and showing it in the TextView but I am getting some error. Can anyone please check out my code and suggest me

我試圖從firebase獲取數據,以在TextView顯示它。 實際上,我是android新手可以有人告訴我這里的問題是我的代碼。

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference("https://videoanimation-a931e.firebaseio.com/");
        auth = FirebaseAuth.getInstance();
        String userId = auth.getCurrentUser().getUid();

        DatabaseReference uidRef = rootRef.child("Person").child(userId);
        ValueEventListener valueEventListener = new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                User user = dataSnapshot.getValue(User.class);

                if(user !=null) {
                    String name = user.getName();
                    String email = user.getEmail();
                    String designation = user.getDesignation();


                    textViewName.setText(name);
                    textViewEmail.setText(email);
                    textViewDesignation.setText(designation);
                }else {
                    Toast.makeText(ProfileActivity.this, "user is null", Toast.LENGTH_SHORT).show();
                }
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        };
        uidRef.addListenerForSingleValueEvent(valueEventListener);
    }

我知道我的答案是否可以幫助你,但請看看我的snipshet代碼,這個方法我如何獲得值firebase實時數據庫子用戶值

//Getting Uid user
    mAuth = FirebaseAuth.getInstance();
    if (mAuth.getCurrentUser() != null) {


        mUserRef = FirebaseDatabase.getInstance().getReference().child("Users").child(mAuth.getCurrentUser().getUid());

        mUserRef.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                String name = ""+dataSnapshot.child("nama").getValue().toString();
                String jabatan = ""+dataSnapshot.child("jabatan").getValue().toString();
                String image = ""+dataSnapshot.child("image").getValue().toString();
                display_name.setText(""+name);
                display_address.setText(""+jabatan);
                if (!image.equals("default") && image!= null){
                    Glide.with(getApplicationContext()).load(image).listener(new RequestListener<Drawable>() {
                        @Override
                        public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
                            return false;
                        }

                        @Override
                        public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
                            return false;
                        }
                    }).into(circleImageView);
                }else {

                }

                mUserRef.child("role").addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                        String srole = dataSnapshot.getValue().toString();


                        preferenceManager.simpanRole(srole);
                        setdashbourUI(preferenceManager.ambilRole());

                    }

                    @Override
                    public void onCancelled(@NonNull DatabaseError databaseError) {

                    }
                });
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });

完整的工具代碼,您可以在這里查看

這個片段

User user = dataSnapshot.getValue(User.class);

嘗試更改為此

User user = dataSnapshot.toObject(User.class);

並且使用

private DatabaseReference mDatabase;
mDatabase = FirebaseDatabase.getInstance().getReference();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM