Step 1: Create the design
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:padding="24dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText android:id="@+id/etEmail"
android:hint="Email"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<EditText android:id="@+id/etPassword"
android:hint="Password"
android:inputType="textPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btnLogin"
android:text="Login"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>

Step 2: Create java helper class
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DBHelper extends SQLiteOpenHelper {
public static final String DB_NAME = "UserDB.db";
public DBHelper(Context context) {
super(context, DB_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE users(" +
"email TEXT PRIMARY KEY," +
"name TEXT," +
"address TEXT," +
"contact TEXT," +
"password TEXT)");
// Insert dummy data
db.execSQL("INSERT INTO users (email, name, address, contact, password) VALUES ('dummy@example.com', 'John Doe', '123 Main St, Springfield', '123-456-7890', 'password123')");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS users");
onCreate(db);
}
// Check login
public boolean checkUser(String email, String password) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(
"SELECT * FROM users WHERE email=? AND password=?",
new String[]{email, password});
return cursor.getCount() > 0;
}
}
Step 3: Create a second page to display welcome message after the successful login and then modify the code MainActivity.java
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.Toast;
public class MainActivity extends AppCompatActivity {
EditText etEmail, etPassword;
Button btnLogin;
DBHelper db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
db = new DBHelper(this);
etEmail = findViewById(R.id.etEmail);
etPassword = findViewById(R.id.etPassword);
btnLogin = findViewById(R.id.btnLogin);
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
boolean check = db.checkUser(
etEmail.getText().toString(),
etPassword.getText().toString());
if (check) {
Intent i = new Intent(MainActivity.this, Second_Page.class);
startActivity(i);
} else {
Toast.makeText(MainActivity.this, "Invalid Credentials", Toast.LENGTH_SHORT).show();
}
}
});
}
}
