Android mobile application development assignment

Page 1

Programming Assignments Help

Android Mobile Application Development Assignment Help Augustine Barlow

2016

www.programmingassignmentshelp.net/


Android Mobile Application Development Assignment Help This Programming Assignment Help article focuses on Android Mobile Application Development.

1. Introduction ZOMBA Android Mobile Application is full fledge Mp3 Music application have all the feature of new generation music application. It is a single app to have functionality as below      

Playlist can be made basis song preferences It has options to play, pause, rewind, forward and stop the music It will have option of repeat or shuffle with all features The music will continue to play while working on other apps/ windows It will play songs in mp3 format It can be post in Google play or any other App Store to make it available for a free download and use.

Additional functionality supported          

Multiple locale Support ( English, Arabic, Turkish and Russian) It is compatibility Mobile and Tablets Support Music will continue to play while working on other apps/ windows It is very light weight in terms of memory space and can be easily loaded Huge number of configuration options Flexible tabs setting Playback multiple setting like Display mode, Swipe up/down/tap/long press actions Notification Mode\Action\Color inversion Settings options Accelerometer Shake setting options Other many miscellaneous setting options like Emulate Stock Broadcasts, ScrobbleDroid API for FM, 1X1 widget

2. Application Development Process Android software development is the process by which new applications are created for the Android operating system. Applications are usually developed in the Java programming language using the Android Software Development Kit. The Android software development kit (SDK) includes a comprehensive set of development tools. These include a debugger, libraries, a handset emulator based on QEMU, documentation. Android applications are packaged in .apk format and stored under /data/app folder on the Android OS (the folder is accessible only to the root user for Programming Assignments Help

Page 1


security reasons). APK package contains called Dalvik executables), resource files, etc.

.dex

files

(compiled

byte

code

files

Below is the life cycle of Android Application Development

The activity is the core of an android application. Each application can have one or more activities. Below we have explored the activity’s life cycle and understand the event handler of each stage through the activity’s life cycle. Activities in the system are managed in an activity stack (Last in Last out). When a new activity is launched it becomes on the top of the stack. Any previous activity will be below it and won’t come to the top until the new one exists. The application on the top of the stack has the highest priority from the operating system. While the activity that is not visible has lower priority even if running activity requires more memory, the system can shut down that activity to free memory. Android runs each activity in a separate process each of which hosts a separate virtual machine. Android saves metadata (state) of each activity so that when a new activity launches so that it can come back to the activity when the user backtracks. [Read about System Development User Manual] The activity can be in one of four states: Active: the activity started, is running and is in the foreground. Programming Assignments Help

Page 2


Paused: the activity is running and visible but another activity (non full sized) is running on the top or a notification is displayed. The user can see the activity but cannot interact with it. A paused activity is fully alive (maintains state and member information) but can be killed by the system in low memory situations. Stopped: the activity is running but invisible because the user has launched another activity that comes to the foreground the activity is alive (maintains state and member information) but can be killed by the system in low memory situations. Dead: either the activity is not started or it was in pause or stop state and was terminated by the system to free some memory or by asking the user to do so. The following figure shows the states of the activity and the methods that handle each state The sequence is as follows:

Programming Assignments Help

Page 3


 

The activity starts, passes through onCreate(), onStart()the activity is still not visible to the user, onResume() then it comes to the foreground and becomes fully running. If another activity launches or a notification appears the activity passes through the onPause() Then there would be two scenarios: 1.if the system decides to kill your activity due to low memory the activity starts the cycle again from onCreate()method with Bundle savedInstanceState parameter that holds data about the previous state of the activity. 2.If the user resumes the activity by closing the new activity or the notification the activity cycle continues from the onResume() method When the user is about to close the activity the activity calls onStop() method then onDestroy() method when the system destroys the activity. But if another activity runs while the current one is was not shut, the activity calles onStop()method and if it is not killed by the system it will call onRestart() method then onStart()mehod and continues the cycle. onCreate(): will be invoked in three cases:

– the activity runs for the first time and it will be invoked with null Bundle savedInstanceState parameter. – the activity has been running then stopped by the user or destroyed by the system then it would be invoked with Bundle savedInstanceState that holds the previous state of the activity. – the activity is running and you set the device to different resources like Portrait vs landscape, then the activity will be recreated.in this method you will create the user interface, bind data to controls and register the event handlers for the controls. Then it is followed by onStart() method. 

 

onStart():will be invoked when the activity is first launched or brought back to the foreground it would be followed by onResume() if the activity continues and comes to foreground, or byonStop() if the activity is killed. onRestart():is invoked in case the activity has been stopped and is about to be run again. Always followed by onStart() mehod. onResume();invoked when the activity is about to come to the foreground and is on the top of the activity stack. It is the place where you can refresh the controls if the activity is using a service that displays some feeds or news. Always followed by onPause() onPause():is invoked when another activity launches while the current activity is launched or when the system decides to kill the activity. In this method you have to cancel everything you did in onResume() method like Stopping threads, stopping animations or clearing usage of resources(eg the camera).This method is followed by onResume() if the activity returns back to front or by onStop() if the activity is to be invisible. onStop(): is invoked when a new activity is about to come over the current one or the current one is to be destroyed. Always followed by onResume() if the activity comes back or onDestroy() if the activity is to be killed. onDestroy():is invoked when the activity is shutting down because the activity called finish()[terminated the activity] or because the system needs memory so it decided to kill the activity.

Programming Assignments Help

Page 4


Killable methods: There are methods that are “killable� meaning that after these methods return, the process hosting them can kill the activity without executing any further code (due to lack of memory) These methods are onPause(), onStop() and onDestroy()

Development life cycle is use to develop this application.

3. User Interface After Installation in Mobile ZOMBA icon will appear

Programming Assignments Help

Page 5


Launching Application It will give option to get list of song from Mobile/SD card MP3 List based on flexible Menu options      

ARTISTS ALBUMS SONGS PLAYLISTS Genre Files

Song Play Back Screen (Samsung Galaxy SIII Snapshot)

Programming Assignments Help

Page 6


Playlist Create Screen Screen to add song to playlist, create new playlist, update and delete playlist Main technology feature of this application are Dynamically created multiple screens, Generic Activities, Resources and proper use of Multithreading using HandlerThread for example HandlerThread thread Process.THREAD_PRIORITY_LOWEST);

