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() 
{
@Override public void onComplete(@NonNull Tasktask)

if(task.isSuccessful()){
Toast.makeText(RegisterUser.this,"User has been registered!Welcome",Toast.LENGTH_LONG).show();   

else
{ Toast.makeText(RegisterUser.this,"Failed to Register",Toast.LENGTH_LONG).show(); 
}
}}); 
}
else{ 
Toast.makeText(RegisterUser.this,"Failed toRegister",Toast.LENGTH_LONG).show(); } 
}
}); 
}
}

Register.java:-

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;}
}



Preview:-




Here is the code and result of that app:-

Click Here for Code

Click Here for App