火力地堡无法检索数据

问题描述:

模型类:火力地堡无法检索数据

@IgnoreExtraProperties 
public class Points { 

public String score; 

public Points(){ 

} 

public Points(String score) { 
    this.score = score; 
} 

public String getScore() { 
    return score; 
} 

public void setScore(String score) { 
    this.score = score; 
    } 
} 

代码更新:

private void updateUser(String name) { 
    FirebaseUser user = firebaseAuth.getCurrentUser(); 
    if (!name.equals("")) { 
     dbRefer.child("User").child(user.getUid()).child("score").setValue(name); 
     Toast.makeText(this, "update Done", Toast.LENGTH_SHORT).show(); 
    } 
} 

代码检索:

private void addUserChangeListener() { 
    final FirebaseUser getData = firebaseAuth.getCurrentUser(); 
    // User data change listener 
    dbRefer.child("User").child(getData.getUid()).child("score").addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      Points user = dataSnapshot.getValue(Points.class); 

      Toast.makeText(GameActivity.this, "Retrieved Data is: " + getData, Toast.LENGTH_SHORT).show(); 

      // Check for null 
      if (user == null) { 
       Log.e(TAG, "User data is null!"); 
       return; 
      } 

      Log.e(TAG, "User data is changed!" + user.getScore()); 

      // Display newly updated name and email 
      mTvShowData.setText(user.getScore()); 

      // clear edit text 
      mTxtEdtData.setText(""); 

      toggleButton(); 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 
      Toast.makeText(GameActivity.this, "Can't Get data", Toast.LENGTH_SHORT).show(); 
     } 
    }); 
    } 

代码更新工作,我是什么现在面临的是检索部分,我似乎无法从我的数据库中获取数据。需要帮助和指导,谢谢。

+1

您是否检查了Firebase控制台中的权限,即数据库规则? –

+0

你可以发布你的points.class文件以及你的数据库结构吗? – Robert

+0

感谢您的回复,我添加了我的积分类 – Arduino

通常情况下,我会像现在一样将信息作为对象来提取,但由于您只能提取一条信息,而不是创建一个点对象,所有这些我都会手动将它拉出来。

 dbRefer.child("User").child(getData.getUid()).addValueEventListener(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
String name = (String) dataSnapshot.child("score").getValue(); 
mTvShowData.setText(name); 
+0

非常感谢Robert !!,您是一位现场救星........ :) – Arduino

+0

如果我拉两条2条信息会怎么样? – Arduino

+0

如果你只是拉两个,并将它们放在TextViews或其他东西,我只是每个人手动拉他们,否则,如果我使用的信息来填充列表或东西我会把信息作为对象。 – Robert