An Android app built in Java to display sheet music and play music tracks for each of the 13 Articles of Faith—composed for members of The Church of Jesus Christ of Latter-day Saints.
This project was my first fully functioning program, which helped me gain a lot of hands-on experience:
- Android Studio Fundamentals: Setting up Android Studio, structuring the app, and using its tools.
- Source Control with Git: Learning Git commands and version control was invaluable for tracking and managing changes.
- App Lifecycle Management: Handling activities in different lifecycle stages made me appreciate the intricacies of Android development.
- Using Packages and Libraries: Leveraging external libraries like PDFViewer showed me how to integrate community-created tools into my project.
- App Publishing: Going through the process of preparing and publishing an app, even in a closed beta, was a huge milestone.
This app is designed to help children and members of the Church of Jesus Christ of Latter-day Saints learn the 13 Articles of Faith, which are foundational beliefs of the Church. Inspired by the music composed by a friend’s father, this app provides both sheet music and audio tracks to enhance learning. The development of this app allowed me to dive into Android development, source control, and app publishing, making it a significant project in my growth as a developer.
- Music and PDF Integration: Each button on the Main Activity opens a PDF view of sheet music for each Article of Faith, with audio playback. Thanks to PDFViewer by barteksc.
- Complete Media Player: The media player offers expected features like Play/Pause, Seek Bar, Time Remaining, Time Elapsed, Skip Forward/Back 15 seconds, Reset, and a toggle switch to swap between tracks with and without lyrics.
- Orientation Support: Both landscape and portrait modes are supported, with uninterrupted playback when switching orientations.
- Developed in Java using Android Studio: This app leverages Android SDK components like MediaPlayer, ConstraintLayout, and FloatingActionButton for smooth and interactive multimedia experiences.
- Modular Design: Functions for converting time, calculating progress, and handling other utility tasks are organized into a separate
Utilities
class, ensuring a modular and reusable structure.
Key Code Files:
MainActivity.java
: Manages the home screen, offering navigation to each article’s PDF and music playback.ArticleActivity.java
: Each article has its own activity to handle specific PDF views, media controls, and additional interactive components.Utilities.java
: A helper class for converting milliseconds intoHH:MM:SS
format, calculating playback progress, and keeping the seek bar in sync with the playback.
I originally built this app in 2019, and it now needs updates:
- Update to meet current Android API standards.
- Code cleanup to remove unnecessary files and improve efficiency.
- Re-publish the app on Google Play.
The current artwork could use a refresh:
- Design updates for home page graphics, backgrounds, and buttons.
- Re-create the scanned sheet music digitally for a cleaner look.
Once republished, sharing the app with those who may benefit from it would be greatly appreciated! Additionally, updated .mp3 recordings with new instruments and vocals would make the app even more engaging.
Feel free to reach out via LinkedIn: Michael DiPaolo or contribute directly by opening an issue or submitting a pull request.