你好我已经创建了firebase数据库。有一个表用户,我正在输入名称和电子邮件。从该用户我想只在我的Android应用程序中获取名称列的值。 我想干杯name.there没有必要从firebase数据库获取所有值只有我想得到名称列值
这是我的代码
mDatabase = mFirebaseInstance.getReference("users");
// store app title to 'app_title' node
mFirebaseInstance.getReference("app_title").setValue("Realtime Database");
// app_title change listener
mFirebaseInstance.getReference("app_title").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String appTitle = dataSnapshot.getValue(String.class);
// update toolbar title
getSupportActionBar().setTitle(appTitle);
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
}
});
// Save / update the user
btnSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String name = inputName.getText().toString();
String email = inputEmail.getText().toString();
// Check for already existed userId
// if (TextUtils.isEmpty(userId)) {
createUser(name, email);
// }
}
});
}
private void createUser(String name, String email) {
userId = mDatabase.push().getKey();
Users user = new Users(name, email);
mDatabase.child(userId).setValue(user);
addUserChangeListener();
}
private void addUserChangeListener() {
// User data change listener
mDatabase.child("users").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Users user = new Users();
String name = "" + dataSnapshot.getValue(Users.class);
user.setName(name);
//String str = user.name;
Toast.makeText(MainActivity.this, name, Toast.LENGTH_SHORT).show();
// Check for null
if (user == null) {
return;
}
// Display newly updated name and email
txtDetails.setText(user.name + ", " + user.email);
// clear edit text
// inputEmail.setText("");
// inputName.setText("");
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
}
});
}
答案 0 :(得分:0)
首先,firebase中没有表,它是noSQL。
我建议你阅读this,这真的很简单。 如果您有一个键的路径,您可以通过附加一个监听器来获取该值。
在你的情况下它应该是 mDatabase.child( “用户”)。孩子(idOfUser).child(名称).addValueEventListener ...
这取决于数据库的结构。