Firebase Authentication signup,login, mail in android
Firebase Authentication
create email and password and send Verification mail to the user
email with firebase.
package com.example.bestnoteapp;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
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.android.material.snackbar.Snackbar;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
public class signup extends AppCompatActivity {
EditText email,password;
Button signupbtn,loginbtn;
TextView Logintext;
private FirebaseAuth mAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signup);
email = findViewById(R.id.signupemail);
password = findViewById(R.id.signuppassword);
loginbtn = findViewById(R.id.Login);
signupbtn = findViewById(R.id.signup);
Logintext = findViewById(R.id.Loginbtn);
mAuth = FirebaseAuth.getInstance();
loginbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(signup.this,MainActivity.class);
startActivity(intent);
}
});
Logintext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(signup.this,MainActivity.class);
startActivity(intent);
}
});
signupbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String mail = email.getText().toString().trim();
String pass = password.getText().toString().trim();
if(mail.isEmpty()){
Toast.makeText(getApplicationContext(), "Email is not Blank please enter email", Toast.LENGTH_SHORT).show();
Snackbar mysnackbar = Snackbar.make(loginbtn,"Email is not Blank",Snackbar.LENGTH_SHORT);
mysnackbar.setAction("undo", new View.OnClickListener() {
@Override
public void onClick(View view) {
mysnackbar.dismiss();
}
});
mysnackbar.show();
}else if(pass.isEmpty()){
Toast.makeText(getApplicationContext(), "Password is not Blank", Toast.LENGTH_SHORT).show();
}else if(pass.length() < 5){
Toast.makeText(signup.this, "Password char most be greater then 5", Toast.LENGTH_SHORT).show();
}else{
// Intent intent = new Intent(signup.this,MainActivity.class);
// startActivity(intent);
mAuth.createUserWithEmailAndPassword(mail,pass).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
Toast.makeText(getApplicationContext(), "successfully register", Toast.LENGTH_SHORT).show();
sendEmailVerification();
}else{
Toast.makeText(getApplicationContext(), "Failed to register", Toast.LENGTH_SHORT).show();
}
}
});
}
}
});
}
//send email verification
private void sendEmailVerification(){
FirebaseUser firebaseUser = mAuth.getCurrentUser();
if(firebaseUser != null){
firebaseUser.sendEmailVerification().addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
Toast.makeText(getApplicationContext(), "verification email is send and Login again", Toast.LENGTH_SHORT).show();
mAuth.signOut();
finish();
startActivity(new Intent(signup.this,MainActivity.class));
}
});
}
}
}
SignIn with Email and Password
package com.example.bestnoteapp;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
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.auth.FirebaseUser;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
public class MainActivity extends AppCompatActivity {
EditText email,password;
Button logins,signup;
TextView forgotpassword;
FirebaseAuth firebaseAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
firebaseAuth = FirebaseAuth.getInstance();
FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
if(firebaseUser != null){
startActivity(new Intent(getApplicationContext(),notesactivity.class));
}
// Write a message to the database
// insert data into realtime database
// FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
// DatabaseReference databaseReference = firebaseDatabase.getReference();
// databaseReference.child("user").child("userId").setValue(1);
// databaseReference.child("user").child("name").setValue("krishna");
FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
DatabaseReference databaseReference = firebaseDatabase.getReference().child("Books");
// databaseReference.child("user").child("email").setValue(email.getText().toString());
// databaseReference.child("user").child("password").setValue(password.getText().toString());
email = findViewById(R.id.login_email);
password = findViewById(R.id.login_password);
logins = findViewById(R.id.login_button);
signup = findViewById(R.id.signupbtns);
forgotpassword = findViewById(R.id.forgot_password);
logins.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String emails = email.getText().toString().toString();
String passwords = password.getText().toString().toString();
if(emails.isEmpty() || passwords.isEmpty()){
Toast.makeText(MainActivity.this, "Email and password most be field", Toast.LENGTH_SHORT).show();
}else{
// Intent intent = new Intent(MainActivity.this,forgot_password.class);
// startActivity(intent);
firebaseAuth.signInWithEmailAndPassword(emails,passwords).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
CheckMailVerified();
// Toast.makeText(MainActivity.this, "you are Login", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(MainActivity.this, "Please Enter a correct details", Toast.LENGTH_SHORT).show();
}
}
});
}
}
});
signup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,signup.class);
startActivity(intent);
}
});
forgotpassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,forgot_password.class);
startActivity(intent);
}
});
}
private void CheckMailVerified(){
FirebaseUser currentUser = firebaseAuth.getCurrentUser();
if(currentUser.isEmailVerified() == true){
Toast.makeText(getApplicationContext(), "Logged In", Toast.LENGTH_SHORT).show();
finish();
startActivity(new Intent(MainActivity.this,signup.class));
}else{
Toast.makeText(getApplicationContext(), "Verified your mail first", Toast.LENGTH_SHORT).show();
firebaseAuth.signOut();
startActivity(new Intent(MainActivity.this,notesactivity.class));
}
}
}
Forgot Password
package com.example.bestnoteapp;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
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.FirebaseAuth;
public class forgot_password extends AppCompatActivity {
EditText email;
Button recover;
TextView gobacktoLogin;
FirebaseAuth firebaseAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_forgot_password);
email = findViewById(R.id.email);
recover = findViewById(R.id.recover);
gobacktoLogin = findViewById(R.id.gobacktoLogin);
firebaseAuth = FirebaseAuth.getInstance();
recover.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String emailtext = email.getText().toString().trim();
if(emailtext.isEmpty()){
Toast.makeText(forgot_password.this, "Email Can't be blank", Toast.LENGTH_SHORT).show();
}else{
FirebaseAuth.getInstance().sendPasswordResetEmail(emailtext)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(forgot_password.this, "your password is Forgot successfully", Toast.LENGTH_SHORT).show();
finish();
Intent intent = new Intent(forgot_password.this,signup.class);
startActivity(intent);
}else{
Toast.makeText(forgot_password.this, "Email is wrong,Account doesn't Exist", Toast.LENGTH_SHORT).show();
}
}
});
}
}
});
gobacktoLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(forgot_password.this, MainActivity.class);
startActivity(intent);
}
});
}
}
How to insert data into firebase database:
First create a java class file inside the class create constructor, Geter and setter.
package com.example.androidtutorial;
public class student {
String name;
String desc;
String Address;
public student(String name, String desc, String address) {
this.name = name;
this.desc = desc;
this.Address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public String getAddress() {
return Address;
}
public void setAddress(String address) {
this.Address = address;
}
}
inside mainpage: call the constructor
private void Submitdata(){
submit.setOnClickListener(v->{
String yname = name.getText().toString();
String yaddress = address.getText().toString();
String ydesc = desc.getText().toString();
if(yname.isEmpty() || yaddress.isEmpty() || ydesc.isEmpty()){
Toast.makeText(this, "All Field are available", Toast.LENGTH_SHORT).show();
}else{
Intent intent = new Intent(this,GetuserDataIntent.class);
intent.putExtra("name",yname);
intent.putExtra("address",yaddress);
intent.putExtra("desc",ydesc);
intent.putExtra("image",R.drawable.ic_launcher_background);
startActivity(intent);
Toast.makeText(this, "submit data", Toast.LENGTH_SHORT).show();
student = firebaseDatabase.getReference().child("student");
// creating a constructor and set value
student data = new student(yname,ydesc,yaddress);
student.push().setValue(data);
}
});
}
Insert only one data in firbase Realtime database
private void insertdata(){
DatabaseReference name = firebaseDatabase.getReference("UserData").child("UserId").child("name");
DatabaseReference desc = firebaseDatabase.getReference("UserData").child("UserId").child("desc");
DatabaseReference address = firebaseDatabase.getReference("UserData").child("UserId").child("address");
name.setValue("Krishna");
desc.setValue("Hello world");
address.setValue("Walling 13");
}
Comments
Post a Comment