【发布时间】:2019-11-28 08:14:18
【问题描述】:
我正在使用手机号码对用户进行身份验证。现在我想知道,如果用户是第一次使用,那么它将重定向到某些活动,并且如果用户之前已经登录,那么用户可以导航到仪表板屏幕。我该如何解决这个问题? 这是我的数据库快照。 H 这是我的用户类。
public class User {
String userName, mobile;
List<Object> groupIds;
public User(String userName, String mobile) {
this.userName = userName;
this.mobile = mobile;
groupIds = new ArrayList<>();
groupIds.add("group1");
}
public User() {}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public List<Object> getGroupIds() {
return groupIds;
}
public void setGroupIds(List<Object> groupIds) {
this.groupIds = groupIds;
}
}
在身份验证成功时,我正在编写以下代码:
mDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
showData(dataSnapshot);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
private void showData(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()){
User uInfo = new User();
uInfo.setUserName(ds.child("Users").child("112233").getValue(User.class).getUserName());
uInfo.setMobile(ds.child("Users").child("112233").getValue(User.class).getMobile());
Log.d(TAG, "showData: name: " + uInfo.getMobile());
Log.d(TAG, "showData: email: " + uInfo.getUserName());
}
}
【问题讨论】:
-
如果用户第一次也去仪表板或其他地方?
-
如果用户第一次登录,则导航到个人资料活动以设置他/她的个人资料。但是如果用户已经有个人资料,那么用户将重定向到仪表板活动。@PeterHaddad
-
你在使用 Firebase 身份验证吗?
-
是的,有手机号码。 @PeterHaddad
-
你为什么不用firebase uid而不是手机号码?
标签: java android firebase firebase-realtime-database