In this Project we are developing app for user , where user can register ,after the registration user can login with the credintial supplied for registration using Firebase
Code:-
MainActivity:-
package com.example.authenticate;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class
MainActivity extends AppCompatActivity implementsView.OnClickListener
{
private TextView register;
private EditText editTextEmail,editTextPassword;
private
Button siggin;
private FirebaseAuth mAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
register = (TextView) findViewById(R.id.register);
register.setOnClickListener((View.OnClickListener) this);
signin= (Butto) findViewById(R.id.signin);
signiin.setOnClickListener((View.OnClickListener) this);
}
@Override
public void onClick(View view)
{
switch (view.getId())
{
case R.id.register:
startActivity(new Intent(this, RegisterUser.class));
break;
case R.id.signin:
Userlogin();
break;
}
private void Userlogin()
{
String email = editTextEmail.getText().toString().trim();String password = editTextPassword.getText().toString().trim();
if(email.isEmpty()){
editTextEmail.setError("email is required");return;
}
if(password.isEmpty())
{
editTextPassword.setError("Password is required");editTextPassword.requestFocus();
return;
}
mAuth.createUserWithEmailAndPassword(email,password).addOnCompleteListener(new OnCompleteListener()
package com.example.authenticate;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Patterns;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.FirebaseDatabase;
public class RegisterUser extends AppCompatActivity implementsView.OnClickListener {
private TextView login1;
private EditText
editTextFullName,editTextAge,editTextEmail,editTextPassword;private Button registerUser;
private FirebaseAuth mAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register_user);
login1 = (TextView) findViewById(R.id.login1);
login1.setOnClickListener((View.OnClickListener) this);registerUser = (Button) findViewById(R.id.registerUser);registerUser.setOnClickListener(this);
editTextFullName = (EditText) findViewById(R.id.fullname);editTextAge = (EditText) findViewById(R.id.age);
editTextEmail = (EditText) findViewById(R.id.email);editTextPassword =(EditText) findViewById(R.id.password);}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.login1:
startActivity(new Intent(this, MainActivity.class));break;
case R.id.registerUser:
registerUser();
break;
}
}
private void registerUser() {
String email = editTextEmail.getText().toString().trim();String password = editTextPassword.getText().toString().trim();String fullname = editTextFullName.getText().toString().trim();String age = editTextAge.getText().toString().trim();if(fullname.isEmpty()){
editTextFullName.setError("fullname is required");return;
}
if(age.isEmpty()){
editTextAge.setError("age is required");
return;
}
if(email.isEmpty()){
editTextEmail.setError("email is required");
return;
}
if(!Patterns.EMAIL_ADDRESS.matcher(email).matches()){editTextEmail.setError("Please Provide valid Email");editTextEmail.requestFocus();
return;
}
if(password.isEmpty()){
editTextPassword.setError("Password is required");editTextPassword.requestFocus();
return;
}
if(password.length() < 6){
editTextPassword.setError("Plase provide 6 characters password");editTextPassword.requestFocus();
return;
}
mAuth.createUserWithEmailAndPassword(email,password)
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {@Override
public void onComplete(@NonNull Task<AuthResult>task) {if (task.isSuccessful()) {
User user = new User(fullname, age,email);FirebaseDatabase.getInstance().getReference("Users")
.child(FirebaseAuth.getInstance().getCurrentUser().getUid())
.setValue(user).addOnCompleteListener(newOnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void>task) {
if(task.isSuccessful()){Toast.makeText(RegisterUser.this,"User has been registered!Welcome",Toast.LENGTH_LONG).show();
//redirect to login layout}
else{
Toast.makeText(RegisterUser.this,"Failed to
Register",Toast.LENGTH_LONG).show();
}
}
});
}else{
Toast.makeText(RegisterUser.this,"Failed toRegister",Toast.LENGTH_LONG).show();
}
}
});
}
}
User.java:-
package com.example.authenticate;
public class User {
public String fullname,age,email;
public User(){
}
public User(String fullname,String age,String email){this .fullname =fullname;
this.age=age;
this.email = email;}
}
public class User {
public String fullname,age,email;
public User(){
}
public User(String fullname,String age,String email){this .fullname =fullname;
this.age=age;
this.email = email;}
}
Preview:-