Login App made with firebase as database(CommonLogger)

So the app starts with a registration menu and an option to login if you are an old user and redirect you to the login screen and if the login is successful it redirects to welcome screen with log out button.


Backend:

MainActivity.java(Registration menu):

package tripathi.aditya.commonlogger;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
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.FirebaseAuthException;
public class MainActivity extends AppCompatActivity {
EditText email,password;
Button register;
private FirebaseAuth firebaseAuth;
TextView lgn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
email=(EditText) findViewById(R.id.email);
password=(EditText) findViewById(R.id.password);
register=(Button)findViewById(R.id.register);
lgn=(TextView)findViewById(R.id.lgn);
firebaseAuth=firebaseAuth.getInstance();
register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String emailID=email.getText().toString();
String pwd=password.getText().toString();
if(emailID.isEmpty()||pwd.isEmpty()){
Toast.makeText(MainActivity.this,"Please fill all spaces",Toast.LENGTH_SHORT).show();
}else{
firebaseAuth.createUserWithEmailAndPassword(emailID,pwd).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()) {
Toast.makeText(MainActivity.this, "Registration Successful", Toast.LENGTH_SHORT).show();
startActivity(new Intent(MainActivity.this, welcome.class));
}else{
FirebaseAuthException e = (FirebaseAuthException )task.getException();
Toast.makeText(MainActivity.this,"Registration Failed"+e.getMessage(),Toast.LENGTH_SHORT).show();
}
}
});
}
}
});
lgn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this,login.class));
}
});
}
}

login.java:

package tripathi.aditya.commonlogger;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
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.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseAuthException;
import com.google.firebase.auth.FirebaseUser;
public class login extends AppCompatActivity {
EditText username,password;
TextView register;
Button login;
private FirebaseAuth gg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
username=(EditText)findViewById(R.id.username);
password=(EditText)findViewById(R.id.password);
login=(Button)findViewById(R.id.login);
register=(TextView)findViewById(R.id.register);
gg=gg.getInstance();
FirebaseUser user = gg.getCurrentUser();
if(user!=null){
finish();
startActivity(new Intent(login.this,welcome.class));
}
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String emailID= username.getText().toString();
String pwd=password.getText().toString();
if(emailID.isEmpty()||pwd.isEmpty()){
Toast.makeText(login.this, "Enter in all fields", Toast.LENGTH_SHORT).show();
}else {
gg.signInWithEmailAndPassword(emailID,pwd).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
Toast.makeText(login.this, "Login Successful", Toast.LENGTH_SHORT).show();
FirebaseUser user = gg.getCurrentUser();
startActivity(new Intent(login.this, welcome.class));
}else{
FirebaseAuthException e = (FirebaseAuthException )task.getException();
Toast.makeText(login.this, "Login failed"+e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
});
}
}
});
register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
startActivity(new Intent(login.this,MainActivity.class));
}
});
}
}
view raw login.java hosted with ❤ by GitHub

welcome.java


package tripathi.aditya.commonlogger;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import com.google.firebase.auth.FirebaseAuth;
public class welcome extends AppCompatActivity {
TextView textView;
Button signout;
FirebaseAuth auth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
textView =(TextView)findViewById(R.id.textView);
signout=(Button)findViewById(R.id.signout);
textView.setText("You are logged in");
signout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FirebaseAuth.getInstance().signOut();
finish();
startActivity(new Intent(welcome.this,login.class));
}
});
}
}
view raw welcome.java hosted with ❤ by GitHub
Frontend:

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<EditText
android:id="@+id/email"
android:layout_width="274dp"
android:layout_height="55dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:background="@drawable/password"
android:hint="Email"
android:inputType="textEmailAddress"
android:textAlignment="center"
android:textSize="25sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.481" />
<EditText
android:id="@+id/password"
android:layout_width="277dp"
android:layout_height="55dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:background="@drawable/password"
android:hint="Password"
android:inputType="textPassword"
android:textAlignment="center"
android:textSize="25sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.601" />
<Button
android:id="@+id/register"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:background="@drawable/register"
android:text="Register"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.73" />
<TextView
android:id="@+id/lgn"
android:layout_width="201dp"
android:layout_height="39dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:text="Old User? Login "
android:textSize="25sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.847" />
</android.support.constraint.ConstraintLayout>
activity_login.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".login">
<EditText
android:id="@+id/username"
android:layout_width="257dp"
android:layout_height="47dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:background="@drawable/password"
android:hint="Username"
android:textAlignment="center"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/password"
android:layout_width="257dp"
android:layout_height="47dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:background="@drawable/password"
android:hint="Password"
android:inputType="textPassword"
android:textAlignment="center"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.612" />
<Button
android:id="@+id/login"
android:layout_width="103dp"
android:layout_height="52dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="Login"
android:background="@drawable/register"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.775" />
<TextView
android:id="@+id/register"
android:layout_width="265dp"
android:layout_height="42dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="New User? Register"
android:textSize="27sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.63"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.891" />
</android.support.constraint.ConstraintLayout>

activity_welcome.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".welcome">
<Button
android:id="@+id/signout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="Log Out"
android:background="@drawable/register"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.635" />
<TextView
android:id="@+id/textView"
android:layout_width="227dp"
android:layout_height="72dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="Test"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>

So that is how the app integrates and comes out as ->



Comments

Popular posts from this blog

C++ programming toll plaza simulation program