Experience seamless music playback on the Android music player app as it flaunts a user-friendly interface, featuring a dynamic and consistent song list, allowing you to enjoy your favorite tunes in the background, even while navigating other applications with ease.
Table of Contents
In this project you may find several subjects such as:
-
Data storage using Shared Preferences: Saving and retrieving basic data using Shared Preferences, providing a simple and efficient way to store key-value pairs persistently.
-
Internal storage for data storage: Utilizing the application's internal storage to save and read data, offering a private and secure storage space for app-specific files.
-
Saving various data types: Handling the storage of different types of data, including text, images, and objects implementing the Serializable interface, enabling comprehensive data management within the application.
-
Exception handling and object serialization: Implementing proper exception handling during object serialization and deserialization using transient modifiers and personal handling techniques like writeObject and readObject, ensuring robust and error-free data processing.
-
RecyclerView for advanced visual control: Utilizing the RecyclerView component, which acts as a versatile replacement for AdapterViews (such as ListView), managing automatic recycling, leveraging ViewHolders for improved efficiency and performance, and providing flexibility in displaying and managing data.
-
CardView for stylish information display: Incorporating CardView, a UI component that presents information in visually appealing cards with rounded corners, offering an elegant and modern design for displaying content.
-
Service for long-term tasks: Leveraging the Service component to execute long-running tasks without a user interface, allowing background processing and efficient resource management.
-
IntentService for sequential task execution: Utilizing IntentService, a subclass of Service, to execute tasks sequentially in the background, ensuring proper task order and efficient task management.
-
Foreground Service for extended lifespan: Enhancing a Service by transitioning it to a Foreground Service through a notification, increasing its lifespan and preventing termination by the system in low memory situations, providing a reliable and uninterrupted operation.
-
MediaPlayer for music playback: Utilizing the MediaPlayer class to create a music player, leveraging its functionality in combination with a Service to provide seamless music playback within the application.
Follow these simple steps:
- Clone the repo
git clone https://github.com/RamMichaeli17/SpotiRam.git
- Run the program
press shift+F10 or press the "Run app" button
The application is a music player that offers a seamless and enjoyable music listening experience on Android devices. It allows users to create and manage a personalized list of songs, complete with album art and song links. The user interface presents the songs in a dynamic and consistent manner using RecyclerView and CardViews, providing an intuitive and visually pleasing display.
Users can edit the list by rearranging the songs through drag-and-drop functionality. Clicking on a song in the list opens a detailed view that showcases the song with a high-quality, full-size image and additional information. Swiping on a song triggers a confirmation dialog for deletion.
The application also allows users to expand their song collection by adding new songs. They can capture an image using the device's camera or choose an image from the gallery. Additionally, users are responsible for providing a proper song link associated with each added song.
To facilitate music playback, the application incorporates a player button that plays the songs in the list sequentially. The music player is implemented as a Foreground Service, ensuring uninterrupted playback even when the user interface is closed. The Foreground Service also generates a notification that provides full control over playback, allowing users to pause, stop, and skip songs.
Overall, the application offers a comprehensive and user-friendly music player experience, empowering users to manage their song collection, customize the list, and enjoy uninterrupted music playback in the background, even when using other applications on their device.
Distributed under the MIT License. See LICENSE.txt
for more information.
We thank the following people who contributed to this project:
Ram Michaeli |
Ram Michaeli - ram153486@gmail.com
Project Link: https://github.com/RamMichaeli17/SpotiRam