Skip to content
This repository was archived by the owner on Jun 18, 2025. It is now read-only.

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📱 Notes App Documentation

Overview

This is a simple Android Notes application developed in Kotlin using Fragments and a BottomNavigationView for navigation. It allows users to:

  • View a list of notes
  • Create and edit notes
  • Delete and share notes
  • Toggle between light and dark mode

📂 Project Structure

com.example.notes
├── MainActivity.kt
├── data
│   ├── Note.kt
│   └── NoteData.kt
├── fragments
│   ├── NotesListFragment.kt
│   ├── NoteDetailFragment.kt
│   └── SettingsFragment.kt
├── res
│   ├── layout/
│   ├── values/
│   ├── menu/
│   └── drawable/

📙 Fragments

1. NotesListFragment

  • Displays a list of saved notes.
  • Tapping a note opens it in NoteDetailFragment for editing.

2. NoteDetailFragment

  • Used for viewing, creating, editing, deleting, and sharing notes.
  • Dynamically receives a note index via newInstance(index: Int) or opens in “new note” mode.

3. SettingsFragment

  • Contains a toggle switch to change between Light and Dark themes.
  • Uses SharedPreferences to persist user preference.

📂 NoteData.kt

Handles loading notes from a bundled notes.json file in the assets folder.

fun loadNotes(context: Context)
  • Notes are loaded only once at startup.
  • Currently, no persistent save (notes are lost after app restart).

🔘 BottomNavigationView

Located in activity_main.xml, this allows switching between fragments.

Menu Items:

  • Notes: Shows all notes
  • New: Opens a blank NoteDetailFragment
  • Settings: Opens settings

Customizations:

  • Icon and text tint are styled via ColorStateList files.
  • Night mode support added using values-night/colors.xml.

🎨 Theme Support

  • Uses AppCompatDelegate to switch themes.
  • Custom themes defined in styles.xml (Light) and styles-night.xml (Dark).

📌 Known Limitations

  • Notes are not saved persistently (no file/db saving after editing).
  • No filtering or search on the notes list.
  • Theme toggle does not dynamically update all UI elements (only after restart).

✅ To Do / Suggestions

  • Implement persistent save using:
    • SharedPreferences
    • Room Database
    • Writing back to a JSON file
  • Add filtering/search in NotesListFragment
  • Improve UI with custom icons and animations

About

Repository for my Mobile Technologies course submittion

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages