# Notes App A lightweight personal notes app for Android with plain text and checklist note types. ## Features - **Two Note Types**: Plain text notes and checklists - **Dark Mode Only**: Optimized for low-light usage - **Sortable List**: Sort by date (most/oldest) or alphabetically (A-Z/Z-A) - **Swipe to Delete**: Swipe any note left/right to delete with confirmation - **Auto-save**: Notes are automatically saved as you type - **Checklist Features**: - Add/remove items - Toggle checkboxes - Progress indicator (X/Y completed) - **"Delete All Checked" button** - Remove all checked items at once ## Requirements - Android Studio Hedgehog or later - JDK 17 - Minimum SDK: API 24 (Android 7.0) - Target SDK: API 34 (Android 14) ## How to Build 1. Open Android Studio 2. Select **File > Open** and navigate to the `NotesApp` folder 3. Wait for Gradle sync to complete 4. Connect an Android device or start an emulator (API 24+) 5. Click **Run** (Shift+F10) or select **Run > Run 'app'** ## Project Structure ``` NotesApp/ ├── app/src/main/java/com/notesapp/ │ ├── MainActivity.java # Main activity hosting fragments │ ├── fragments/ │ │ ├── NotesListFragment.java # Note list with sorting & swipe-to-delete │ │ └── NoteEditorFragment.java # Editor for text and checklist notes │ ├── adapters/ │ │ ├── NotesAdapter.java # RecyclerView adapter for note cards │ │ └── ChecklistAdapter.java # RecyclerView adapter for checklist items │ ├── models/ │ │ ├── Note.java # Data model with JSON serialization │ │ └── ChecklistItem.java # Checklist item data model │ └── utils/ │ └── NotesStorage.java # SharedPreferences storage layer ├── app/src/main/res/ │ ├── layout/ # XML layouts │ ├── drawable/ # Vector icons │ └── values/ # Colors, strings, themes └── build.gradle # App configuration ``` ## Storage Notes are stored in SharedPreferences with the following structure: - `note_count`: Next available ID - `sort_order`: Current sort preference - Per-note data (JSON serialized): type, title, content/items, timestamp ## License Personal use only.