Skip to content

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.

License

Notifications You must be signed in to change notification settings

RamMichaeli17/SpotiRam

Repository files navigation

GitHub repo size GitHub language count Contributors Stargazers MIT License LinkedIn Gmail


Logo

Developing Client-Side in Android Environment 2 Project: "SpotiRam"

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
  1. About The Project
  2. Getting Started
  3. Usage
  4. Download
  5. License
  6. Contributors
  7. Contact

About The Project

In this project you may find several subjects such as:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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.

(back to top)

Getting Started

Follow these simple steps:

Installation

  1. Clone the repo
    git clone https://github.com/RamMichaeli17/SpotiRam.git
  2. Run the program
    press shift+F10 or press the "Run app" button
    image

(back to top)

Usage

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.

Screenshots

Youtube:

IMAGE ALT TEXT HERE

(back to top)

Download

Download

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contributors

We thank the following people who contributed to this project:


Ram Michaeli

(back to top)

Contact

Ram Michaeli - [email protected]

Project Link: https://github.com/RamMichaeli17/SpotiRam

(back to top)

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages