【发布时间】:2022-02-09 14:28:03
【问题描述】:
我正在努力从我的数据库中的一个孩子那里获取数据以在 TextView 中设置文本。
这是我的数据库: Database
我认为问题在于我在Ansatte 之后没有 Uid,而是在 name 之后。
如果我拿走name,只剩下Ansatte,Uid 和其余的数据就可以了。
这是我获取数据的代码:
databaseReference = FirebaseDatabase.getInstance("").getReference("Ansatte");
btnadd = (findViewById(R.id.btn_leggtilansatt));
mAuth = FirebaseAuth.getInstance();
currentid = mAuth.getCurrentUser().getUid();
tvtest = findViewById(R.id.tvtest);
databaseReference.child(currentid).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if (snapshot.exists()){
String user = snapshot.child("name").getValue().toString();
tvtest.setText(user);
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
这里是存储的代码:
private void add() {
String name = editText1.getText().toString().trim();
String email = editText2.getText().toString().trim();
String storage = editText3.getText().toString().trim();
String password = tv.getText().toString().trim();
if (!TextUtils.isEmpty(name)){
mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()){
Ansatt ansatt = new Ansatt (name, email, storage);
databaseAnsatt.child(name).child(mAuth.getUid()).setValue(ansatt);
Toast.makeText(getApplicationContext(), "Hei" , Toast.LENGTH_LONG).toString().trim();
Intent intent = new Intent(AddEmployeeActivity.this, MainActivity.class);
startActivity(intent);
}
}
});
}
【问题讨论】:
标签: java firebase-realtime-database