An Android application that allows users to set a time interval and receive bell notifications at regular intervals. Perfect for meditation, workouts, study sessions, or any activity that requires periodic reminders.
- Google Timer-Style Time Input: Enter time intervals using an intuitive numeric keypad
- Digits shift from right to left as you type (just like Google Timer)
- Display shows hours, minutes, and seconds (HH:MM:SS format)
- "00" button for quick double-zero entry
- Backspace button to delete last digit (long press to clear all)
- Customizable Interval: Set any time interval up to 99h 59m 59s
- 26 Bell Sounds: Choose from a wide variety of bell tones with preview functionality:
- Classic/Traditional: Classic Bell, Church Bell, Temple Bell, Chime, Grandfather Clock
- Digital/Modern: Digital Beep, Notification, Alarm, Sci-Fi Alert, Radar Ping
- Musical: Piano Chord, Xylophone, Harp, Music Box
- Nature: Bird Chirp, Water Drop
- Fun/Funny: Duck Quack, Robot Beep, Doorbell, Game Over, Celebration, Spaceship, Submarine, Magic Wand, Cow Bell, Boxing Bell
- Visual Countdown: See the time remaining until the next bell (in HH:MM:SS format)
- Vibration Feedback: Haptic feedback when the bell rings
- Background Operation: Timer continues running even when the app is in the background
- Android 7.0 (API level 24) or higher
- Android Studio or compatible IDE
- Gradle 8.2.0 or higher
- Open the project in Android Studio
- Sync Gradle files
- Build the project (Build > Make Project)
- Run on an emulator or physical device
- Use the numeric keypad to enter your desired time interval:
- Tap digits 0-9 to enter time (digits shift left like a calculator)
- Use "00" for quick double-zero entry
- Use "⌫" to delete the last digit (long press to clear all)
- Time displays as HHh MMm SSs (e.g., type "130" for 1 minute 30 seconds)
- Select a bell sound from the dropdown menu (tap "Preview" to test the sound)
- Tap "Start" to begin the interval timer
- The countdown displays remaining time in HH:MM:SS format
- The bell will ring at each interval and restart automatically
- Tap "Stop" to stop the timer at any time
IntervalBell/
├── app/
│ ├── src/
│ │ └── main/
│ │ ├── java/com/intervalbell/app/
│ │ │ ├── MainActivity.java
│ │ │ └── BellTone.java
│ │ ├── res/
│ │ │ ├── layout/
│ │ │ │ └── activity_main.xml
│ │ │ └── values/
│ │ │ ├── strings.xml
│ │ │ ├── colors.xml
│ │ │ └── themes.xml
│ │ └── AndroidManifest.xml
│ └── build.gradle
├── build.gradle
├── settings.gradle
└── gradle.properties
The app requires the following permissions:
WAKE_LOCK: To keep the device awake during timer operationVIBRATE: To provide haptic feedback when the bell rings
- Language: Java
- Minimum SDK: 24 (Android 7.0)
- Target SDK: 34 (Android 14)
- UI Framework: Material Design Components
- Timer Implementation: CountDownTimer
- Audio Playback: MediaPlayer with system notification sounds
Potential improvements for future versions:
- Custom sound file support
- Multiple interval presets
- Statistics and history tracking
- Widget support for quick access
- Dark mode optimization
This project is open source and available for modification and distribution.