0% found this document useful (0 votes)
58 views44 pages

MAD Ch-1,2,3

This document provides an overview of mobile application development (MAD) and key concepts related to developing Android applications. It discusses the two dominant mobile platforms, iOS and Android, and covers object-oriented programming concepts like classes, objects, abstraction, polymorphism, inheritance and encapsulation. It also describes software development lifecycles, flow charts, data flow diagrams, SQL databases, and components of the Android architecture like the Linux kernel and application framework.

Uploaded by

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

MAD Ch-1,2,3

This document provides an overview of mobile application development (MAD) and key concepts related to developing Android applications. It discusses the two dominant mobile platforms, iOS and Android, and covers object-oriented programming concepts like classes, objects, abstraction, polymorphism, inheritance and encapsulation. It also describes software development lifecycles, flow charts, data flow diagrams, SQL databases, and components of the Android architecture like the Linux kernel and application framework.

Uploaded by

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

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

You might also like