Android,Kotlin 使用 firebase
Android, Kotlin using firebase
希望你一切顺利。
我有以下代码,我用它来创建一个使用 firebase 的帐户。我已经使用这些语句来验证凭据。我不知道该怎么做才能验证这个问题的 post,很抱歉不得不阅读这篇文章。
class SignUp : AppCompatActivity() {
private lateinit var binding: ActivitySignUpBinding
private lateinit var actionBar: ActionBar
private lateinit var progressDialog: ProgressDialog
private lateinit var firebaseAuth: FirebaseAuth
private var email=""
private var password=""
private var passwordrepeat=""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivitySignUpBinding.inflate(layoutInflater)
setContentView(binding.root)
actionBar = supportActionBar!!
actionBar.title="Sign Up"
actionBar.setDisplayHomeAsUpEnabled(true)
actionBar.setDisplayShowHomeEnabled(true)
progressDialog = ProgressDialog(this)
progressDialog.setTitle("Please Wait")
progressDialog.setMessage("Creating account")
progressDialog.setCanceledOnTouchOutside(false)
firebaseAuth = FirebaseAuth.getInstance()
binding.buttonSignUp.setOnClickListener{
validateData()
}
}
val EMAIL_ADDRESS_PATTERN = Pattern.compile(
"[a-zA-Z0-9\+\.\_\%\-\+]{1,256}" +
"\@" +
"test" +
"(" +
"\." +
"com" +
")+"
)
fun isValidString(str: String): Boolean{
return EMAIL_ADDRESS_PATTERN.matcher(str).matches()
}
private fun validateData() {
email = binding.emailText.text.toString().trim()
password = binding.passwordText.text.toString().trim()
passwordrepeat = binding.passwordText2.text.toString().trim()
if (!isValidString(email)) {
binding.emailTF.error = "Use ipvc email"
// } else if(){
}else if (TextUtils.isEmpty(password)) {
binding.passwordTF.error = "Please enter password"
}else if(TextUtils.isEmpty(passwordrepeat)){
binding.passwordTF2.error="Please repeat password"
}else if(password != passwordrepeat) {
binding.passwordTF2.error="Passwords don´t match"
}else if (password.length < 6){
binding.passwordTF.error = "Password must have atleast 6 caracters"
}else{
firebaseSignUp()
}
}
private fun firebaseSignUp() {
progressDialog.show()
firebaseAuth.createUserWithEmailAndPassword(email, password)
.addOnSuccessListener {
val firebaseUser = firebaseAuth.currentUser
val email = firebaseUser!!.email
Toast.makeText(this, "Account have been created with email $email", Toast.LENGTH_LONG)
startActivity(Intent(this, Perfil::class.java))
finish()
}
.addOnFailureListener{e->
progressDialog.dismiss()
Toast.makeText(this, "Sign Up Failded due to ${e.message}", Toast.LENGTH_LONG)
}
}
override fun onSupportNavigateUp(): Boolean {
onBackPressed() //Voltar a atrás quando o botão é pressionado
return super.onSupportNavigateUp()
}
如何在创建帐户时添加验证该帐户是否已创建的验证?本例中的用户名是电子邮件。
您的失败侦听器将通过 FirebaseAuthUserCollisionException
指示用户的电子邮件已被占用。
您可以在 documentation.
中阅读有关此问题和其他失败案例的更多信息
希望你一切顺利。
我有以下代码,我用它来创建一个使用 firebase 的帐户。我已经使用这些语句来验证凭据。我不知道该怎么做才能验证这个问题的 post,很抱歉不得不阅读这篇文章。
class SignUp : AppCompatActivity() {
private lateinit var binding: ActivitySignUpBinding
private lateinit var actionBar: ActionBar
private lateinit var progressDialog: ProgressDialog
private lateinit var firebaseAuth: FirebaseAuth
private var email=""
private var password=""
private var passwordrepeat=""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivitySignUpBinding.inflate(layoutInflater)
setContentView(binding.root)
actionBar = supportActionBar!!
actionBar.title="Sign Up"
actionBar.setDisplayHomeAsUpEnabled(true)
actionBar.setDisplayShowHomeEnabled(true)
progressDialog = ProgressDialog(this)
progressDialog.setTitle("Please Wait")
progressDialog.setMessage("Creating account")
progressDialog.setCanceledOnTouchOutside(false)
firebaseAuth = FirebaseAuth.getInstance()
binding.buttonSignUp.setOnClickListener{
validateData()
}
}
val EMAIL_ADDRESS_PATTERN = Pattern.compile(
"[a-zA-Z0-9\+\.\_\%\-\+]{1,256}" +
"\@" +
"test" +
"(" +
"\." +
"com" +
")+"
)
fun isValidString(str: String): Boolean{
return EMAIL_ADDRESS_PATTERN.matcher(str).matches()
}
private fun validateData() {
email = binding.emailText.text.toString().trim()
password = binding.passwordText.text.toString().trim()
passwordrepeat = binding.passwordText2.text.toString().trim()
if (!isValidString(email)) {
binding.emailTF.error = "Use ipvc email"
// } else if(){
}else if (TextUtils.isEmpty(password)) {
binding.passwordTF.error = "Please enter password"
}else if(TextUtils.isEmpty(passwordrepeat)){
binding.passwordTF2.error="Please repeat password"
}else if(password != passwordrepeat) {
binding.passwordTF2.error="Passwords don´t match"
}else if (password.length < 6){
binding.passwordTF.error = "Password must have atleast 6 caracters"
}else{
firebaseSignUp()
}
}
private fun firebaseSignUp() {
progressDialog.show()
firebaseAuth.createUserWithEmailAndPassword(email, password)
.addOnSuccessListener {
val firebaseUser = firebaseAuth.currentUser
val email = firebaseUser!!.email
Toast.makeText(this, "Account have been created with email $email", Toast.LENGTH_LONG)
startActivity(Intent(this, Perfil::class.java))
finish()
}
.addOnFailureListener{e->
progressDialog.dismiss()
Toast.makeText(this, "Sign Up Failded due to ${e.message}", Toast.LENGTH_LONG)
}
}
override fun onSupportNavigateUp(): Boolean {
onBackPressed() //Voltar a atrás quando o botão é pressionado
return super.onSupportNavigateUp()
}
如何在创建帐户时添加验证该帐户是否已创建的验证?本例中的用户名是电子邮件。
您的失败侦听器将通过 FirebaseAuthUserCollisionException
指示用户的电子邮件已被占用。
您可以在 documentation.
中阅读有关此问题和其他失败案例的更多信息