CHARUTAR VIDYA MANDAL UNIVERSITY
A D PATEL INSTITUTE OF TECHNOLOGY
Mobile Application Development- 3170726
PREPARED BY:
PROF. AXIT KACHHIA
CP DEPARTMENT
What is MAD?
Mobile application development is the process of creating software
applications that run on a mobile device, and a typical mobile application
utilizes a network connection to work with remote computing resources.
There are two dominant platforms in the modern smartphone market. One
is the iOS platform from Apple Inc. The iOS platform is the operating system
that powers Apple's popular line of iPhone smartphones.
The second is Android from Google. The Android operating system is used
not only by Google devices but also by many other OEMs to built their own
smartphones and other smart devices.
2
Basic Concepts of OOPs
It known as an Object-oriented programming (OOP).
It is a computer programming model that organizes software design
around data, or objects, rather than functions and logic.
An object can be defined as a data field that has unique attributes and
behavior.
OOP focuses on the objects that developers want to manipulate rather than
the logic required to manipulate them.
This approach to programming is well-suited for programs that are large,
complex and actively updated or maintained. This includes programs for
manufacturing and design, as well as mobile applications; for example, OOP
can be used for manufacturing system simulation software.
3
OOPs include the following such as:
Class
Object
Abstraction
Polymorphism
Inheritance
Encapsulation
4
Class
The class is one of the Basic concepts of OOPs which is a group of similar
entities. It is only a logical component and not the physical entity.
Classes are user-defined data types that act as the blueprint for individual
objects, attributes and methods.
It is a blueprint for creating objects, providing initial values for state.
User-defined objects are created using the class key word.
Ex. Class Students{
Student En.No;
Branch;
Area of Interest;
}
5
Object
An object can be defined as an instance of a class, and there can be multiple
instances of a class in a program.
An Object is one of the OOPs concepts which contains both the data and the
function, which operates on the data.
Objects are the things you think about the first in designing a program and
they are also the unit of code that are eventually derived from the process.
A data field that has unique attributes and behavior.
For example – chair, bike, marker, pen, table, car, etc.
6
Abstraction
Abstraction shows only essential attributes and hides unnecessary
information.
Abstraction is one of the OOP Concepts in Java which is an act of
representing essential features without including background details.
Main purpose is to hiding the unnecessary details from the users.
For example, while driving a car, you do not have to be concerned with its
internal working. Here you just need to concern about parts like steering
wheel, Gears, accelerator, etc.
7
Polymorphism
It describes the situation in which something occurs in several different
forms.
The ability of a message to be displayed in more than one form.
Polymorphism refers to one of the OOPs concepts in which is the ability of a
variable, object or function to take on multiple forms.
For example, in English, the verb run has a different meaning if you use it
with a laptop, a foot race, and business. Here, we understand the meaning
of run based on the other words used along with it.
The same also applied to Polymorphism.
8
Inheritance
It is a key feature and one the basic concept of OOP.
One object acquires the properties and behaviors of the parent object.
It allows to create new class from existing class.
i.e., It allows to create derived class from a base class.
9
Encapsulation
Encapsulation is one of the best OOPs concepts of wrapping the data and
code.
In this OOPs concept, the variables of a class are always hidden from other
classes. It is process of wrapping a similar code in one place.
Capsule is best example of Encapsulation. Capsule basically encapsulate
several combination of medicines. Schoolbag is one of best example of
Encapsulation. School bag can keep our books, pen etc.
10
SDLC
It is known as a Software development life cycle.
It is process used by the software industries to design, develop and test
high quality software.
It is also known as a structured process that enables the production of High-
Quality, Low-Cost software, in the shortest possible production time.
The goal of the SDLC is to produce superior software that meets and
exceeds all customer expectations and demands.
It also called as a Software Development Process.
11
Continue…
It consists of a detailed plan describing how to develop, maintain, replace
and enhance specific software.
The life cycle defines a methodology for improving the quality of a software
and the overall development process.
12
Continue…
Stage 1: Planning and Requirement Analysis
Stage 2: Defining Requirements
Stage 3: Designing the Product Architecture
Stage 4: Building or Developing the Product
Stage 5: Testing the Product
Stage 6: Deployment in the Market and Maintenance
13
Flow Chart
A flowchart is a type of diagram that represents
a workflow or process.
A flowchart is a picture of the separate
steps of a process in sequential order.
It can be used to describe various processes,
such as a manufacturing process, an administrative
process, or a project plan.
It is a convenient technique to represent the
flow of control in a program.
14
Data Flow Diagram (DFD)
A data-flow diagram is a way of representing a flow of data through a
process or a system.
The DFD also provides information about the outputs and inputs of each
entity and the process itself.
Data refers to information, flow refers to move, and diagram refers to a
picture to represent something.
So, DFD is basically the graphical representation of the flow of data or
information.
It describes the path of data that completes the process.
15
Difference between Flow Chart & DFD
S.N Flow Chart Data Flow Diagram (DFD)
o.
1. The main objective is to represents the The main objective is to represent the processes
flow of control in program. and data flow between them.
2. It is the view of the system at a lower It is the view of the system at a high level.
level.
3. It deals with the physical aspect of the It deals with the logical aspect of the action.
action.
4. It shows the how to make system It defines the functionality of the system.
function.
5. It is not very suitable for a complex It is used for complex systems.
system.
16
SQL Database
SQL stands for Structured Query Language.
SQL lets you access and manipulate databases.
It is a standardized programming language that is used to manage relational
databases and perform various operations on the data in them.
SQL is the most common language for extracting and organizing data that
is stored in a relational database.
A database is a table that consists of rows and columns. SQL is the language
of databases.
It facilitates retrieving specific information from databases that are further
used for analysis.
17
SQL Database
18
Android
19
Android
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 an operating system and programming platform developed by
Google for mobile phones and other mobile devices, such as tablets.
It can run on many different devices from many different manufacturers.
Android includes a software development kit (SDK) that helps you write
original code and assemble software modules to create apps for Android
users.
Android also provides a marketplace to distribute apps.
All together, Android represents an ecosystem for mobile apps.
20
Continue…
Now, we will start with Android Architecture, it comprises of five levels,
which are the Linux kernel, Libraries, Application framework, Android
runtime, and System applications.
21
Components of Android Architecture
22
Android Architecture
23
24
1. Linux Kernel
Linux kernel is the bottom-most and important layer of the Android
architecture and it is the core part of Android architecture.
It provides features such as:
◦ Security
◦ Process management
◦ Memory management
◦ Device management
◦ Multitasking
It consists of device drivers like camera, flash memory, Display, keypad,
Wifi etc.
25
2. Libraries
This layer consists of a set of Libraries and Android Runtime.
The Android component is built using native codes and require native
libraries, which are written in C/C++ and most of the libraries are open
source libraries.
This layer handles data that is specific to the hardware.
26
3. Android Runtime
This is the third section of the architecture and available on the second
layer from the bottom.
It comprises of DVM (Dalvik Virtual Machine). Just like JAVA uses JVM,
Android uses DVM to optimize battery life, memory and performance.
The byte code generated by the Java compiler has to be converted to .dex
file by DVM, as it has its own byte code.
The Android runtime also provides a set of core libraries which enable
Android application developers to write Android applications using standard
Java programming language.
27
4. Application Framework
The application framework built on top of the native library layer provides
us with Application programming interface and higher-level services.
It also consists of an Android Hardware Abstraction Layer (HAL) that allows
the Android Application framework to communicate with hardware-specific
device drivers.
28
Application
You will find all the Android application at the top layer.
You will write your application to be installed on this layer only.
Examples of such applications are Contacts Books, Browser, Games etc.
29
Building Blocks of Android Application
Application components are the essential building blocks of an Android
application.
There are following four main components that can be used within an
Android application −
1. Activities
2. Services
3. Broadcast Receivers
4. Content Providers
30
Activities
An activity represents a single screen with a user interface, in-short Activity
performs actions on the screen.
For example, an email application might have one activity that shows a list
of new emails, another activity to compose an email, and another activity for
reading emails.
If an application has more than one activity, then one of them should be
marked as the activity that is presented when the application is launched.
An activity is implemented as a subclass of Activity class as follows −
public class MyService extends Service{
}
31
Activities
32
Services
They handle background processing associated with an application.
A service is a component that runs in the
background to perform long-running operations.
A service does not provide user interface.
For example, a service might play music in the
background while the user is in a different application.
For ex, Games
A service is implemented as a subclass of Service class−
public class MainActivity extends Activity{
}
33
Broadcast Receivers
They handle communication between Android OS and applications.
It simply respond to broadcast messages from other application or from the system.
For example, whenever you got a call from other person you can get a pop-up message
for accept or decline while running other application at a same time.
Best Ex. is Truecaller.
34
Content Providers
A content provider component supplies data from one application to others
on request.
Such requests are handled by the methods of the ContentResolver class.
The data may be stored in the file system, the database or somewhere else
entirely.
35
Content Providers
36
Content Providers
Operations in Content Provider
Four fundamental operations are possible in Content Provider
namely Create, Read, Update, and Delete. These operations are often
termed as CRUD operations.
•Create: Operation to create data in a content provider.
•Read: Used to fetch data from a content provider.
•Update: To modify existing data.
•Delete: To remove existing data from the storage.
37
Activity LifeCycle
An activity is the single screen in android.
It is like window or frame of Java.
By the help of activity, you can place all your UI components or widgets in a
single screen.
The 7 lifecycle method of Activity describes how activity will behave at
different states.
38
39
Activity LifeCycle
Method Description
onCreate called when activity is first created.
onStart called when activity is becoming visible to the user.
onResume called when activity will start interacting with the user.
onPause called when activity is not visible to the user.
onStop called when activity is no longer visible to the user.
onRestart called after your activity is stopped, prior to start.
onDestroy called before the activity is destroyed.
40
Intent
41
Android Fragments
It is the part of activity, it is also known as sub-activity.
There can be more than one fragment in an activity.
According to the Android documentation, a fragment is a part of
applications user interface that is bound to an activity.
Fragments have their lifecycle and layouts or UI components.
42
Continue…
No Method Description
.
1) onAttach(Activity) It is called only once when it is attached with activity.
2) onCreate(Bundle) It is used to initialize the fragment.
3) onCreateView(LayoutInflater, creates and returns view hierarchy.
ViewGroup, Bundle)
4) onActivityCreated(Bundle) It is invoked after the completion of onCreate() method.
5) onViewStateRestored(Bundle) It provides information to the fragment that all the saved
state of fragment view hierarchy has been restored.
6) onStart() makes the fragment visible.
43
Continue…
7) onResume() makes the fragment interactive.
8) onPause() is called when fragment is no longer interactive.
9) onStop() is called when fragment is no longer visible.
10) onDestroyView() allows the fragment to clean up resources.
11) onDestroy() allows the fragment to do final clean up of fragment state.
12) onDetach() It is called immediately prior to the fragment no longer
being associated with its activity.
44