0% found this document useful (0 votes)
90 views16 pages

Inroduction: 1.1 Mobile Application Development

Uploaded by

Harshitha Harshu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
90 views16 pages

Inroduction: 1.1 Mobile Application Development

Uploaded by

Harshitha Harshu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 16

Manager App

CHAPTER 1

INRODUCTION

1.1 MOBILE APPLICATION DEVELOPMENT

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

Dept. of IS&E, VVCE Mysuru 1


Manager App

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 COMPONENTS OF ANDROID APPLICATION


The Android applications will be built from four basic component types that are defined
by the Android architecture:

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].

Dept. of IS&E, VVCE Mysuru 2


Manager App
1.3.3 Foreground Services
Services that notify the user about its ongoing operations are termed as Foreground
Services. Users can interact with the service by the notifications provided about the
ongoing task. Such as in downloading a file, the user can keep track of the progress in
downloading and can also pause and resume the process.

1.3.4 Background Services


Background services do not require any user intervention. These services do not
notify the user about ongoing background tasks and users also cannot access them.
The process like schedule syncing of data or storing of data fall under this service.

1.3.5 Bound Services


This type of android service allows the components of the application like activity to
bound themselves with it. Bound services perform their task as long as any
application component is bound to it. More than one component is allowed to bind
themselves with a service at a time. In order to bind an application component with a
service bindService() method is used.

1.4 The Life Cycle of Android Services


In android, services have 2 possible paths to complete its life cycle namely Started
and Bounded.

1.4.1 Started Service (Unbounded Service)


By following this path, a service will initiate when an application component calls
the startService() method. Once initiated, the service can run continuously in the
background even if the component is destroyed which was responsible for the start of
the service.

1.4.2 Bounded Service


It can be treated as a server in a client-server interface. By following this path,
android application components can send requests to the service and can fetch results.
A service is termed as bounded when an application component binds itself with a
service by calling bindService() method. To stop the execution of this service, all the
components must unbind themselves from the service by using unbindService()
method.
Dept. of IS&E, VVCE Mysuru 3
Manager App

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.

1.4.3 Fundamentals of Android Services

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.

1.4.4 BROADCAST AND INTENT RECEIVERS


These respond to requests for service from another application. A Broadcast Receiver
responds to a system-wide announcement of an event. These announcements can
come from Android itself (e.g., battery low) or from any program running on the
system. An Activity or Service provides other applications with access to its
functionality by executing an Intent Receiver, a small piece of executable code that
responds to requests for data or services from other activities[4].
Android apps can send or receive broadcast messages from the Android system and
other Android apps, similar to the publish-subscribe design pattern. These broadcasts
are sent when an event of interest occurs. For example, the Android system sends
broadcasts when various system events occur, such as when the system boots up or
the device starts charging. Apps can also send custom broadcasts, for example, to
notify other apps of something that they might be interested in (for example, some
new data has been downloaded).
Apps can register to receive specific broadcasts. When a broadcast is sent, the system
automatically routes broadcasts to apps that have subscribed to receive that particular
type of broadcast.
Generally speaking, broadcasts can be used as a messaging system across apps and
outside of the normal user flow. However, you must be careful not to abuse the
opportunity to respond to broadcasts and run jobs in the background that can
contribute to a slow system performance, as described in the following video.The
system automatically sends broadcasts when various system events occur, such as
when the system switches in and out of airplane mode. System broadcasts are sent to
all apps that are subscribed to receive the event.
Dept. of IS&E, VVCE Mysuru 4
Manager App

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.

1.6 APPLICATIONS OF MOBILE APPLICATION DEVELOPMENT


Mobile application development is the process of creating software applications that
run on a mobile device hence, the mobile development process involves creating
installable software bundles (code, binaries, assets, etc.), implementing backend services
such as data access with an API, and testing the application on target devices. Mobile
application development is the set of processes and procedures involved in writing
software for small, wireless computing devices, such as smartphones and other hand-held
devices.
Like web application development, mobile application development has its roots in more
traditional software development. One critical difference, however, is that mobile apps are
often written specifically to take advantage of the unique features of a particular mobile
device. For example, a gaming app might be written to take advantage of the iPhone's
accelerometer or a mobile health app might be written to take advantage of a smartwatch's
temperature sensor.
Today, the two most prominent mobile platforms are iOS from Apple and Android from
Google. Phones and tablets from Apple come preloaded with essential applications,
including a full web browser and the Apple App Store. Android devices also come
preloaded with similar apps and you can install more using the Google Play Store.

Dept. of IS&E, VVCE Mysuru 6


Manager App

Types of mobile applications


In the early years of mobile apps, the only way to ensure an app could perform optimally
on any device was to develop the app natively. This meant that new code had to be written
specifically for each device's specific processor. Today, the majority of mobile
applications developed are device-agnostic.
In the past, if an app needed to be cross-platform and run on multiple operating systems
(OSes), there was little, if any, code that could be reused from the initial development
project. Essentially, each device required its own mobile app development project with its
own code base. Modern cross-platform tools use common languages such as C# and
JavaScript to share code across projects; more importantly, they integrate well with
application lifecycle management tools, such as Jenkins. 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.
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.

