A Music Player Android App Using Firebase

As the Android operating system is getting more popular, the user for the mobile device are now more paying attention on the application of mobile device. This report presents the music player application with firebase and advertising free for the Android Platform. The music player application will obtain the music files and plays the music. . This application integrates the Intent APIs of various applications and mapping the data from firebase which is to be segregated and is integrated onto our music player. Keyword— Android, Music Player, sound equalizer, DJ mixer.


INTRODUCTION
Music has been a way for people to reduce their stress and since we all have a variety of emotions, music comes in all type of styles. For music system, you need one app for sound equalizing another for video streaming of songs and many others. Our idea is to integrate all these into a single one which would be a boon to the music lovers. This application integrates the Intent APIs of various applications and mapping the data from firebase which is to be segregated and is integrated onto our music player. Sound and graphics are two intriguing areas of technology which attract the music lovers to explore more into their depths. With the new developments in technology the sophistication level in applications has also increased. Also with the idea of "keeping it simple", developing sophisticated applications is a challenge. It is impossible to download many applications for a single domain of work. For example., if you are interested in music, it is not applicable to download individual apps for music player, sound equalizer, DJ mixer, video streamer, etc. This application acts as an integration to some of the most common existing applications that people use. With the current music application itself, they can work on these features. This works as an add-on to some existing applications.
Music is what feelings sound like and because of music are so inspiring people, it's so important to get a music player application that can work well for the user. With the rising of the smartphone, the natural that now the one mobile device we carry with us is also our primary media player. Over the years music fans have gradually changed how they listen to their music and what they listen to it on. Therefore, music application has been being one of the important part for the mobile device.
Android application which also known as Android apps are built as a combination of distinct components that can be invoked individually. Applications are also changing how the user experience computing and use the mobile phones. Android developers can develop not only for smartphones, but also for new and emerging consumer electronic devices that are network compatible and thus available to connect to the Android Market. Therefore, user is not only allow to purchase or download the Android application from Google Play Store but also have the opportunity to build their own application through the Android Studio.

Hardware Requirements
• The absolute minimum requirements for Android were originally a 200 MHz processor, 32 MB of RAM, and 32 MB of storage.
• Out of the box, Android is incompatible with ARMv4 or lower; ARMv5 or higher is needed to run native code without modifications.

Java
The cardinal necessity of Android development is the need to program in the Java programming language. Java is a well known object oriented programming language developed by Sun Microsystems. To be able to compile Java, it is first required to download Java and install the recent version1 . To do so, please visit official Java webpage and follow download and installation instructions, some of which may be OSspecific. There are known attempts to overpass Java in order to program for Android with help of other programming languages like e.g. Kotlin that supports full Android development or partially overpassing Java with C programming language. This is possible with the use of Android NDK, a toolset that enables the developer to reuse certain C or C++ libraries written in those languages in order not to be forced to discover the wheel again.

XML
The known Extensible Markup Language (abbreviated as XML) is a programming language used for simple encoding of documents. The lanuage is another of the basic tools used in the creation of the majority of Android applications. This programming language is used to specify the content of necessary files e.g. Android Manifest 3.1 or the layout of the various screens, called Activities. A deep understanding of this language is not required, however, it is necessary to understand its basic principles and syntax.

Firebase
Firebase is considered as web application platform. It helps developers" builds high-quality apps. It stores the data in JavaScript Object Notation (JSON) format which doesnot use query for inserting, updating, deleting or adding data to it. It is the backend of a system that is used as a database for storing data. The services available are:

Firebase Analytics
It provides insight into app usage. It is a paid app measurement solution that also provides user engagement. This unique feature enables the application developer to understand how users are using the application.
The SDK has the feature of capturing events and properties on its own and also allows getting custom data.

Firebase Storage
It facilitates easy and secure file transfer regardless of network quality for the Firebase apps. It is backed by Google Cloud Storage which is cost-effective object storage service. The developer can use it to store images, audio, video, or other user-generated content.

Real-time Database
Firebase provides services like a real-time database and backend. An API is provided to the application developer which allows application data to be synchronized across clients and stored on Firebase's cloud. The client libraries are provided by the company which enables integration with Android, IOS, and JavaScript applications.

II. STEPS TO ADD FIREBASE TO ANDROID
Firebase can be added to any project intended for Android and have Google Play services 9.6.1 or newer. Following steps are to be followed next: A project has to be created in firebase console. Enter project name and the location. Project name under firebase console can be anything and can also be different from the application name given.
Click on Add Firebase to the Android app and follow steps mentioned there.
The user will be prompted with a page asking for the package name and optional SHA-1 certificate. SHA1 code is available at android studio.
At the end google-services.json file will be downloaded once the above steps are completed. The file can be downloaded again at anytime.
The downloaded file has to be copied into the project"s app or module folder. Firebase is added to the project.
Steps for connecting App to Firebase: Step1: An account in the Firebase Login has to be created at https://www.firebase.com/login/ using the Google account.
Step2. Creating a new application on Firebase. Firebase creates a new application when one logs in for the first time. Also, at the bottom left corner, one can find an option to create a new application on the Firebase server. The app url has to be unique among all applications deployed on Firebase.
Step3. Next step is to add Firebase as a project dependency. Make changes to the following lines to the build.gradle file, which is located in the apps project folder, and not the root folder.

III. CONCLUSION AND FUTURE SCOPE
This application can work effectively with high processing speed compared to the traditional methods. This proposed framework will reduce much complexity. Presently, the user has to download many It will ease the people's difficulty in combining different features into a single app. These APIs can be made compatible with all the music applications people use. The lower versions of Android like 7 or 8 should be able to work in this. This system could be made to work with other operating systems like Windows, iOS.
Media player should consider the improvement in scenario such as decode efficiency needs to be improved, synchronization between multiple media streams, and display of the original data