您需要将首选项设置为,
FIRST_LAUNCH并在每次用户登录时检查其是否正确。第一次启动应用程序时,
FIRST_LAUNCH找不到首选项。因此,调用您的
addUser()函数在Firebase数据库中创建一个新条目。
SharedPreferences pref = getSharedPreferences(Constants.ApplicationTag, Activity.MODE_PRIVATE);if (!pref.contains(Constants.FIRST_LAUNCH)) { addUser(); pref.edit().putBoolean(Constants.FIRST_LAUNCH, true).commit();}因此,您可能会想,如果用户先卸载应用程序然后重新安装,首选项将消失,
addUser()功能将被再次调用。没问题,只要child属性的路径相同,就不会获得新的Firebase条目。这些值将被用户当前信息替换为特定路径(如果确实存在)。
现在,如果要检查您的用户在Firebase数据库中是否已经存在,则需要添加这样的侦听器。我附上一个代码示例,以更好地理解。
Firebase rootRef = new Firebase("https://<url>.firebaseio.com/users/");Firebase userRef = rootRef.child(mAuthData.getUid() + "/");userRef.addListenerForSinglevalueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { if (dataSnapshot.exists()) { // User exists. Do nothing } else addUser(); } @Override public void onCancelled(FirebaseError firebaseError) {}});