Dept. of IS&E, VVCE Mysuru 7


Manager App

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

1.6.3 The Mobile Application Development Lifecycle


Dept. of IS&E, VVCE Mysuru 8
Manager App
There are two interlinked core components of a mobile application:
1) the mobile application “Front-End” that resides on the mobile device, and
2) the services “Back-End” that supports the mobile front-end.

Fig 1.1 Lifecycle of Mobile Application Development

Front-end v/s Back-end


In the early days of the modern smart-phone applications era, mobile applications went
through a similar evolution as the first websites. At first, the applications and sites were
wholly contained within themselves and acted as little more than static advertisements for
the brand, company, product, or service.However, as connectivity and network
capabilities improved, the applications became increasingly connected to sources of data
and information that lived outside of the app itself, and the apps became increasingly
dynamic as they were able to update their UI and content with data received over the
network from queries to data sources.
As a result, the mobile front-end applications increasingly rely on and integrate with back-
end services which provide data to be consumed through the mobile front-end. Such data
can include, for example, product information for e-commerce apps or flight info for
travel and reservation apps. For a mobile game, the data may include new levels or
challenges.

Dept. of IS&E, VVCE Mysuru 9


Manager App

How Front-end 'Talks' to the Back-end?


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. For
example, a developer may obtain social media or advertising content by making calls to
media or advertising company services. In this case, a developer may have to sign a
contract in order to obtain credentials and a key that grants access to the API and
governs how that developer can use it, how much it will cost, or how frequently it may be
called, or how much data can be requested over what time period [5]
HTTP requests, are constructed inside the user’s browser and sent off. There’s a response for
each request, carrying information in the HTTP headers and the request body. Those
responses arrive back at the backend arrive back at the user’s browser.

 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.

Dept. of IS&E, VVCE Mysuru 10


Manager App

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

2.2 HARDWARE REQUIREMENTS


1. Processor – i5/i7
2. Hard Disk – 250 GB
3. Memory–8 GB RA

Dept. of IS&E, VVCE Mysuru 11


Manager App

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.

3.1 DESCRIPTION OF THE PROJECT


This project will have the following files that you can interact with to make the
project work.
1. activity_main.xml: This file describes the whole user interface
2. MainActivity.java: This file manages the working of this system. Main java file is
important as it is the only file that enables the execution of the application
3. activity_login.xml: This file describes about the login layout
4. activity_signup.xml: This file describes about the signup layout
5. Resource folder: This folder will have all the resources that are useful for this
project. Following are the list of resource files that are used in our project-
1. Drawable: It has the layout and designing of the application components
2. Colors: It has all the colors that are used in the project
3. Style: Here the styling of the text or components is done
4. String: This file defines all the strings that are necessary for the project.

3.2 INTRODUCTION TO ANDROID STUDIO


Android is one of the most popular mobile device platforms. The Android platform
allows developers to write managed code using Java to manage and control the

Dept. of IS&E, VVCE Mysuru 12


Manager App
Android device. Android Studio is a popular IDE developed by Google for
developing applications that are targeted at the Android platform. Note that Android
Studio has replaced Eclipse as the IDE of choice for developing Android
applications[6].

Some of the interesting features of Android Studio include the following


 Support for a fast emulator
 Support for Gradle
 Support for plenty of code templates and GitHub integration
 Support for Google Cloud Platform
 Support for template-based wizards for creating Android designs and
 components
 Support for rich layout editor
 Support for deep code analysis
 Support for extensive set of tools and frameworks

A rich layout editor that allows users to drag-and-drop UI components, option to


preview layouts on multiple screen configurations. Built-in support for Google Cloud
Platform, enabling integration with Firebase Cloud Messaging (Earlier 'Google Cloud
Messaging') and Google App Engine Android Virtual Device (Emulator) to run and
debug apps in the Android studio.
Android Studio supports all the same programming languages of IntelliJ (and CLion)
e.g. Java, C++, and more with extensions and Android Studio 3.0 or later supports
Kotlin and "all Java 7 language features and a subset of Java 8 language features that
vary by platform version."External projects backport some Java 9 features. While
IntelliJ states that Android Studio supports all released Java versions, and Java 12, it's
not clear to what level Android Studio supports Java versions up to Java 12 (the
documentation mentions partial Java 8 support). At least some new language features
up to Java 12 are usable in Android. Once an app has been compiled with Android
Studio, it can be published on the Google Play Store. The application has to be in line
with the Google Play Store developer content policy.

Dept. of IS&E, VVCE Mysuru 13


Manager App

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

Dept. of IS&E, VVCE Mysuru 14


Fitness App

CHAPTER 4

Dept.of IS&E,VVCE Mysuru Page 15


Fitness App

CHAPTER 4
RESULTS

Dept.of IS&E,VVCE Mysuru Page 16

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy