Alarm Clock is a versatile Android application that allows users to set one-time or repeating alarms. Users can choose the days on which the alarm should ring and select custom tones for each alarm. The app provides a user-friendly interface to manage alarms, including deleting or canceling existing alarms and scheduling new ones. It also displays the current date and time in real-time and notifies users when an alarm goes off, giving them options to dismiss or snooze for 10 minutes.
This app was created during my internship at CodSoft Company.
- Alarm Creation: Users can create one-time or repeating alarms with customizable settings.
- Day Selection: Choose the days on which the alarm should ring, allowing for flexible scheduling.
- Custom Tones: Select unique tones for each alarm to personalize your wake-up experience.
- Alarm Management: Easily delete or cancel alarms as needed, with a clear overview of all scheduled alarms.
- Live Clock: Display the current date and time in real-time within the app.
- Interactive Notifications: When an alarm goes off, users receive notifications that can't be canceled until they choose to dismiss or snooze.
2023-10-09.12-09-40.mp4
- Kotlin: The app is primarily built using the Kotlin programming language.
- Kotlin Navigation: Navigation components for structured app navigation.
- ViewModel: Utilized to manage UI-related data and ensure data survives configuration changes.
- Coroutines: Employed for asynchronous programming and managing background tasks.
- Dagger Hilt: Used for dependency injection to maintain a clean and modular codebase.
- Room Database: A local database for efficient data storage and retrieval.
- Save Args: Safely pass data between fragments.
- BroadcastReceiver: Handles system-level broadcasts for alarm functionality.
- LifecycleService: Manages the application's lifecycle-aware background services.
- Flow & StateFlow: Utilized for reactive data flow within the app.
To use the Alarm Clock app, follow these steps:
- Clone this repository to your local machine using
git clone https://github.com/samehesmael277/Alarm-Clock
. - Open the project in Android Studio.
- Build and run the app on an Android emulator or physical device.
- Launch the Alarm Clock app on your Android device.
- Create new alarms with custom settings and tones.
- Manage your alarms from the main screen.
- Experience real-time clock updates.
- When an alarm rings, interact with the notification to dismiss or snooze it.
Whether you need to wake up for work, meetings, or appointments, Alarm Clock offers a reliable and customizable solution to ensure you never miss an important event.