如何使用编辑文本在Android应用程序中计算年龄

时间:2019-03-24 19:56:35

标签: android android-layout android-edittext

我正在开发一个在该区域显示酒吧特惠的android应用程序,并且我想确保唯一使用我们应用程序的用户年龄在21岁以上。我已经使用编辑文本创建了一个登录/注册活动,并将键入到编辑文本中的信息发送到mySQL数据库。

我已经在youtube / stackoverflow / google上搜索了教程,以寻求帮助,而我只找到了datepicker教程。我不确定如何使用编辑文本将datepicker教程实施到我的项目中。

这是我的RegisterActivity.java文件的一部分,当用户单击注册时,我想验证数据。我已经想出了如何验证电子邮件/密码,但是不知道如何在我的代码中添加日期差。我还添加了名为的提交表单函数。...

我不确定输出应该是什么样子或如何在项目中实现年龄验证,因为我对使用Android Studio还是很陌生,并且对如何最好地实现这一点也持开放态度。进入我的项目。

这是我的RegisterActivity.java文件的一部分,当用户单击注册时,我想验证数据。我已经想出了如何验证电子邮件/密码,但是不知道如何在我的代码中添加日期差。我还添加了名为的提交表单函数。...

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 个答案:

答案 0 :(得分:2)

将注册输入中的出生日期从String转换为Date,如下所示:

.model small
.stack 100h
.data
        arr DW 4800h,1600h,3200h
        gcd DW ?

.code
        main proc
                mov ax,@data
                mov ds,ax

                mov cx,0
                mov si,offset arr
                mov bx,[si]
                jmp L1

        L1:

                inc si
                inc cx
                mov ax,[si]

                jmp compare

       compare:

                cmp ax,bx
                jg up1
                jb excg
        up1:


                aad
                div bx
                cmp dx,0000h
                je exit
                jmp up2


       excg:
               xchg ax,bx
               jmp up1
       up2:

                mov ax,bx
                mov bx,dx
                mov dx,0
                jmp up1
       exit:
                mov gcd,bx
                cmp cx,2
                jne L1
        je display

      display:         


                mov dx,bx
                mov ah,2
                int 21h

                mov ax,4c00h
                int 21h

                main endp

     end main

然后将出生日期传递给用于计算年龄的方法:

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

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

答案 1 :(得分:1)

看起来您正在遵循很长的路要执行此任务。您只需使用DatePicker(Android Date Picker Official Docs

并设置日期的选择范围,在TextView上设置(由用户选择)日期。用于处理点击事件的用户界面。

创建界面。

public interface IOnItemClickListenerCountryStates {
    void onAgeClick(String Date);

}