Inroduction: 1.1 Mobile Application Development
Inroduction: 1.1 Mobile Application Development
CHAPTER 1
INRODUCTION
Android is a mobile operating system based on a modified version of the Linux kernel
and other open-source software, designed primarily for touchscreen mobile devices such
as smartphones and tablets. Android is developed by a consortium of developers known as
the Open Handset Alliance and commercially sponsored by Google. It was unveiled in
November 2007, with the first commercial Android device, the HTC Dream, being
launched in September 2008. And as we said before, Android offers a unified approach to
application development for mobile devices. Android is an open- source operating system
named Android. Google has made the code for all the low- level stuff" as well as the
needed middleware to power and use an electronic device and gave Android freely to
anyone who wants to write code and build the operating system from it. There is even a
full application framework included, so third-party apps can be built and installed, then
made available for the user to run as they like. The "proper" name for this is the Android
Open-Source Project, and this is what people mean when they say things like Android is
open and free[1].
1.2 HISTORY
Android Inc. was founded in Palo Alto, California, in October 2003 by Andy Rubin, Rich
Miner, Nick Sears, and Chris White. Rubin described the Android project as having
"tremendous potential in developing smarter mobile devices that are more aware of its
owner's location and preferences". The early intentions of the company were to develop
an advanced operating system for digital cameras, and this was the basis of its pitch to
investors in April 2004.The company then decided that the market for cameras was not
large enough for its goals, and five months later it had diverted its efforts and was pitching
Android as a handset operating system that would rival Symbian and Microsoft Windows
Mobile.
Speculation about Google's intention to enter the mobile communications market
continued to build through December 2006.An early prototype had a close resemblance to
a BlackBerry phone, with no touchscreen and a physical QWERTY keyboard, but the
arrival of 2007's Apple iPhone meant that Android "had to go back
to the drawing board".Google later changed its Android specification documents to state
that "Touchscreens will be supported", although "the Product was designed with the
presence of discrete physical buttons as an assumption, therefore a touchscreen cannot
completely replace physical buttons". By 2008, both Nokia and BlackBerry announced
touch-based smartphones to rival the iPhone 3G, and Android's focus eventually switched
to just touchscreens. The first commercially available smartphone running Android was
the HTC Dream, also known as T-Mobile G1, announced on September 23, 2008 [2].
1.3.1 ACTIVITIES
Activities are pieces of executable code that come and go in time, instantiated by either
the user or the operating system and running as long as they are needed. They can interact
with the user and request data or services from other activities or services via queries or
Intents. Activities usually correspond to display screens: each Activity shows one screen
to the user.
1.3.2 SERVICES
Services in Android are a special component that facilitates an application to run in the
background in order to perform long-running operation tasks. The prime aim of a service
is to ensure that the application remains active in the background so that the user can
operate multiple applications at the same time. A user-interface is not desirable for
android services as it is designed to operate long-running processes without any user
intervention. Further, application components can bind itself to service to carry out inter-
process communication(IPC). There is a major difference between android services and
threads, one must not be confused between the two. Thread is a feature provided by the
Operating system to allow the user to perform operations in the background. While
service is an android component that performs a long-running operation about which the
user might not be aware of as it does not have UI[3].
To carry out a downloading task in the background, the startService() method will be
called. Whereas to get information regarding the download progress and to pause or
resume the process while the application is still in the background, the service must be
bounded with a component which can perform these tasks.
A user-defined service can be created through a normal class which is extending the
class Service. Further, to carry out the operations of service on applications, there are
certain callback methods which are needed to be overridden.
The broadcast message itself is wrapped in an Intent object whose action string identifies
the event that occurred.The intent may also include additional information bundled into its
extra field. For example, the airplane mode intent includes a Boolean extra that indicates
whether or not Airplane.
1.4.5 CONTENT PROVIDERS
These are created to share data with other activities or services. A content provider uses
a standard interface in the form of a URI to fulfill requests for data from other
applications that may not even know which content provider they are using. For
example, when an application issues a query for Contact data, it addresses the query. A
content provider manages access to a central repository of data. A provider is part of an
Android application, which often provides its own UI for working with the data. However,
content providers are primarily intended to be used by other applications, which access
the provider using a provider client object. Together, providers and provider clients
offer a consistent, standard interface to data that also handles inter- process
communication and secure data access.
Typically, you work with content providers in one of two scenarios; you may want to
implement code to access an existing content provider in another application, or you may
want to create a new content provider in your application to share data with other
applications. This topic covers the basics of working with existing content providers. To
learn more about implementing content providers in your own applications, see Creating a
content provider.
1.5 OBJECTIVE
2 The project objectives are fairly straightforward, the first objective is that the users will be
able to keep track of their current exercise, food, and water statistics through continuous
usage of the app, this means that the all data about their health, will be logged and saved
into the database for further process and then display to the users when it is needed. The
users can have a better idea about their lifestyle since they can keep track and view the
stored data in organized form. There are 3 main modules in the app, which are Water,
Exercise, as well as Food module that aim to support and aid the users to practice a
healthy lifestyle because each section log and provides different kind of information to
the users. Likewise, the second objective is to help the users to practice consistent
exercise routines as well as keep their diet right for every meal according to the result
analyzed from the data stored in the database by motivating them through extrinsic
Dept. of IS&E, VVCE Mysuru 5
Manager App
motivation. Apparently, that will be a huge problem if people eat whatever they want and
consume excess calories every day yet they do not carry out sufficient amount of exercise,
obesity as well as other chronic diseases are coming for them sooner or later. The truth is
human eats only as much as the body needs and should feel satisfied instead of stuffed at
the end of a meal (Robinson, Segal Ph.D. and Segal, 2017). Basically the users can also
create reminders in order to remind them to do certain tasks which are quite handy if they
are worried of forgetting routines that need to be done.
3 Eventually, the major problem that will be addressed through this project is the lack of
information and motivation. People often do not provided with ample amount of
information so that they could always stick with the latest health information and get a
clear sense of direction in terms of what needs to be done as well as how to accomplish it.
requiring the end user to visit an app store, make a purchase and download software
locally. Instead, a PWA can be located with a search engine query and accessed
immediately through a browser, thereby eliminating the need for e-commerce merchants
to develop native apps for multiple mobile OSes.
Just like YouTube videos, PWA content is downloaded progressively, which provides the
end user with a better user experience than a traditional website that uses responsive
design. Progressive web apps may also be referred to as instant mobile apps.
Before developing an app, you need to determine which type you'll be creating. Here's a
breakdown of several types of mobile app development technologies with information
about each.
ware locally. Instead, a PWA can be located with a search engine query and accessed
immediately through a browser, thereby eliminating the need for e-commerce merchants
to develop native apps for multiple mobile OSes.
Just like YouTube videos, PWA content is downloaded progressively, which provides the
end user with a better user experience than a traditional website that uses responsive
design. Progressive web apps may also be referred to as instant mobile apps.
Before developing an app, you need to determine which type you'll be creating. Here's a
breakdown of several types of mobile app development technologies with information
about each.
Native applications, these applications are built using integrated development
environments (IDEs) and languages for mobile OSes such as Apple iOS or
Google Android. Native apps enable you to customize necessary features, but
they can be more costly than other technologies.
Hybrid apps, these are web apps that act like native apps. They are developed
using technologies such as HTML, JavaScript and Cascading Style Sheets
(CSS). Hybrid apps are more cost-effective to develop than native apps and
can be created faster, but they aren't as feature-rich as native applications.
Progressive web apps, a PWA is a website that looks and behaves as if it is a
mobile app. These applications are developed with web technologies such as
Facebook React
Encapsulated apps, an encapsulated app runs within a container app. Products
such as the Microsoft Power App drag-and-drop app creation tool enable less
experienced developers to build a mobile application rapidly. But the lack of
isolation from the core OS, OS lock-in and the relative newness could pose
problems
Frameworks and libraries, you can use this reusable code written by someone
else to accelerate your development of a mobile app
1.6.2 ADVANTAGES
Provide More Value to Your Customers.
Connect With Your Customers Fast and Easy
Increase accessibility:
Reach Higher Customer Engagement Level
Unique services
The browser reads the incoming HTML, and notices that there’s a resource it needs
to load, such as a JS file, an image or a CSS file. It goes ahead and requests each
with a single new HTTP request
A user clicks on a plain-ol’ link the webpage is loaded and rendered. The browser
knows that they need to navigate to a new page and requests the corresponding URL.
JavaScript is executed on the site, and wants to have some data loaded in the
background and it can tell the browser that the click wasn’t meant to navigate to a
new page.
This enables developers to use a single codebase for Apple iOS, Google Android and
progressive web apps (PWAs). PWAs are built to take advantage of native mobile
device features, without requiring the end user to visit an app store, make a purchase
and download software locally. Instead, a PWA can be located with a search engine
query and accessed immediately through a browser, thereby eliminating the need for
e-commerce merchants to develop native apps for multiple mobile OSes.
Just like YouTube videos, PWA content is downloaded progressively, which
provides the end user with a better user experience than a traditional website that uses
responsive design. Progressive web apps may also be referred to as instant mobile
apps.
CHAPTER 2
REQUIREMENTS
To demonstrate the Travel Guide APP and demonstrate it’s working using the
following software and hardware requirements.
2.1 SOFTWARE REQUIREMENTS
1. Windows 7 or above
2. Android Studio
3. Android OS: Lollipop and Above.
4. Language: Java
CHAPTER 3
DESIGN AND DESCRIPTION
3.1PROJECT DETAILS
The fitness app that is going to be developed will be able to keep track of the users’ data such
as meals, recipes, statistics, and so on after the continuous usage of the app. There is a
dedicated section that displays all kinds of statistics in organized form to the users whenever
they wish to view the details regarding their progress. On the other hand, modern people
nowadays also do not fully aware of the crisis that they are facing, which is the occurrence of
the chronic diseases. The app will be able to remind the users about some things that must not
do or vice versa after they create reminders. Speaking of the users’ lifestyle, the final
deliverable of this project is to motivate and encourage the users so that they could practice a
healthy lifestyle through the built-in social network platform as well as the concept of
gamification such as leaderboard so that they will not think that exercise is meaningless when
there is no more intrinsic motivation.
Android Studio allows you to see any visual changes you make to your app in real-
time, and you can also see how it will look on a number of different Android devices,
each with different configurations and resolutions, simultaneously. Another feature in
Android Studio are the new tools for the packing and labelling of code. These let you
keep on top of your project when dealing with large amounts of code. The
programmed also uses a drag & drop system to move the components throughout the
user interface. In addition, this new environment comes with Google Cloud
Messaging, a feature which lets you send data from the server to Android devices
through the cloud, a great way to send Push notifications to your apps.The
programmed will also help you to localize your apps, giving you a visual way to keep
programming while controlling the flow of the application.
The mobile front-end obtains the data from the back-end via a variety of service calls
such as APIs. In some cases, these APIs may be owned and operated by the same
entity developing the mobile application. In other cases, the API may be controlled
by a third party and access is granted to the mobile application via a commercial
arrangement.
An important aspect of the Android application environment is that Android
applications have historically been written in the Java™ programming language.
However, you can also write them in a relatively new programming language from
Google called Kotlin. This article focuses exclusively on Java, but Kotlin is gaining
momentum and you might consider taking a closer look. Between the trend toward
"newer is better" in programming languages (for example, Swift is overtaking
Objective-C for iOS/Apple development) and the ongoing legal battle over where
Java can or cannot be used, Kotlin will likely be the leading language for Android
within a few years.
Java is the incumbent technology. If you’re just starting out, Java is a safe place to
work for a couple of reasons. First, there is a decade's worth of Android resources on
the web focused on Java. Second, Java is a language that still has life in it for other
platforms – particularly server-side web technologies. As a classic object-oriented
programming language, Java skills still matter
CHAPTER 4
CHAPTER 4
RESULTS