问题描述
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import com.example.roedash.Models.Person;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import java.util.ArrayList;
import java.util.List;
public class Profile extends AppCompatActivity {
ImageView logo;
Button logout;
TextView id,fn,sn,email;
DatabaseReference dbref;
FirebaseUser student;
List<String> itemList;
String uid;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile);
logo = findViewById(R.id.iv_logo_Profile);
logout = findViewById(R.id.btn_logout);
student = FirebaseAuth.getInstance().getCurrentUser();
uid = student.getUid();
itemList = new ArrayList<>();
id = findViewById(R.id.tv_Id_Profile);
fn = findViewById(R.id.tv_fn_profile);
sn = findViewById(R.id.tv_sn_Profile);
email = findViewById(R.id.tv_email_profile);
dbref = FirebaseDatabase.getInstance().getReference("_person_");
dbref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
itemList.clear();
String studentId = snapshot.child(uid).child("id").getValue(String.class);
String sfName = snapshot.child(uid).child("fn").getValue(String.class);
String sName = snapshot.child(uid).child("sn").getValue(String.class);
String emailAddress = snapshot.child(uid).child("em").getValue(String.class);
itemList.add(studentId);
itemList.add(sfName);
itemList.add(sName);
itemList.add(emailAddress);
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
logout.setonClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent i = new Intent(Profile.this,Mainactivitylogin.class);
startActivity(i);
}
});
logo.setonClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent i = new Intent(Profile.this,Dashboard.class);
startActivity(i);
}
});
}
}
我正在努力从 Firebase 数据库调用用户记录,一旦用户登录或注册,记录应显示在 Profile 活动中。我尝试了几种不同的方法,但都没有奏效,我想我错过了一些小东西,但找不到究竟是什么。用户在注册时成功添加并且数据库 ID 的名称是正确的。请帮忙!
这是来自控制台 - 类 Person 人 -MVXdjNUHA-NfJ4oKLXJ em: fn: ID: SN: -MVphfQK29jP5RelZViy em: fn: ID: sn:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)