SQLite Display User Data

Step 1: Create the design

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:padding="20dp"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <EditText
        android:id="@+id/etEmail"
        android:hint="Enter Email"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

    <Button
        android:id="@+id/btnFetch"
        android:text="Fetch User"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

    <TextView
        android:id="@+id/tvData"
        android:textSize="18sp"
        android:paddingTop="20dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

</LinearLayout>

Step 2: Create Java helper class

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);
    }

    // 🔎 Get user by email
    public Cursor getUserByEmail(String email) {
        SQLiteDatabase db = this.getReadableDatabase();
        return db.rawQuery("SELECT * FROM users WHERE email=?",
                new String[]{email});
    }
}

Step 3: MainActivity.java

import androidx.appcompat.app.AppCompatActivity;

import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    EditText etEmail;
    Button btnFetch;
    TextView tvData;
    DBHelper db;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        etEmail = findViewById(R.id.etEmail);
        btnFetch = findViewById(R.id.btnFetch);
        tvData = findViewById(R.id.tvData);

        db = new DBHelper(this);

        btnFetch.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                fetchUser();
            }
        });
    } // End of onCreate method

    private void fetchUser() {

        String email = etEmail.getText().toString().trim();

        Cursor cursor = db.getUserByEmail(email);

        if (cursor.moveToFirst()) {

            String name = cursor.getString(1);
            String contact = cursor.getString(2);
            String address = cursor.getString(3);

            String result =
                    "Name: " + name + "\n\n" +
                            "Email: " + email + "\n\n" +
                            "Contact: " + contact + "\n\n" +
                            "Address: " + address;

            tvData.setText(result);

        } else {
            tvData.setText("User not found");
        }
        cursor.close();
    }
}