/TODO-App-Android-Java

A clean and modern TODO app built with Material Design and SQLite database.

Primary LanguageJavaMIT LicenseMIT

Material Design TODO App (Android Java)

A clean and modern TODO app built with Material Design and SQLite database.

πŸ“² Download the App

You can download the latest APK from this link πŸ‘‰πŸ‘‰ Donwload APK.

πŸ“Œ Features

  • Add Tasks: Users can add new tasks with a simple dialog.
  • Edit Tasks: Easily update tasks with an edit button.
  • Delete Tasks: Remove tasks with a single click.
  • SQLite Database: Uses SQLite to store tasks persistently.
  • Material Design UI: Clean and modern interface following Google’s Material Design guidelines.

πŸ“± Screenshots

Add Task Task List Edit Task
Add Task Task List Edit Task

πŸ“₯ Installation

1️⃣ Clone the Repository

 git clone https://github.com/TutorialsAndroid/TODO-App-Android-Java.git

2️⃣ Open in Android Studio

  • Open Android Studio and select Open an Existing Project.
  • Navigate to the cloned folder and open the project.

3️⃣ Build & Run

  • Connect an Android device or start an Emulator.
  • Click Run ▢️ to install and launch the app.

βš™οΈ How It Works

1️⃣ Adding a Task

  • Click the Floating Action Button (FAB).
  • A dialog appears where you enter the task name.
  • Click Add Task and the task is saved to the database.

2️⃣ Editing a Task

  • Click the Edit button on a task.
  • Modify the task name and click Update.

3️⃣ Deleting a Task

  • Click the Delete button, and the task is removed from the list and database.

πŸ“‚ Project Structure

πŸ“ app/src/main/java/com/example/todoapp/
 β”œβ”€β”€ πŸ“„ MainActivity.java          # Main screen with task list
 β”œβ”€β”€ πŸ“„ TaskAdapter.java           # RecyclerView adapter for tasks
 β”œβ”€β”€ πŸ“„ Task.java                  # Task model class
 β”œβ”€β”€ πŸ“„ DatabaseHelper.java        # SQLite database management
 β”œβ”€β”€ πŸ“„ AddTaskDialog.java         # Dialog for adding tasks
 β”œβ”€β”€ πŸ“„ EditTaskDialog.java        # Dialog for editing tasks

πŸ—„οΈ SQLite Database Structure

The app uses an SQLite database to store tasks persistently.

Database: tasks.db

Column Type Description
id INTEGER PRIMARY KEY AUTOINCREMENT Unique task ID
title TEXT Task name

SQL Queries Used

  • Create Table
CREATE TABLE tasks (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    title TEXT
);
  • Insert Task
INSERT INTO tasks (title) VALUES ('New Task');
  • Retrieve Tasks
SELECT * FROM tasks;
  • Update Task
UPDATE tasks SET title = 'Updated Task' WHERE id = 1;
  • Delete Task
DELETE FROM tasks WHERE id = 1;

πŸ› οΈ Technologies Used

  • Java (Android Development)
  • SQLite (Database)
  • RecyclerView (Task List UI)
  • Material Design Components (UI Design)

πŸ—οΈ Future Improvements

βœ… Task Categories πŸ“‚
βœ… Task Reminders ⏰
βœ… Dark Mode πŸŒ™

πŸ™Œ Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you’d like to improve.

πŸ“œ License

This project is open-source and available under the MIT License.


πŸš€ Happy Coding! πŸš€