Log in/Sign up
//DatabaseHelper.java package com.example.yourapp; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.*; public class DatabaseHelper extends SQLiteOpenHelper { public static final String DATABASE_NAME = "UserDB.db"; public static final String TABLE_NAME = "users"; public static final String COL_1 = "ID"; public static final String COL_2 = "USERNAME"; public static final String COL_3 = "PASSWORD"; public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, 1); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, USERNAME TEXT, PASSWORD TEXT)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); onCreate(db); } public boolean insertUser(String username, String password) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put(COL_2, username); contentValues.put(COL_3, password); long result = db.insert(TABLE_NAME, null, contentValues); return result != -1; } public boolean checkUser(String username, String password) { SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_NAME + " WHERE USERNAME=? AND PASSWORD=?", new String[]{username, password}); return cursor.getCount() > 0; } public boolean userExists(String username) { SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_NAME + " WHERE USERNAME=?", new String[]{username}); return cursor.getCount() > 0; } } //LoginActivity.java package com.example.yourapp; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.*; import androidx.appcompat.app.AppCompatActivity; public class LoginActivity extends AppCompatActivity { EditText username, password; Button loginBtn, signupRedirectBtn; DatabaseHelper db; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); username = findViewById(R.id.etUsername); password = findViewById(R.id.etPassword); loginBtn = findViewById(R.id.btnLogin); signupRedirectBtn = findViewById(R.id.btnSignupRedirect); db = new DatabaseHelper(this); loginBtn.setOnClickListener(v -> { String user = username.getText().toString(); String pass = password.getText().toString(); if (db.checkUser(user, pass)) { Toast.makeText(LoginActivity.this, "Login Successful", Toast.LENGTH_SHORT).show(); startActivity(new Intent(LoginActivity.this, MainActivity.class)); finish(); } else { Toast.makeText(LoginActivity.this, "Invalid credentials", Toast.LENGTH_SHORT).show(); } }); signupRedirectBtn.setOnClickListener(v -> startActivity(new Intent(LoginActivity.this, SignupActivity.class))); } } //SignupActivity package com.example.yourapp; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.*; import androidx.appcompat.app.AppCompatActivity; public class SignupActivity extends AppCompatActivity { EditText username, password, confirmPassword; Button signupBtn; DatabaseHelper db; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_signup); username = findViewById(R.id.etUsernameSignup); password = findViewById(R.id.etPasswordSignup); confirmPassword = findViewById(R.id.etConfirmPassword); signupBtn = findViewById(R.id.btnSignup); db = new DatabaseHelper(this); signupBtn.setOnClickListener(v -> { String user = username.getText().toString(); String pass = password.getText().toString(); String cpass = confirmPassword.getText().toString(); if (user.equals("") || pass.equals("") || cpass.equals("")) { Toast.makeText(SignupActivity.this, "All fields are required", Toast.LENGTH_SHORT).show(); } else if (!pass.equals(cpass)) { Toast.makeText(SignupActivity.this, "Passwords do not match", Toast.LENGTH_SHORT).show(); } else if (db.userExists(user)) { Toast.makeText(SignupActivity.this, "User already exists", Toast.LENGTH_SHORT).show(); } else { if (db.insertUser(user, pass)) { To

//DatabaseHelper.java
package com.example.yourapp;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.*;
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "UserDB.db";
public static final String TABLE_NAME = "users";
public static final String COL_1 = "ID";
public static final String COL_2 = "USERNAME";
public static final String COL_3 = "PASSWORD";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, USERNAME TEXT, PASSWORD TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
public boolean insertUser(String username, String password) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL_2, username);
contentValues.put(COL_3, password);
long result = db.insert(TABLE_NAME, null, contentValues);
return result != -1;
}
public boolean checkUser(String username, String password) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_NAME + " WHERE USERNAME=? AND PASSWORD=?", new String[]{username, password});
return cursor.getCount() > 0;
}
public boolean userExists(String username) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_NAME + " WHERE USERNAME=?", new String[]{username});
return cursor.getCount() > 0;
}
}
//LoginActivity.java
package com.example.yourapp;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.*;
import androidx.appcompat.app.AppCompatActivity;
public class LoginActivity extends AppCompatActivity {
EditText username, password;
Button loginBtn, signupRedirectBtn;
DatabaseHelper db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
username = findViewById(R.id.etUsername);
password = findViewById(R.id.etPassword);
loginBtn = findViewById(R.id.btnLogin);
signupRedirectBtn = findViewById(R.id.btnSignupRedirect);
db = new DatabaseHelper(this);
loginBtn.setOnClickListener(v -> {
String user = username.getText().toString();
String pass = password.getText().toString();
if (db.checkUser(user, pass)) {
Toast.makeText(LoginActivity.this, "Login Successful", Toast.LENGTH_SHORT).show();
startActivity(new Intent(LoginActivity.this, MainActivity.class));
finish();
} else {
Toast.makeText(LoginActivity.this, "Invalid credentials", Toast.LENGTH_SHORT).show();
}
});
signupRedirectBtn.setOnClickListener(v -> startActivity(new Intent(LoginActivity.this, SignupActivity.class)));
}
}
//SignupActivity
package com.example.yourapp;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.*;
import androidx.appcompat.app.AppCompatActivity;
public class SignupActivity extends AppCompatActivity {
EditText username, password, confirmPassword;
Button signupBtn;
DatabaseHelper db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signup);
username = findViewById(R.id.etUsernameSignup);
password = findViewById(R.id.etPasswordSignup);
confirmPassword = findViewById(R.id.etConfirmPassword);
signupBtn = findViewById(R.id.btnSignup);
db = new DatabaseHelper(this);
signupBtn.setOnClickListener(v -> {
String user = username.getText().toString();
String pass = password.getText().toString();
String cpass = confirmPassword.getText().toString();
if (user.equals("") || pass.equals("") || cpass.equals("")) {
Toast.makeText(SignupActivity.this, "All fields are required", Toast.LENGTH_SHORT).show();
} else if (!pass.equals(cpass)) {
Toast.makeText(SignupActivity.this, "Passwords do not match", Toast.LENGTH_SHORT).show();
} else if (db.userExists(user)) {
Toast.makeText(SignupActivity.this, "User already exists", Toast.LENGTH_SHORT).show();
} else {
if (db.insertUser(user, pass)) {
Toast.makeText(SignupActivity.this, "Signup Successful", Toast.LENGTH_SHORT).show();
startActivity(new Intent(SignupActivity.this, LoginActivity.class));
finish();
} else {
Toast.makeText(SignupActivity.this, "Signup Failed", Toast.LENGTH_SHORT).show();
}
}
});
}
}
//activity_login.xml
//activity_signup.xml
Steps to Integrate Login/Signup