Android App Development A Review
Android App Development A Review
1. Introduction
Mobile technology is the expertise castoff for cellular messaging. Subsequently the start of the generation of mobile to present,
a typical smart phone maneuver has left from being a modest shared pager to being a smart device, Global Positioning System
navigation device, a surrounded web browser in addition instantaneous messaging user, and a hand-held gaming control box.
Many of portable functional structures are available for smart receivers which include Windows Mobile, Android, iOS, Black-
berry OS, Bada. Android is an operating system based on Linux with a Java programming interface. Android is a portable oper-
ational system (OS) developed by Google. Android is the primary completely open-source mobile OS. All the android versions
are in the designation of dissimilar chocolates e.g. are Cupcake, Donut, Éclair, Froyo, Gingerbread, HoneyComb, Ice-cream
Sandwich, Kitkat, Lollipop, Marshmallow, Nougat, Pie. A mobile app is a computer software tender premeditated to course on
mobile, tablet computers and different other mobile devices. Smart phone apps remained initially accessible for wide-ranging
yield in addition data repossession, which includes electronic mail, datebook, associates, money market in addition meteoro-
logical conditions information.
2. Technology Used
2.2. Hardware
Google has unveiled at least three prototypes for Android, at the Mobile World Congress on February 12, 2008. One prototype
at the ARM booth displayed several basic Google applications. A ‘d-pad’ control zooming of items in the dock with a relatively
quick response. A prototype at the Google IO conference on May 28, 2008 had a 528 MHz Qualcomm processor and a Synaptic
capacitive touch screen and used the UMTS cellular standard. It had 128 MB of RAM and 256 MB of flash, showing that An-
droid’s memory requirements are reasonable. The demo was carried out using a .6 Mbps HSDPA connection.
3. Building Block
3.1. Activity
It is a tender module which delivers a display using which operators could cooperate in command to perform approxi-
mately, like business the itinerant, snap a picture, guide the email, or view a record. Individually movement is prearranged
a window in which to draw its manipulator boundary. The window naturally plugs the shelter. Whenever an original activity
starts, it is pushed onto the vertebral heap and takes user focus. The back stack abides to the basic “last in, first out” stack
mechanism, so, when the user is done with the current activity and presses the Back mutton, it is popped from the stack
(and destroyed) additionally the preceding action resumes. When an activity is stopped because an innovative activity
starts, it is notified of this change in state through the activity’s lifecycle callback methods.
3.2. Services
A package is a tender module which could accomplish extensive successively performing processes on the circumstantial, in
addition it prepares not to offer a operator boundary. Additional tender module could jump a service, and it continues to
course in the circumstantial level though the operator shifts to different tenders. There are quite a few recall methods that an
activity might receive, owing to an adjustment in its state whether the system is creating it, stopping it, resuming it, or destroy-
ing it- and each callback provides you the opportunity to perform specific work that is appropriate to that state change. For
instance, when stopped, our activity should release any large objects, such as network or database connections.
4. Android Libraries
This class incorporates that Java-built in functions which were explicit to Android advancement. Some of the examples of built-
in functions in cutting-edge sort comprise of the fond summary functions additionally of that whose simplify handler boundary
edifice, illustrations sketch besides record entrée. An immediate off around crucial central Android built in functions which are
accessible to the originator is as per the following: -
• android.app- Propositions installment to tender prototype additionally is the groundwork of all Android applications.
• android.content- Simplifies data entrée, issuing also communication among tenders and tender gears.
• android.database- Castoff to entrée information available by pleased workers and comprises SQLite information record
organization modules.
• android.opengl- A class to the OpenCV EA 3D illustrations translation application programming interface.
• android.os- Delivers requests by entrée to typical operating system amenities which comprises posts, scheme facilities
then intra-procedure announcement.
• android.text- castoff to essence on addition to deploying typescript on an exercise monitor
• android.view- the fundamental building block of application user interfaces
• android.widget- an ironic assembly of initial made operator boundary workings such as buttons, labels, listviews, outline
executives, radio switches and so on.
Some of the most important attributes you will use with linear layouts include:
• The orientation attribute (required), which can be set to vertical or horizontal.
• The gravity attribute(optional), which controls how all child controls are aligned and displayed within the linear layout
(class: LinearLayout)
• The layout weight attribute (optional, applied to each child control) specifies each child control’s relative importance
within the parent linear layout (class: Linear Layout. Layout Params Headings, or heads, are organizational devices
that guide the reader through your paper. There are two types: component heads and text heads.
placement of controls aligned to the top, bottom, left or right edges of the layout. Some specific attributes apply to relative
layouts- namely the child rules, including:
• Rules for child control centering within the parent layout, including: center horizontally, center vertically or both.
• Rules for child control alignment within the parent layout, including: align with top, bottom, left or right edge of an-
other control.
• Rules for child control alignment in relation to other child controls, including: align with top, bottom, left or right edge.
• Rules for child control placement in relation to other child controls, including: settlement to the leftward or right of a
detailed control, or above or below another control.
A table layout is exactly what you might expect: a grid of made up of rows and columns, where a cell can display a view control.
From a user interface design perspective, a TableLyout is comprised of TableRow controls_ one for each row in your table. The
contents of a TableRow are simply the view controls that will go in each “cell” of the table grid. Although table layouts can be
used to design entire user interfaces, they usually aren’t the superlative device for undertaking so, as it has been consequential
from Linear Layout.
The options menu is the primary collection of menu items for an activity. It’s where you should place actions that have a global
impact on the app, such as “Search”, “compose email”, and “settings”. On Android 3.0 and higher, items from the options
menu are accessible by the achievement bar as an amalgamation of on-screen action items and overflow options. Beginning
with Android 3.0, the Menu button is deprecated (some devices don’t have one), so we should migrate toward using the action
bar to provide access to actions and other options.
A context menu is a floating tariff that look as if as soon as the manipulator performs a long click on an element. It provides
travels that mark the designated content or context frame. A contextual tariff bids schedules that mark the detailed entry or
situation frame in the UI. You can provide a context menu for any view, nevertheless they are maximum repeatedly used for
items in a ListView, GridView, or other view collections in which the manipulator can perform direct actions on each item.
After building all those components, we need to somehow relate them to enable navigation between them. Some of these
events driven navigation is directly controlled in respective typescript files while the static ones are handled using routing
module. For eg: A unvalid path results in 404 error, this is handled by redirecting any such requests to home component.
4.8. Adapters
This is a custom service designed to handle authentication with firebase auth, thereby simplifying this process and reducing
repetition of code. Making a custom service enables us to change authentication method in future, without struggling too
much as now all the authentication code is at one place and not scattered among several files.
This is a custom guard designed to validate email address, password etc. before it is pushed to database. Similar to auth ser-
vice, we define it as a guard to reduce repetition of code and gives us flexibility to 20 tune these criteria with a lot more ease.
This guard is used in login, signup, and profile component to validate the information given by the user. Guards are imple-
mented to impose constraints on information provided by user, such as password, email id, name etc.
Conclusion
Android smartphones are in the hype in the 21st century. The scope of android applications is increasing day by day. Its devel-
opment has become an essential part of today’s programming curriculum. Its utility and efficiency are also high. The society
has no dearth of ideas. These ideas can be most effectively implemented by developing user-friendly android applications.
Android is a much more diverse operating system than iOS and Windows Phone Mobile. Android has grown rapidly over the
past 4 years becoming the most used smartphone operating system in the world. It is because Android doesn’t release 1 phone
from 1 company with 1 new OS every year, but countless phones from numerous companies, adding their own twist, through-
out the year, developing gradually day-by-day. Android’s ability to customize is unparalleled compared to Apple’s and Mi-
crosoft’s software allowing the user to change and customize nearly every aspect of Android which most iPhone and Windows
users would not dream. So, Android is unique and incomparable to other mobile operating systems.
Acknowledgements
I would like to thank my university for giving me this golden opportunity to research on such an interesting topic. I would also
like to thank Dr. Anil Kumar, Assistant Pro Vice Chancellor & Director, ASET and Dr. Deepak Arora, Professor & Head, Dept of
CSE & IT, ASET for encouraging students to indulge in valuable research activities to enhance their technical skills. Next, I want
to thank my faculty guide Dr. Pawan Singh for guiding me throughout the course of this project. I would also like to thank the
internet, books, and the institute for the knowledge I acquired with their help.
References
[1] Kathuria, A., & Gupta, A. (2015). Challenges in android application development: a case study. International Journal of Computer Sci-
ence and Mobile Computing, 4(5), 294-299.
[2] C K Marigowda, Rajat Porwal, Srajan Singhal, Srijan Sinha, “Android Based College Application for Students”
[3] Purvi Sankhe, Hardik Punmiya, Vatsal Prasad, Raj Shrivastav, “Android Application for College Management System 2014”.
[4] Doğan, S., Betin-Can, A., & Garousi, V. (2014). Web application testing: A systematic literature review. Journal of Systems and Soft-
ware, 91, 174-201.
[5] Cruz, L., & Abreu, R. (2017, May). Performance-based guidelines for energy efficient mobile applications. In 2017 IEEE/ACM 4th Inter-
national Conference on Mobile Software Engineering and Systems (MOBILESoft) (pp. 46-57). IEEE.
[6] Ribeiro and A.R.D. Silva, “Survey on Cross-Platforms and Languages for Mobile Apps,” Eighth International Conference on the Quality
of Information and Communications Technology, 2012.
[7] Pohares. V.C.Kulloli, T. Bhattacharya and S.Bhure, “Cross Platform Mobile Application Development” International Journal of Computer
Trends and Technology vol. 4, no. 5, pp. 1095-1100, 2013.
[8] Marco Brambilla, Andrea Mauri, Mirco Franzago, and Henry Muccini. 2016. A model-based method for seamless web and mobile ex-
perience. In Proceedings of the 1st International Workshop on Mobile Development, 2016. Association for Computing Machinery, New
York, NY, USA, 33–40. DOI: https://doi.org/10.1145/3001854.3001857Lerner, Ari, ng-book –The Complete Book on Android Develop-
ment
[9] A. Kathuria and A. Gupta, “Challenges in Android Application Development: A Case Study” International Journal of Computer Science
and Mobile Computing, vol. 4, no.5, pp. 294-299, May 2015.
[10] Vijay Deshmane, Sarita Sawale, Krishna Bharambe, Pratik Lahudkar,2018 “Application Development with Android: A review”