我正在开发一个Android应用程序,显示该区域的酒吧特价,我想确保使用我们的应用程序的唯一用户是21岁以上。我使用编辑文本创建了登录/注册活动,并将输入到编辑文本中的信息发送到mySQL数据库。
我已经在youtube / stack overflow / google上搜索了有关这方面的帮助,我只找到了datepicker教程。我不确定如何使用编辑文本将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();
}
}
});
提交表格()
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());
}
将注册输入中的出生日期从字符串转换为日期,如下所示:
String DOB = signup_input_DOB.getText().toString();
Date dateOfBirth=new SimpleDateFormat("dd/MM/yyyy").parse(DOB);
然后将出生日期传递给计算年龄的方法:
int age = currentDate.getYear() - dateOfBirth.getYear();
看起来你正在完成这项任务。你可以简单地使用DatePicker(Android Date Picker Official Docs
并设置日期的选择范围,在TextView上设置所选日期(由用户)。用于处理click事件的用户界面。
创建界面。
public interface IOnItemClickListenerCountryStates {
void onAgeClick(String Date);
}