= new HandlerThread(getClass().getName(),

Accelerometer Shake and Emulate Stock Broadcasts, ScrobbleDroid API implemented in this Application is the latest feature in Android Programming. All Screens are attached above.

4. Testing and Evaluation Testing and evaluation of this application is done using emulator and mobile device. Performed number of test cases for functional testing and non functional testing Application Quality is ensured using below mentioned attributes

Programming Assignments Help

Page 7


ISO/IEC 9126 External and Internal Quality Attributes Quality Attributes of the Prototype

The most relevant quality attributes were selected for the developed prototype. This selection was done by considering the nature of mobile phones. In addition, the priority of the attributes was the other issue we needed to consider. In the next phase of the measurement, the relevant quality metrics were selected and necessary validation was done. The quality evaluation process was based on Gafni’s research process, which consists of following steps: 1. 2. 3. 4.

Detection of quality issues which affect the quality of the designed prototype Choice of ISO/IEC 9126 quality characteristics affected by the prototype quality issues Selection of metrics Quality measurement by applying the metrics on the prototype.

Study reviews were done on basic mobile phone characteristics that may affect the quality of the prototype. In addition, relevant metrics were introduced in order to measure the quality of the prototype. Finally, four characteristics were selected to measure the quality of the prototype. Further, for each quality characteristics the related sub-characteristics were chosen. The following quality characteristics and sub-characteristics are described as follows: Functionality is the capability of the software product to provide functions which meet stated and implied needs when the software is used under specified conditions Sub-characteristics: Suitability– the capability of the system to provide an appropriate set of functions for specified tasks and user objectives. This sub-characteristic is important for the developed prototype, especially because of the mobile device limitations that cause difficulties to implement all the required features.

Programming Assignments Help

Page 8


Metric purpose: Compare the number of the defined features to the number of the completely implemented features. Method of calculation 1. At the design phase: count number of features to be included in the product; 2. Deployment phase: count number of features delivered Security– the capability of system to protect information and data. It is important for the application to prevent unauthorized access to data while interacting with the service provider. Metric purpose: Measure the usage degree of security mechanism, like authorization. Method of calculation 1. Login in order to access the data in the service provider several times 2. Calculate the ration between numbers of authorized access to the all access to the data – The higher the number of the authorized access, the better the security is. Reliability is “the capability of the software product to maintain a specified level of performance when used under specified conditions”. According to ISO/IEC 9126, reliability includes three sub-characteristics: maturity, fault tolerance, recoverability. Sub-characteristics: Fault Tolerance– the capability of the system to maintain a specified level of performance in cases of software faults or of its specified interface. Considering the application interacts with a service provider, there is high risk of various faults because of losing access to the service provider. That is the reason why this sub-characteristic was chosen for evaluation of the prototype. Metric purpose: Measure the response time to get information from the cache. Method of calculation 1. 2. 3. 4. 5. 6. 7.

For each task: Perform the task minimum 5 times Receive the data from the service provider Store the data in the device memory Retrieve the data locally Calculate the average time to get data as output Calculate the maximum value of the average time to get data as output for all the tasks.

Recovery– the capability to recover data affected in case of failure. The prototype needs to have fault tolerance to recover data whenever network connection lost. Metric purpose : Measure the resumption number of transactions after disconnection from service provider. Programming Assignments Help

Page 9


Method of calculation 1. For each task: 2. Perform the task minimum 5 times 3. Count the resumption number of transaction when it is disconnected from the service provider. 4. Calculate the mean value – average resumption time 5. Calculate the maximum value of the average resumption time for all transactions. Efficiency is “the capability of the software product to provide appropriate performance, relative to the amount of recourses used, under stated conditions”. According to ISO/IEC 9126, efficiency includes two sub-characteristics: time behaviour and resource behaviour. [Read about Database Key Issues] Sub-characteristics: Time behaviour– the capability of the system to provide appropriate response and processing time and throughput rates when performing its function, under state conditions. Time behaviour is important because of the need to transfer data from the service provider in an appropriate time. Metric purpose : Measure the response time to get information from service provider. Method of calculation 1. 2. 3. 4. 5.

For each task: Perform a task minimum 5 times Receive the data from the service provider Calculate the average time to get data as output Calculate the maximum value of the average time to get data as output for all the tasks.

Usability is “The capability of software product to be understood, learned, used, and attractive to the user, when used under specified conditions”. According to ISO/IEC 9126, usability includes three characteristics: understandability, learnability, operability. Usability is one the most important characteristics for the designed prototype. This attribute is even more relevant when the prototype has wide users. Usability can be threatened by the designed prototype in different ways: – Small screen. This problem originating from the nature of mobile devices means to have fewer visible options at any given time. – Tiny Keyboard. Text entry is difficult to operate with small keyboard and it causes more errors and slow operation. – Network Limitations. Although the network bandwidth has developed during the last few years, the bandwidth of wireless is still narrow therefore some problems arise when the amount of data must be transferred. Since the application interacts with the service provider, bandwidths limitation is considered here. Considering the mentioned problems above and importance of the Programming Assignments Help

Page 10


usability for the mobile devices, an experiment was designed to assess the usability of the prototype. The experiment was designed to evaluate only the usability of the prototype since this characteristic had the highest importance. Sub-characteristics: Understandability– describes the user’s effort to recognize the logical concept of the system and its applicability. Metric: To evaluate the understandability an experiment was designed and ran. Learnability– the user’s effort for learning the application Metric: To evaluate the learnability an experiment was designed and ran. Operability– the user’s effort to operate the system and to control its operation Metric: To evaluate the operability an experiment was designed and ran.

ZOMBA application is developed and run on Emulator (Google Nexus 7) and handled devices Samsung Galaxy SIII and perform specific tasks for users. These application is installed on the device and Emulator Successfully and tested all the requirement test cases scenarios At the end of testing phase, functional and non functional attribute is tested successfully and working fine. Installed Application Details size and details are present in below snapshot of Samsung Galaxy SIII

5.

Deployment

Programming Assignments Help

Page 11


This application can be developed using Zomba.apx file to appstore play or directly through gmail attachment. Application can be instInstall this application and enjoy. Google Nexus 7 screen shot

Programming Assignment Help provides plagiarism free assignments i.e. all our solutions are genuine and written by best technical assignment writers who have years of experience. Get a quote now.

Programming Assignments Help

Page 12


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.