Download mp3 music player application development using android and more Schemes and Mind Maps Music in PDF only on Docsity!
MP3 MUSIC PLAYER APPLICATION DEVELOPMENT USING ANDROID
By
Tan Siang Kian
A REPORT
SUBMITTED TO
Universiti Tunku Abdul Rahman
in partial fulfillment of the requirements
for the degree of
BACHELOR OF INFORMATION TECHNOLOGY (HONS)
COMPUTER ENGINEERING
Faculty of Information and Communication Technology
(Kampar Campus)
JAN 2020
UNIVERSITI TUNKU ABDUL RAHMAN
REPORT STATUS DECLARATION FORM
Title : MP3 MUSIC PLAYER APPLICATION DEVELOPMENT USING ANDROID
Academic Session : JAN 2020
I, TAN SIANG KIAN
declare that I allow this Final Year Project Report to be kept in Universiti Tunku Abdul Rahman Library subject to the regulations as follows:
- The dissertation is a property of the Library.
- The Library is allowed to make copies of this dissertation for academic purposes.
Verified by,
(Author’s signature) (Supervisor’s signature)
Address : 7,JALAN ROS MERAH 3/19, TAMAN JOHOR JAYA, Ooi Chek Yee 81100 JOHOR BAHRU, JOHOR. Supervisor’s name
Date : 20/04/2020 Date : 20/04/
ii BIS (Hons) Information Systems Engineering
DECLARATION OF ORIGINALITY
I declare that this report entitled “ MP3 Music Player Application Development using
Android ” is my own work except as cited in the references. The report has not been
accepted for any degree and is not being submitted concurrently in candidature for any
degree or other award.
Signature : _________________________
Name : Tan Siang Kian
Date : 20 /04/202 0
iii BIS (Hons) Information Systems Engineering
ACKNOWLEDGEMENT
I would like to express my sincere thanks to all those individuals who assisted me in
completing this Final Year Project. The project could not be going smoothly without
the help of these people.
First of all, I would like to express my appreciation to my supervisor, Ts Dr. Ooi Chek
Yee. Dr. Ooi who has given me this bright opportunity to engage in this MP3 Music
Player app project that is very suitable for fresher developers to enhance my own skill,
I feel a million thanks to you. It is the first time to establish an Android application
project in my life. You are my enlightenment mentor, and I will never forget your help
to me in the future.
Furthermore, I would like to thanks to my moderator, Ts Dr. Khor Siak Wang. Dr. Khor
has given me valuable advice to learn from my mistakes and improve on them. His
valuable advice made me have more ideas for improvement after Final Year Project 1.
Finally, I must say thanks to my whole family especially my parents for their love,
comfort, support, and encouragement for me to keep moving forward in the face of
obstacles in my university life.
v BIS (Hons) Information Systems Engineering
TABLE OF CONTENTS
TITLE PAGE ……………………………………………………………………………………... i
DECLARATION OF ORIGINALITY ....................................................................................... ii
ACKNOWLEDGEMENT ............................................................................................................ iii
ABSTRACT ....................................................................................................................................iv
TABLE OF CONTENTS …………………………………………………………………………v
LIST OF TABLES ..........................................................................................................................ix
LIST OF FIGURES.........................................................................................................................x
LIST OF ABBREVIATIONS ...................................................................................................... xii
Chapter 1 Introduction ................................................................................................................... 1
1.1 Problem Statement .............................................................................................................. 1 1.2 Background Information and Motivation ............................................................................ 2 1.3 Objectives ............................................................................................................................ 3
1.4 Proposed Approach/Study ................................................................................................... 4 1.5 Highlight of What Have Been Achieved ............................................................................. 5 1.6 Report Organization ............................................................................................................ 5
Chapter 2 Literature Review.......................................................................................................... 6
2.1 Review on existing application ........................................................................................... 6 2.1.1 Review on YY Music ............................................................................................... 6 2.1.2 Review on Xiami Music ......................................................................................... 14 2.1.3 Review on JOOX Music......................................................................................... 20 2.2 Critical Remarks of previous works .................................................................................. 27
2.2.1 Strength and Weaknesses of previous works .......................................................... 27 2.2.2 Application Comparison ......................................................................................... 28
Chapter 3 System Design .............................................................................................................. 29
3.1 Site Map ............................................................................................................................ 29 3.2 Use Case Diagram ............................................................................................................. 30 3.2.1 Use Case Description ............................................................................................. 31 3.3 Activity Diagram ............................................................................................................... 36 3.3.1 Listen to music ....................................................................................................... 36 3.3.2 Audio Trim ............................................................................................................. 37
3.3.3 Sleep timer.............................................................................................................. 38 3.3.4 Night mode ............................................................................................................. 39 3.3.5 Change theme ......................................................................................................... 40 3.3.6 Download song....................................................................................................... 41 3.4 System Wireframe ............................................................................................................. 42
Chapter 4 Methodology and Tools ............................................................................................... 55
4.1 Design Specifications ........................................................................................................ 55
vi
viii
POSTER
ix BIS (Hons) Information Systems Engineering
LIST OF TABLES
xi
- 4.1.1 Methodology BIS (Hons) Information Systems Engineering
- 4.2 Tool to use
- 4.2.1 Software Requirement
- 4.2.2 Hardware Requirement...........................................................................................
- 4.3 User requirements
- 4.4 System Performance Definition
- 4.5 Timeline.............................................................................................................................
- Chapter 5 Implementation and Testing
- 5.1 Implementation..................................................................................................................
- 5.2 Testing
- Chapter 6 Conclusion....................................................................................................................
- 6.1 Project Review, Discussions and Conclusion
- 6.1.1 Project Achievement...............................................................................................
- 6.1.2 Problem Encountered
- 6.2 Future Work
- BIBLIOGRAPHY
- APPENDICES A......................................................................................................................... A-
- A.1 MusicAdapter.java A-
- A.2 MusicPagerAdapter.java................................................................................................ A-
- A.3MyApplication.java A-
- A.4 ActivityScope.java A-
- A.5 AppComponent.java A-
- A.6 AppModule.java A-
- A.7 BaseActivity.java A-
- A.8 BaseFragment.java .......................................................................................................A-
- A.9 BasePresenter.java A-
- A.10 IBaseView.java A-
- A.11 EasyRecyclerViewAdapter.java................................................................................. A-
- A.12 CommonConstant.java A-
- A.13 FFTData.java A-
- A.14 AudioData.java A-
- A.15 CommonDialog.java.................................................................................................. A-
- A.16 CircleBarRenderer.java A-
- A.17 Renderer.java A-
- A.18 VisualizerView.java A-
- A.19 DensityUtils.java A-
- A.20 LogUtils.java A-
- A.21 FileUtils.java A-
- A.22 Md5Utils.java A- BIS (Hons) Information Systems Engineering
- A.23 Mp3ScanUtils.java A-
- A.24 ScreenUtils.java A-
- A.25 RingTools.java A-
- A.26 Music.java A-
- A.27 DetectSwipeGestureDriver A-
- A.28 DetectSwipeGestureListener A-
- A.29 FileInfo.java A-
- A.30 FileChooseComponent.java....................................................................................... A-
- A.31 HomeComponent.java A-
- A.32 MusicInfo.java A-
- A.33 HomeModule.java A-
- A.34 FileChooseModule.java A-
- A.35 FileChooseContract.java A-
- A.36 HomeContract.java A-
- A.37 FileChoosePresenter.java A-
- A.38 HomePresenter A-
- A.39 CutFragment.java A-
- A.40 FileChooserActivity.java A-
- A.41 Mp3NameConvertUtils.java A-
- A.42 Mp3InfoUtils.java A-
- A.43 Mp3CutLogic.java A-
- A.44 AllFragment.java A-
- A.45 DriverMusicActivity.java A-
- A.46 MainActivity.java A-
- A.47 MusicActivity.java ...................................................................................................A-
- A.48 ThemeEnum.java A-
- A.49 MusicFragment.java A-
- A.50 RootActivity.java A-
- A.51 ThemeColor.java A-
- A.52 SplashActivity.java A-
- A.53 ShakeListener.java A-
- A.54 ShakeService.java.................................................................................................... A-
- A.55 ThemeColorAdapter.java......................................................................................... A-
- A.56 BasePreference.java A-
- A.57 ThemeColorSelectDialog.java................................................................................. A-
- A.58 AppPreference.java.................................................................................................. A-
- A.59 AuxiliaryPreference.java A-
- A.60 BroadcastManager.java A- BIS (Hons) Information Systems Engineering
- A.61 ThemeChangeable.java A-
- A.62 Common.java A-
- A.63 PeriodicTask.java A-
- A.64 Utils.java A-
- A.65 TimeSleepActivity.java A-
- A.66 AnimationUtils.java A-
- A.67 BlurUtil.java A-
- A.68 ColorUtils.java A-
- A.69 MergeImage.java A-
- A.70 activity_driver.xml A-
- A.71 activity_filechooser_show.xml A-
- A.72 activity_main.xml A-
- A.73 activity_music.xml A-
- A.74 activity_splash.xml A-
- A.75 activity_time_sleep.xml........................................................................................... A-
- A.76 dialog_common.xml A-
- A.77 dialog_theme_color.xml A-
- A.78 fragment_all.xml A-
- A.79 fragment_cut.xml A-
- A.80 fragment_music.xml A-
- A.81 item_musicfile.xml A-
- A.82 item_theme_color.xml A-
- A.83 music_item.xml A-
- A.84 time_sleep_content.xml A-
- A.85 time_sleep_content_picker.xml ................................................................................A-
- Table 2- 2 - 1 - 1 Strength and Weaknesses of reviewed application Table Number Title Page
- Table 2- 2 - 2 - 1 Comparison among reviewed and proposed application
- Table 3- 2 - 1 - 1 Use Case Description of Listen to music -----------------
- Table 3- 2 - 1 - 2 Use Case Description of Progress bar
- Table 3- 2 - 1 - 3 Use Case Description of Driving mode
- Table 3- 2 - 1 - 4 Use Case Description of Night mode
- Table 3- 2 - 1 - 5 Use Case Description of Shake Control
- Table 3- 2 - 1 - 6 Use Case Description of Gesture Control
- Table 3- 2 - 1 - 7 Use Case Description of Audio trim
- Table 3- 2 - 1 - 8 Use Case Description of Set as ringtone or alarm
- Table 3- 2 - 1 - 9 Use Case Description of Search music online
- Table 5- 2 - 1 - 1 Unit Testing of Music Player Module
- Table 5- 2 - 2 - 1 Unit Testing of Media Icon Button Playback Control Module
- Table 5- 2 - 3 - 1 Unit Testing of Driver Mode Module
- Table 5- 2 - 4 - 1 Unit Testing of Swipe Gesture Playback Control Module
- Table 5- 2 - 5 - 1 Unit Testing of Shaking Playback Control Module
- Table 5- 2 - 6 - 1 Unit Testing of Audio Trim Module
- Table 5- 2 - 7 - 1 Unit Testing of Sleep Timer Module
- Table 5- 2 - 8 - 1 Unit Testing of Night Mode Module
- Table 5- 2 - 9 - 1 Unit Testing of Change Theme Color Module
- Figure 1- 1 --System Flowchart of MP3 Music Player Figure Number Title Page
- Figure 2- 1 - 1 - 1 Homepage of YY Music
- Figure 2- 1 - 1 - 2 Playlists recommended by YY Music
- Figure 2- 1 - 1 - 3 Search page of YY Music
- Figure 2- 1 - 1 - 4 Music playback control interface and download
- Figure 2- 1 - 1 - 5 Music play control interface and download song option ----song option
- Figure 2- 1 - 1 - 6 FM radio page of YY Music
- Figure 2- 1 - 1 - 7 Setting page and Floating Window Feature
- Figure 2- 1 - 1 - 8 Timer feature
- Figure 2- 1 - 2 - 1 Main page of Xiami Music
- Figure 2- 1 - 2 - 2 Four categories of the main page and subcategories
- Figure 2- 1 - 2 - 3 Discover page of Xiami Music for each genre
- Figure 2- 1 - 2 - 4 Video and News page of Xiami Music
- Figure 2- 1 - 2 - 5 Driving Mode of Xiami Music
- Figure 2- 1 - 2 - 6 Night Mode of Xiami Music
- Figure 2- 1 - 3 - 1 Main page of JOOX
- Figure 2- 1 - 3 - 2 Me page and local song on the user device
- Figure 2- 1 - 3 - 3 My Karaoke feature and recording editor
- Figure 2- 1 - 3 - 4 Playlist and Artists category under Discover page
- Figure 2- 1 - 3 - 5 Radio and Live page of JOOX
- Figure 2- 1 - 3 - 6 Music playback control page and sharing song features
- Figure 2- 1 - 3 - 7 VIP privileges are required
- Figure 3- 1 - 1 - 1 Site Map Diagram
- Figure 3- 2 - 1 - 1 Use case diagram of MP3 Music Player Application
- Figure 3- 3 - 1 - 1 Activity Diagram for User to Listen to Music
- Figure 3- 3 - 2 - 1 Activity Diagram for User Using Audio Trim Feature
- Figure 3- 3 - 3 - 1 Activity Diagram for User Enable Sleep Timer
- Figure 3- 3 - 4 - 1 Activity Diagram for User Enable Night Mode
- Figure 3- 3 - 5 - 1 Activity Diagram for User to Change Theme of Tool Bar
- Figure 3- 3 - 6 - 1 Activity Diagram for User to Download Song
- Figure 3- 4 - 1 - - Splash screen -
- Figure 3- 4 - 2 - 1 ----- - Home page --
- Figure 3- 4 - 3 - 1 - English Song Playlist
- Figure 3- 4 - 4 - 1 Others Song Playlist BIS (Hons) Information Systems Engineering
- Figure 3- 4 - 5 - 1 Filtering Song Using the Search Bar and Alphabet
- Figure 3- 4 - 6 - 1 Song Playing Page - Quick Scrollbar
- Figure 3- 4 - 7 - 1 Song Playback Mode
- Figure 3- 4 - 8 - 1 Driver Mode
- Figure 3- 4 - 9 - 1 Audio Trim Feature
- Figure 3- 4 - 10 - Select Music Page
- Figure 3- 4 - 11 - The Process of Cut Song
- Figure 3- 4 - 12 - Set the Trimmed Song as Ringtone
- Figure 3- 4 - 13 - Generated Trimmed Song
- Figure 3- 4 - 14 - Enable Sleep Timer
- Figure 3- 4 - 15 - Disable Sleep Timer
- Figure 3- 4 - 16 - Enable Night Mode
- Figure 3- 4 - 17 - Change Theme Color of Toolbar
- Figure 3- 4 - 18 - Download Song
- Figure 4- 1 - 1 - 1 Agile Development Cycle (Devcrew.io, 2017)
- Figure 4- 5 - 1 - Gantt chart for FYP1
- Figure 4- 5 - 2 - Gantt chart for FYP2
xii BIS (Hons) Information Systems Engineering
LIST OF ABBREVIATIONS
Apps Applications
CPU Central processing unit
IOS iPhone Operating System
MV Music Video
MP3 MPEG 1 Audio Layer 3
MP4 MPEG LAYER 4
UI User interface
UTAR Universiti Tunku Abdul Rahman
VIP Very Important Person
XML Full extensible markup language
APK Android Application Package
Chapter 1 Introduction
BIS (Hons) Information Systems Engineering
1.2 Background Information and Motivation
In modern society, people live a fast-paced life, and pressure is constantly present
in lives. Due to the wide use of mobile phones, music has become the daily essential
spiritual food, everyone's mobile phone inside there must be a music player. An
application like MP3 music players is used to balance stress and happiness. It
accompanies people anytime, anywhere and anyplace such as when people taking the
bus and exercising.
The mobile MP3 music player application is designed to allow users to listen to
music in a more convenient and comfortable way without too much restriction.
Moreover, it can play the music properly without interference from advertisements and
offline.
Since many developers realize that modern urbanites are living in a stressful
situation, they have captured the commercial opportunity, therefore many similar
applications have emerged in the market. These applications have easy-to-use interfaces
and features that make the user experience better.
However, these existing music players blindly pursue fancy appearance and huge
features, resulting in the high utilization rate of users' mobile phones, such as CPU and
memory. Whereas, for most normal users, these kind of huge and many features are
meaningless. Therefore, this project is designed to dedicate to MP3 music player based
on the Android mobile phone platform to optimize performance and simplify to meet
user needs.
Chapter 1 Introduction
BIS (Hons) Information Systems Engineering
1.3 Objectives
The objective of this thesis is to propose development of android that:
1. Make it with a simple feature and run smoothly
By using this mp3 music player will make users fell comfortable and relaxed
because it will pay more attention to the features commonly used by users,
excluding some rarely used features that occupy a large of system processors,
making the music player lightweight, simple, but also has powerful basic features.
2. Support gesture control
The MP3 music player will add features triggered by gestures to make it easier for
users to use as well as less dependent on touch buttons. For example, a user can
skip next or previous songs by simply swiping left and right on the anywhere of
the screen in the playing interface.
3. Support quick search
The lack of a search bar in the music list is unacceptable. Therefore, the mp3 music
player will use the search bar as well as fast scroll using alphabets on the right side
of the screen, allowing users to quickly filter through hundreds of songs to find the
ones users want to play.
Chapter 1 Introduction
BIS (Hons) Information Systems Engineering
1.5 Highlight of What Have Been Achieved
The main highlight of the project is to make the proposed application become a high
learnability application without too many complex features, enhance the interaction
between the user and the media control so that the user can have a better experience to
achieve real pressure relief. It is worth mentioning that the music player has the audio
trim function. Users can trim the best parts of the audio by setting the starting and
ending points of the audio, which can be used as a ringtone. In addition, the ability to
enhance the interaction between users and media control is that the application can skip
songs by shaking the phone under the lock screen status of the phone. Also, the
application utilizes the gesture controls to get rid of its reliance on touch buttons. For
example, a song can be switched when the user slides left or right on the music playing
interface.
1.6 Report Organization
The project report is divided into six chapters. Chapter 1 is about the background and
motivation of the proposed application, the problem statement, and objectives to solve
the problem statement, proposed approach or study, and highlighting of proposed
applications that have been achieved. Chapter 2 contains a review of the three existing
music player applications on the market, along with comparisons, strengths, and
weaknesses of each. Chapter 3 is the system design including the site map, use case
diagram, activity diagram, and system wireframe which is the user interface of the
proposed application. Chapter 4 is about software design methodology, tools used,
requirements, system performance definitions, and timelines. Chapter 5 is about
implementation and testing. Chapter 6 is the project review, discussion, and conclusion,
the achievements of the project, the problems encountered in the development process
and the future improvement.
Chapter 2 Literature Review
BIS (Hons) Information Systems Engineering
Chapter 2 Literature Review
2.1 Review on existing application
2.1.1 Review on YY Music
YY Music is a free music player that can play all music on YouTube, support
background playing music, and download the song into local storage for free. Its music
library is extremely powerful that covers almost all songs, such as English, Chinese,
Cantonese, Japanese and even Korean songs. It performs extremely well in terms of
functionality and interaction between users and application.
The homepage of YY Music (Figure 2- 1 - 1 - 1) is ‘Discover’, in which random lists
and popularity rankings of various music themes are provided such as rank, top 100,
latest songs, and weekly 20. When users feel confused in selecting songs or tired of
listening to classic songs, this feature allows users to directly click, listen to the latest
music.
Figure 2- 1 - 1 - 1 Homepage of YY Music