Условное написание на firebase android - PullRequest
0 голосов
/ 03 июня 2018

Это моя активность для входа в систему моих пользователей.Когда создается новый пользователь, я хочу написать его команду с пустыми строками UUID + в Firebase.Однако теперь у меня так получилось, что потомок «пользователей» перезаписывается при каждом входе в систему (я не могу этого сделать, я передаю пустую строку «команды» для помещения в Firebase, но строка неоставайтесь пустыми - мне нужно хранить данные при входе в систему).

Спасибо за вашу помощь

public class SigninActivity extends AppCompatActivity {


private static final String TAG = SigninActivity.class.getSimpleName();
private static final String PATH_TOS = "";
private Button loginButton;
private FirebaseAuth auth;
private static final int RC_SIGN_IN = 200;
private FirebaseDatabase db;
private DatabaseReference dbUsers;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate( savedInstanceState );
    auth = FirebaseAuth.getInstance();
    if(isUserLogin()){
        loginUser();}
    setContentView( R.layout.activity_signin );
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    db = FirebaseDatabase.getInstance();
    loginButton = findViewById(R.id.login_button);
    loginButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view){
            startActivityForResult(AuthUI.getInstance().createSignInIntentBuilder()
                    .setTosUrl (PATH_TOS)
                    .build(), RC_SIGN_IN);
        }
    });

}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode == RC_SIGN_IN){
        if(resultCode == RESULT_OK){
            loginUser();
        }
        if(resultCode == RESULT_CANCELED){
            displayMessage(getString(R.string.signin_failed));
        }
        return;
    }
    displayMessage(getString(R.string.unknown_response));
}

private boolean isUserLogin(){
    if(auth.getCurrentUser() != null){
        return true;
    }
    return false;
}
private void loginUser(){
    writeNewUser(auth.getCurrentUser().getUid(),"");
    Intent loginIntent = new Intent(SigninActivity.this, MainActivity.class);
    startActivity(loginIntent);
    finish();
}

private void displayMessage(String message){
    Toast.makeText(this, message, Toast.LENGTH_LONG).show();
}
private void writeNewUser(String uuid,String team){
    DatabaseReference dbUsers = db.getReference("users");
    User user = new User(uuid,team);
    dbUsers.child(uuid).setValue(user);
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...