Обновление сохраненных данных в базе данных реального времени с использованием Android Studio - PullRequest
0 голосов
/ 12 марта 2020

Я работаю над приложением, которое позволяет пользователю зарегистрировать свои данные, войти в систему с ними, а затем заполнить анкету, эти данные также будут сохранены для дальнейшего использования. Текущий Я успешно получил данные моего пользователя на странице регистрации, чтобы сохранить, однако, когда они заполняют анкету, их регистрационные данные перезаписываются их ответами на анкету. Ниже приведен код моей страницы анкеты.

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_faqquestions);
        setupUIViews();
        fAuth =FirebaseAuth.getInstance();
submitfaq.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {

            if(validate()){
                sendScoreData();
                            Toast.makeText(faqquestions.this, "Successfully completed", Toast.LENGTH_LONG).show();
                            finish();
                            startActivity(new Intent(faqquestions.this, Results.class));
                        } else {
                            Toast.makeText(faqquestions.this, "Submission failed", Toast.LENGTH_LONG).show();
                        }
                    }
                });
            }

private void setupUIViews() {
   question1 = (EditText)findViewById(R.id.question1);
    question2 = (EditText)findViewById(R.id.question2);
    question3 = (EditText)findViewById(R.id.question3);
    question4 = (EditText)findViewById(R.id.question4);
    question5 = (EditText)findViewById(R.id.question5);
   question6 = (EditText)findViewById(R.id.question6);
   question7 = (EditText)findViewById(R.id.question7);
   question8 = (EditText)findViewById(R.id.question8);
   question9 = (EditText)findViewById(R.id.question9);
   question10 = (EditText)findViewById(R.id.question10);

    submitfaq = (Button)findViewById(R.id.submitfaq);



}

private Boolean validate() {
boolean result = false;

questionOne = question1.getText().toString();
questionTwo = question2.getText().toString();
questionThree = question3.getText().toString();
questionFour = question4.getText().toString();
questionFive = question5.getText().toString();
questionSix = question6.getText().toString();
questionSeven = question7.getText().toString();
questionEight = question8.getText().toString();
questionNine = question9.getText().toString();
questionTen = question10.getText().toString();

    if(questionOne.isEmpty() || questionTwo.isEmpty() || questionThree.isEmpty() || questionFour.isEmpty() || questionFive.isEmpty() || questionSix.isEmpty()|| questionSeven.isEmpty() || questionEight.isEmpty() || questionNine.isEmpty() || questionTen.isEmpty()) {
        Toast.makeText(faqquestions.this, "Please enter in all feilds", Toast.LENGTH_LONG).show();
    } else {
        result = true;
    }
    return  result;
}

private void sendScoreData() {
    FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
    DatabaseReference reff = firebaseDatabase.getReference(fAuth.getUid());
    faqinputs FAQinputs = new faqinputs(questionOne, questionTwo, questionThree, questionFour, questionFive, questionSix, questionSeven, questionEight, questionNine, questionTen);
    reff.setValue(FAQinputs);

}

1 Ответ

0 голосов
/ 12 марта 2020

Если вы хотите обновить существующие данные в каком-либо месте в базе данных, вам следует использовать updateChildren () , которая принимает Карту указанных пар * значение / дочерний элемент / значение в изменить в этом месте.

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