Как рассчитать возраст в приложении для Android с помощью редактирования текста - PullRequest
0 голосов
/ 24 марта 2019

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

Я уже искал учебники на youtube / stack overflow / google, чтобы получить помощь по этому вопросу, и я нашел только учебники по DatePicker. Я не уверен, как бы я внедрил учебник по выбору даты в свой проект, используя редактирование текстов.

Вот часть моего файла RegisterActivity.java, который я хочу проверить данные, когда пользователь нажимает на регистр. Я уже выяснил, как проверить адрес электронной почты / пароль, но не знаю, как добавить разницу в дате в мой код. Я также добавил свою функцию submitForm, которая называется ....

Я не уверен, как должны выглядеть выходные данные или как реализовать проверку возраста в моем проекте, поскольку я все еще довольно плохо знаком с использованием Android Studio, и я открыт для новых идей и т. Д. О том, как наилучшим образом реализовать это в мой проект.

Вот часть моего файла RegisterActivity.java, который я хочу проверить данные, когда пользователь нажимает на регистр. Я уже выяснил, как проверить адрес электронной почты / пароль, но не знаю, как добавить разницу в дате в мой код. Я также добавил свою функцию submitForm, которая называется ....

buttonSignup.setOnClickListener(new View.OnClickListener() {
@Override
            public void onClick(View view) {

                String email = signupInputEmail.getText().toString();
                String password = signupInputPassword.getText().toString();
                if (password.length()< 8){
                    signupInputPassword.setError("Your password must be at least 8 characters");
                }else if (!Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
                    signupInputEmail.setError("You must enter a valid email address");
                } else {

                    submitForm();
                }

            }
        });

SubmitForm ()

private void submitForm() {

        int selectedId = genderRadioGroup.getCheckedRadioButtonId();
        String gender;
        if(selectedId == R.id.female_radio_btn)
            gender = "Female";
        else
            gender = "Male";

        registerUser(signupInputName.getText().toString(),
                signupInputEmail.getText().toString(),
                signupInputPassword.getText().toString(),
                gender,
                signup_input_DOB.getText().toString());
    }

Ответы [ 2 ]

2 голосов
/ 04 апреля 2019

Преобразуйте дату рождения на входе регистрации из String в Date следующим образом:

String DOB = signup_input_DOB.getText().toString(); 

Date dateOfBirth=new SimpleDateFormat("dd/MM/yyyy").parse(DOB);  

Затем передайте дату рождения методу вычисления для возраста:

int age = currentDate.getYear() - dateOfBirth.getYear();
1 голос
/ 12 апреля 2019

Похоже, вы проделали долгий путь для выполнения этой задачи. Вы можете просто использовать DatePicker ( Android Date Picker Официальные документы

и установите диапазон выбора для даты, установите выбранную дату (пользователем) в TextView. Пользовательский интерфейс для обработки события нажатия.

Создать интерфейс.

public interface IOnItemClickListenerCountryStates {
    void onAgeClick(String Date);

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