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):
login.java:
welcome.java
Backend:
MainActivity.java(Registration menu):
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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)); | |
} | |
}); | |
} | |
} |
welcome.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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)); | |
} | |
}); | |
} | |
} |
activity_main.xml:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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
Post a Comment
Feel free to leave a comment...