The application being suggested is called “Easy Music For Run”. This application helps manage the nature of a music playlist such that a user has a consistent experience while being active or inactive. The application takes into account features such as internet connectivity and headphones being plugged in. To improve the application experience further we could incorporate step counters and/or ability to handle incoming phone calls.
- Ability to detect if headphones connected or not.
- Ability to detect if internet connected or not.
- Ability to detect speed of runner.
- Ability to switch music or alter music as per internet connectivity.
Relevant Files:
MusicPlaying.java
- Runner can specify the type of music he wants.
Relevant Files:
Taking inputs to populate values
Global Constants File. Must be populated by user before trying to play app.
- Receiver to detect if headphones connected or not.
- Receiver to detect if internet connectivity is there or not.
- Receiver to detect location, and speed of user.
- Views and flow for user.
- POJO to change values.
- Play a local file.
- Entire Workflow.
- Handle playlists, rather than playing just one song.
- Clone this repository.
- Open in Android Studio and Click Run.
-
The Runner must provide the details of the local file name, video id for running, and id for walking. This must be done through clicking the application settings.
-
Next the runner will navigate back to the home page and click on Play.
-
Depending on the context the appropriate action will happen. For example, as shown in the Screenshots, if the Wifi or LTE is not present, and headphones are connected and the user is active, a local clip will be played and a toast will be shown.
-
Now if the the headphones are connected, Wifi is on, and the user is active a Youtube video will be displayed once the user clicks on Play again.
https://stackoverflow.com/questions/574195/android-youtube-app-play-video-intent
https://stackoverflow.com/questions/2091465/how-do-i-pass-data-between-activities-on-android
https://stackoverflow.com/questions/25824554/how-to-make-another-activity-as-main-activitystart-up
https://stackoverflow.com/questions/13194081/how-to-open-a-second-activity-on-click-of-button-in-android-app
https://stackoverflow.com/questions/26312733/neither-user-nor-current-process-has-android-permission-access-coarse-location
https://stackoverflow.com/questions/1560788/how-to-check-internet-access-on-android-inetaddress-never-times-out?page=1&tab=votes#tab-top
https://stackoverflow.com/questions/6179906/how-can-i-receive-a-notification-when-the-device-loses-network-connectivity
https://stackoverflow.com/questions/13610258/how-to-detect-when-a-user-plugs-headset-on-android-device-opposite-of-action-a
https://stackoverflow.com/questions/15698790/broadcast-receiver-for-checking-internet-connection-in-android-app
https://inthecheesefactory.com/blog/google-awareness-api-in-action/en
https://code.tutsplus.com/tutorials/android-essentials-creating-simple-user-forms--mobile-1758
http://www.compiletimeerror.com/2013/10/playing-audio-in-android-application.html#.WDHSaKIrK34