KEMBAR78
UNIT - 1 Introduction | PDF | Android (Operating System) | Mobile App
0% found this document useful (0 votes)
22 views105 pages

UNIT - 1 Introduction

The document provides a comprehensive overview of the history and evolution of mobile technologies, from the development of two-way radios in the 1940s to the introduction of 5G networks. It highlights key milestones, including the launch of 1G to 4G networks, the rise of smartphones, and various mobile technologies such as SMS, MMS, and app development frameworks. Additionally, it discusses the emergence of wearables, IoT, and ongoing advancements in mobile security and privacy concerns.

Uploaded by

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

UNIT - 1 Introduction

The document provides a comprehensive overview of the history and evolution of mobile technologies, from the development of two-way radios in the 1940s to the introduction of 5G networks. It highlights key milestones, including the launch of 1G to 4G networks, the rise of smartphones, and various mobile technologies such as SMS, MMS, and app development frameworks. Additionally, it discusses the emergence of wearables, IoT, and ongoing advancements in mobile security and privacy concerns.

Uploaded by

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

MOBILE APPLICATION

DEVELOPMENT

UNIT-1 INTRODUCTION
Brief History of Mobile Technologies:
❖ The history of mobile technology began with two-way radios and
has evolved to include smartphones and tablets.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Here are some key milestones in the history
of mobile technology:
➢ 1940s: Enabling technology for mobile phones was developed.
➢ 1973: Martin Cooper of Motorola demonstrated the first handheld
cellular mobile phone.
➢ 1979: Nippon Telegraph and Telephone launched the first
commercial automated cellular network (1G) in Japan.
➢ 1980s: 1G was introduced as voice-only communication via "brick
phones".
➢ 1991: 2G was developed, introducing Short Message Service (SMS)
and Multimedia Messaging Service (MMS) capabilities.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
➢ 1994: The IBM Simon was released, integrating the features of
a mobile phone and a personal digital assistant (PDA).
➢ 1996: The Nokia Communicator 9000 was released,
integrating the features of a mobile phone and a personal digital
assistant (PDA).
➢ 1995: Jyoti Basu made the first mobile phone call in India
using a Nokia handset.
➢ 2011: It was estimated in Britain that more calls were made
using mobile phones than wired devices.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
Mobile technology has evolved from 1G to 4G and is now continuing with 5G
networks. 5G networks use a combination of existing 4G LTE and new 5G New
Radio (5G NR) technology.
➢ Some other mobile technologies include:
✓ SMS,
✓ MMS,
✓ 3G,
✓ GSM (Global System for Mobile Communications),
✓ CDMA (Code-Division Multiple Access - It's a digital cellular technology
that uses spread-spectrum techniques.),
✓ Wi-Fi

https://www.facilitiesnet.com/buildingautomation/article/A-Brief-History-of-Mobile-
Technology--18112
https://www.oreilly.com/library/view/mobile-design-and/9780596806231/ch01.html
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Brief History of Mobile Technologies:
➢ The history of mobile technologies is a fascinating journey marked by
significant advancements and innovations. Here's a brief overview of
the key milestones in the evolution of mobile technologies:
✓ First Generation (1G):
1. 1980s: The first generation of mobile networks, known as 1G, introduced
analog cellular networks. The initial mobile phones were large and bulky,
and the voice quality was often inconsistent.
✓ Second Generation (2G):
1. 1990s: The transition to digital technology marked the era of 2G networks.
Digital networks like GSM (Global System for Mobile Communications) and
CDMA (Code Division Multiple Access) improved call quality, introduced text
messaging (SMS), and enabled basic data services.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
✓ Mobile Internet Begins:
1. Late 1990s: WAP (Wireless Application Protocol) was introduced, enabling
basic internet access on mobile devices. However, the experience was limited,
and data transfer speeds were slow.
✓ Third Generation (3G):
1. Early 2000s: 3G networks provided faster data transfer speeds, enabling
improved mobile internet access, video calling, and multimedia services.
Smartphones started to gain popularity, and mobile app development began to
take off.
✓ Rise of Smartphones:
1. Mid-2000s: The introduction of smartphones like the BlackBerry and the
iPhone marked a significant shift. Touchscreens, app stores, and advanced
operating systems (iOS, Android) transformed mobile devices into powerful,
multipurpose tools.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Continued…
✓ Fourth Generation (4G):
1. 2010s: The rollout of 4G networks brought even faster data speeds, enabling
high-quality video streaming, online gaming, and more sophisticated mobile
applications. LTE (Long-Term Evolution) became a standard for 4G technology.
✓ App Stores and Mobile Apps Boom:
1. 2010s: The launch of Apple's App Store in 2008 and Google Play for Android
in 2012 marked the beginning of a mobile app revolution. The app ecosystem
exploded, offering a wide range of applications for various purposes.
✓ Fifth Generation (5G):
1. Late 2010s-2020s: 5G technology started to roll out, promising significantly
faster internet speeds, lower latency (provide response with minimal delay),
and support for emerging technologies like augmented reality (AR) and the
Internet of Things (IoT).

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
✓ Foldable and Flexible Displays:
1. 2019 and beyond: The introduction of smartphones with foldable and
flexible displays, offering new form factors and possibilities for user
interaction.
✓ Advanced Mobile Technologies:
1. 2020s: Ongoing advancements include AI integration, improved biometrics (facial
recognition, fingerprint scanning), enhanced camera capabilities, and continued
developments in AR and VR technologies.
✓ Emergence of Wearables and IoT:
1. 2010s onwards: The rise of smartwatches, fitness trackers, and other wearable devices,
along with the proliferation of IoT devices connected to mobile networks.
✓ Mobile Security and Privacy Concerns:
1. Ongoing: The growing importance of mobile security and privacy as smartphones
become integral to our daily lives, leading to increased focus on encryption, secure
authentication, and privacy features.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Different Mobile Technologies
➢ There are four main types of mobile networks –
❖ cellular communication, 4G networking, Wi-Fi, and Bluetooth connections.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Different Mobile Technologies
➢ There are various mobile technologies and platforms used for developing mobile
applications. Here are some of the key ones:
❖ Native Mobile App Development:
1. iOS Development (Swift, Objective-C): Used for building applications specifically for
Apple devices such as iPhones and iPads.
2. Android Development (Java, Kotlin): Used for building applications for Android-powered
devices.
❖ Cross-Platform Mobile App Development:
1. React Native: Developed by Facebook, it allows developers to build mobile apps using
JavaScript and React. It enables the development of cross-platform apps with a single
codebase.
2. Flutter: Developed by Google, it is a UI toolkit that allows the creation of natively
compiled applications for mobile, web, and desktop from a single codebase.
3. Xamarin: Owned by Microsoft, Xamarin allows developers to use C# for building cross-
platform mobile apps, sharing a significant amount of code between platforms.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Continued…
❖ Progressive Web Apps (PWAs):
1. Web applications that offer a native app-like experience. They are developed
using web technologies (HTML, CSS, JavaScript) and are accessible
through a web browser. PWAs can work offline and have features like push
notifications.
❖ Mobile Web Development:
1. Traditional web development that is optimized for mobile browsers.
Responsive design techniques are commonly used to ensure a consistent user
experience across different screen sizes.
❖ Hybrid Mobile App Development:
1. Combines elements of native and web applications. Hybrid apps are typically
built using web technologies (HTML, CSS, JavaScript) but are wrapped in a
native container, allowing them to be distributed through app stores.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Continued…
❖ AR (Augmented Reality) and VR (Virtual Reality):
1. ARKit (iOS) and ARCore (Android): Frameworks for building augmented
reality experiences on iOS and Android devices, respectively.
2. Unity, Unreal Engine: Game engines that are often used for creating virtual
reality applications and experiences.
❖ Internet of Things (IoT):
1. Mobile apps that interact with IoT devices. These apps are often used to control
or monitor smart devices, sensors, and other connected hardware.
❖ 5G Technology:
1. The fifth generation of mobile networks, providing faster internet speeds and
improved connectivity. 5G enables new possibilities for mobile applications,
especially those requiring high data transfer rates and low latency.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
❖ Wearable Technologies:
1. Mobile applications developed specifically for smartwatches, fitness
trackers, and other wearable devices.
❖ Mobile Game Development:
1. Specialized mobile technologies and engines for creating mobile
games, such as Unity, Unreal Engine, Cocos2d-x, and others.
❖ Mobile Backend as a Service (MBaaS):
1. Services that provide backend infrastructure for mobile apps, handling
tasks like user authentication, data storage, and server-side logic.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Types of Mobile Technologies

➢ Followings are the few famous mobile technologies:


✓ SMS
✓ MMS
✓ 4G
✓ 3G
✓ GSM
✓ CDMA
✓ Wi-Fi
https://www.geeksforgeeks.org/mobile-technologies-definition-types-
uses-advantages/

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
1. SMS: “SMS” stands for “Short Message Service.” It is now the most
widely used and oldest text messaging service.
➢ SMS are also sent over cellular networks; therefore you’ll need a
wireless plan and a wireless carrier. SMS is fast gaining popularity in
the world as a low-cost messaging medium.
➢ Every text message delivered to a cell phone has become known as
SMS. Messages can usually be up to 140 characters long.
➢ SMS was originally developed for GSM phones, although it is now
supported by all major cellular phone networks.
➢ Although SMS is most commonly used for text messaging between
friends or coworkers, it also has a variety of additional uses.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…

For example, SMS subscription services can send weather, news,


sports updates, and financial quotes to consumers’ phones. Employees
may also be notified of sales requests, service stops, and other business-
related information via SMS.
Fortunately, text messages sent via SMS do not require the receiver’s
phone to be turned on in order for the message to be delivered. The
message will be kept in the SMS service until the receiver switches on
his or her phone, at which point it will be transmitted to the recipient’s
phone. Most cell phone providers enable you to send a specific amount
of text messages per month for free.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
2. MMS: MMS (Multimedia Messaging Service) messaging is a
standard method of delivering multimedia material, including
messages.
➢ MMS, as opposed to SMS, can send up to forty seconds of video,
one picture, a multi-image slideshow, or audio.
➢ MMS texting will be supported by the majority of contemporary
devices. MMS capability is typically embedded within the text
message interface and is turned on automatically when needed.
➢ If you enter in a text-only message, for example, it will be
transmitted by SMS. If you include a graphic or video, the
multimedia part will be sent via MMS.
➢ Similarly, if someone sends you a multimedia message, your phone
will automatically receive the file via MMS.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Continued…

➢ An MMS message can convey rich media content to mobile devices at any
time and from any location.
➢ It is a powerful and effective tool that assists businesses in reinforcing and
deepening client loyalty by providing crucial information about their products
and services.
➢ Because MMS texts are packed with photographs and videos, they are a
significant marketing communication tool. As well as other audios.
➢ MMS is a cutting-edge method of communicating with others via mobile
devices.
➢ Text messages are more successful because they deliver valuable information
and services to the recipient. The more a corporation approaches its
customers, the more probable it is to form a long-term brand partnership.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…

3. 3G: The third letter in the designation 3G stands for third-generation


access technology, which allows mobile phones to connect to the internet.
Every new technology introduces new frequency bands and data
transmission rates.
➢ The first generation emerged in the 1980s. First-generation uses large
phones that had to be mounted on top of cars because they were too
heavy to hold. Text messaging was made possible by the second-
generation network, which became available in the 1990s. This huge
and game-changing advancement also provided a more secure network
and laid the path for today’s ubiquitous 3G and 4G technology.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
➢ The development of 3G connection-based networks in 2001 marked the
start of mainstream Internet use on mobile phones. Soon after,
smartphones were introduced, bringing all of the capabilities of a device
into the palm of your hand. The signals are transmitted by a network of
telephone towers, ensuring robust and relatively rapid long-distance
communication. The user’s mobile phone is receiving data from the tower
nearest to it. Although it may not appear complicated, 3G technology was
revolutionary at the time it was introduced.
➢ Upload speeds of up to 3 Mbps are possible on 3G networks. For example,
about 15 seconds for uploading a 3-minute MP3 song. The fastest 2G
phones, on the other hand, may get up to 144Kbps For example, about 8
minutes to download a 3-minute song. 3G systems are intended for digital
phones with a full-screen display and better connectivity.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Continued…
4. 4G: The fourth generation of mobile networking technology is
known as 4G, which comes after the 2G and 3G networks. Although
it’s commonly referred to as 4G LTE, this isn’t exactly right because
LTE is just one sort of 4G. Most mobile network service providers
use it now since it is the most developed technology.
➢ However, as you may have heard, 5G is becoming operational
alongside current 3G and 4G mobile networks. When it initially
came out, 4G revolutionized how we use the mobile internet.
Despite the fact that 3G networks were relatively limited, 4G
network connectivity allowed consumers to browse the internet
and watch HD films on their mobile devices, thereby turning
smartphones into laptops.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Continued…
➢ Most tasks that you can do on a laptop or desktop computer can now be done on
mobile devices such as smartphones or tablets. No matter how much data you
require, 4 G networks allow you to keep consistent speeds practically anywhere.
4G was launched in the United Kingdom in 2012. Currently, the number of
mobile subscribers using 3G outnumbers those using 4G. Expect this to alter in
the coming years as 4G contracts become more affordable and 4G network
coverage increases across the UK.
➢ Premium 4G offers download speeds of around 14 Mbps, which is over five
times quicker than the 3G network’s predecessor. 4G networks can currently
attain speeds of up to 150 Mbps, allowing users to download gigabytes of data in
minutes, if not seconds, rather than hours as with 3G networks. Uploading data is
also significantly faster with 4G – normal upload speeds are over 8 Mbps, with
theoretical rates of up to 50 Mbps, whereas 3G upload speeds are under 0.5
Mbps.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Continued…
5. Global System for Mobile technology: The (GSM) is an acronym
for Global System for Mobile Communication.
➢ GSM is a cellular technology that is open and digital and is used for
mobile communication. It operates on the 850 MHz, 900 MHz, 1800
MHz, and 1900 MHz frequency ranges. It employs a hybrid of
FDMA and TDMA.
6. Code Division Multiple Access: (CDMA) is an acronym for code
division multiple access.
➢ It is a channel access mechanism that also serves as an example of
multiple access. Multiple access simply means that data from
multiple transmitters can be delivered onto a single communication
channel at the same time.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
7. Wi-Fi (Wireless Fidelity): Wi-Fi is a wireless networking
technology that allows us to connect to a network or to other computers
or mobile devices across a wireless channel.
➢ Data is delivered in a circular region over radio frequencies in Wi-Fi.
Wi-Fi (Wireless Fidelity) is a generic acronym for a communication
standard for a wireless network that functions as a Local Area
Network without the use of cables or other types of cabling.
Example of Mobile Technologies are:
✓ Laptop,
✓ Tablets and Notebook computers,
✓ Smartphones.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Key Mobile Application Services-
➢ Mobile apps are software programs that run on mobile devices,
such as smartphones and tablets.
➢ They are designed to provide a range of functions and services,
while considering the capabilities of the device they are built for.
➢ For example, a gaming app might use the iPhone's accelerometer.
(a device that measures the acceleration of an object)

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
➢ Mobile apps can take advantage of a mobile device's features, such as
the camera, contact list, GPS, phone calls, accelerometer, and
compass. These features can make the user experience more interactive and
fun.
➢ Mobile apps are typically downloaded from app stores and installed on
the device. They can be small in functionality, but they deliver a high-quality
service or experience to users.
➢ Mobile app development services refer to the creation of software
applications that are designed to run on mobile devices. Some mobile app
development services include:
✓ Product discovery and ideation
✓ Product design
✓ Technology scouting
✓ Technology consulting
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Continued…
➢ From a developmental perspective, apps can be divided into
three types:
❖Native,
❖Hybrid,
❖Web apps.
➢ Building each type involves utilizing different skills and
methodologies.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Key Mobile Application Services
❑ Mobile application services encompass a wide range of features and
functionalities that enhance the performance, usability, and overall
experience of mobile applications. Key mobile application services
include:
❖ User Authentication and Authorization:
1. Services that handle user authentication, ensuring secure login and access control.
2. OpenAuth, OpenID Connect, and other authentication protocols are commonly used.
❖ Data Storage and Management:
1. Services for storing and managing data on the device or in the cloud.
2. Cloud-based databases, file storage, and offline data synchronization.
❖ Push Notifications:
1. Services that enable the sending of push notifications to users' devices.
2. Firebase Cloud Messaging (FCM)
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Continued…
❖ Geolocation Services:
1. Services that provide location-based information and services.
2. GPS, Wi-Fi, and cellular network-based geolocation services.
❖ Social Media Integration:
1. APIs and services that enable integration with social media platforms.
2. Authentication through social media accounts and sharing features.
❖ Analytics and User Tracking:
1. Services that collect and analyze user data for insights into app performance.
2. Google Analytics, Flurry, or custom analytics solutions.

The Flurry Android Analytics Agent allows you to track the usage and
behavior of your Android application on users' devices for viewing in the Flurry
Analytics system.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Continued…
❖ Offline Functionality:
1. Services that enable the app to function even without an internet
connection.
2. Local storage, caching, and synchronization mechanisms.
❖ Security Services:
1. Encryption, secure communication protocols, and other services
to ensure the security of user data.
2. SSL/TLS, certificate pinning, and secure coding practices.
(secure sockets layer and transport layer security)

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…

❖ App Update and Version Control:


1. Services for managing app updates and versions.
2. Over-the-air (OTA) updates and version control systems.
❖ Cross-Platform Development:
1. Frameworks and services that facilitate the development of
cross-platform mobile applications.
2. React Native, Flutter, Xamarin, or other cross-platform tools.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
❖ Backend as a Service (BaaS):
1. Cloud-based services that provide backend functionalities like
serverless computing, databases, and APIs.
2. Firebase, AWS Mobile Hub, and Parse are examples.
❖ Device Compatibility and Optimization:
1. Services for optimizing the app's performance on various
devices and screen sizes.
2. Responsive design, adaptive layouts, and device-specific
customization.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…

❖ Customer Support and Feedback:


1. Integration with customer support tools and services.
2. In-app feedback forms and support chat integration.
❖ Accessibility Services:
1. Services that enhance the accessibility of the app for
users with disabilities.
2. Voiceover, screen readers, and other accessibility
features

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Introduction to Android

❑ Android is a mobile operating system (OS) developed


by Google.
❑ It is based on the Linux kernel and is designed
primarily for touchscreen devices such as smartphones
and tablets.
❑ Android has become one of the most widely used and
versatile operating systems, powering a vast array of
devices across various manufacturers.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


A Brief Introduction To Key Aspects/Features
Of The Android Operating System:
❑ Open Source Nature:
1. Android is an open-source platform, which means that its source
code is freely available to the public. This open nature has
fostered a large and active community of developers who
contribute to its continuous improvement.
❑ User Interface (UI):
1. Android provides a user-friendly interface with customizable
home screens and widgets. Users can personalize their devices
by arranging icons, changing wallpapers, and using various
themes.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Continued…
❑ Google Play Store:
1. Android users can access the Google Play Store, the official
marketplace for downloading and installing applications
(apps). The Play Store offers a vast selection of apps, games,
books, music, and other content.
❑ App Development:
1. Android app development is typically done using the Java
programming language, although Kotlin has gained
popularity as an alternative.
2. Android Studio, the official integrated development
environment (IDE), is widely used for creating Android
applications.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Continued…
❑ Multitasking and Notifications:
1. Android supports multitasking, allowing users to run
multiple applications simultaneously.
2. Notifications keep users informed about messages, updates,
and other important events, and they can be accessed from the
notification shade.
❑ Google Services Integration:
1. Android tightly integrates with various Google services, such as
Gmail, Google Maps, Google Drive, and more. This seamless
integration allows users to sync their data across devices and
access a wide range of online services.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Continued…
❑ Security Features:
1. Android incorporates robust security features, including regular security
updates, encryption, app sandboxing, and permissions management.
Users have control over the permissions granted to each app.
Sandboxing in Android is a process that isolates apps from each other
and protects them from malicious apps and intruders. It uses the Linux
user-based permissions model to isolate application resources
❑ Device Fragmentation:
1. Android runs on a diverse range of devices manufactured by different
companies, resulting in device fragmentation. While this diversity
allows for a wide selection of devices, it can pose challenges for
developers in terms of ensuring app compatibility across various
screen sizes and hardware specifications.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Continued…
❑ Version Releases:
1. Android versions are named after desserts or sweets in alphabetical
order (e.g., KitKat, Lollipop, Marshmallow). New versions are released
periodically, introducing features, performance improvements, and security
updates.
❑ Customization and Modifiability:
1. Android is highly customizable, both in terms of its appearance and
functionality. Users can install custom ROMs and themes to modify the
look and feel of their devices.
❑ Android TV, Wear OS, and Auto:
1. Android extends beyond smartphones and tablets to other platforms,
including Android TV for smart televisions, Wear OS for smartwatches,
and Android Auto for in-car entertainment and navigation systems.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
The Android Application Components

❑ There are four types of app components:


✓ Activities
✓ Services
✓ Broadcast receivers
✓ Content providers
https://developer.android.com/guide/components/fundamentals

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


The Android Application Components
❖ Android applications are built using a set of fundamental
components that serve distinct purposes. These components are
essential for creating a robust and modular structure for Android
apps. The main Android application components are:

➢ Activities:
1. Activities represent the UI (User Interface) and handle user
interactions.
2. Each screen in an Android app is typically implemented as an
activity.
3. Activities are defined in the manifest file and can interact
with each other.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
➢ Services:
1. Services perform background tasks without a user interface.
2. They are often used for tasks such as playing music in the background,
downloading files, or handling network operations.
➢ Broadcast Receivers:
1. Broadcast receivers respond to system-wide broadcast announcements or custom
broadcasts.
2. They enable the communication between different parts of the app or between
the app and the system.
➢ Content Providers:
1. Content providers manage the app's shared data, allowing different
applications to access and modify the data.
2. They are used for data storage, retrieval, and sharing among different app
components.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Continued…
➢ Fragments:
1. Fragments represent a portion of the user interface in an activity.
2. They can be combined to create a multi-pane UI for tablets or other large-screen
devices.
➢ Intent:
1. Intents are messages that allow components to request functionality from other
components.
2. They are used for communication between different activities, services, and
broadcast receivers.
➢ Manifest File:
1. The AndroidManifest.xml file contains essential information about the app,
including its components, permissions, and configuration.
2. It declares the app's package name, version, activities, services, and more.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Android Architecture
➢ Android architecture contains different number of components to support any
android device needs. Android software contains an open-source Linux Kernel
having collection of number of C/C++ libraries which are exposed through
an application framework services.
➢ Among all the components Linux Kernel provides main functionality of
operating system functions to smartphones and Dalvik Virtual Machine
(DVM) provide platform for running an android application.
➢ The main components of android architecture are following:-
✓ Applications
✓ Application Framework
✓ Android Runtime
✓ Platform Libraries
✓ Linux Kernel
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Applications

➢ Applications is the top layer of android architecture.


➢ The pre-installed applications like home, contacts, camera,
gallery etc. and third-party applications downloaded from the
play store like chat applications, games etc. will be
installed on this layer only.
➢ It runs within the Android run time with the help of the
classes and services provided by the application framework.

https://www.geeksforgeeks.org/android-architecture/

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Application framework
➢ Application Framework provides several important classes
which are used to create an Android application.
➢ It provides a generic abstraction for hardware access and also
helps in managing the user interface with application
resources.
➢ Generally, it provides the services with the help of which we
can create a particular class and make that class helpful for the
Applications creation.
➢ It includes different types of services activity manager,
notification manager, view system, package manager etc.
which are helpful for the development of our application
according to the prerequisite.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Application runtime
➢ Android Runtime environment is one of the most important part
of Android. It contains components like core libraries and the
Dalvik virtual machine(DVM).
➢ Mainly, it provides the base for the application framework and
powers our application with the help of the core libraries.
➢ Like Java Virtual Machine (JVM), Dalvik Virtual Machine
(DVM) is a register-based virtual machine and specially
designed and optimized for android to ensure that a device can run
multiple instances efficiently.
➢ It depends on the layer Linux kernel for threading and low-level
memory management.
➢ The core libraries enable us to implement android applications
using the standard JAVA or Kotlin programming languages.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Platform libraries
➢ The Platform Libraries includes various C/C++ core libraries and Java based
libraries such as Media, Graphics, Surface Manager, OpenGL etc. to provide a
support for android development.
❖ Media library provides support to play and record an audio and video formats.
❖ Surface manager responsible for managing access to the display subsystem.
❖ SGL(Scalable Graphics Library) and OpenGL both cross-language, cross-
platform application program interface (API) are used for 2D and 3D computer
graphics.
❖ SQLite provides database support and FreeType provides font support.
❖ Web-Kit This open-source web browser engine provides all the functionality to
display web content and to simplify page loading.
❖ SSL (Secure Sockets Layer) is security technology to establish an encrypted link
between a web server and a web browser.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Linux Kernel
➢ Linux Kernel is heart of the android architecture.
➢ It manages all the available drivers such as display drivers,
camera drivers, Bluetooth drivers, audio drivers,
memory drivers, etc. which are required during the
runtime.
➢ The Linux Kernel will provide an abstraction layer between
the device hardware and the other components of android
architecture.
➢ It is responsible for management of memory, power,
devices etc.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
➢ The features of Linux kernel are:
❖ Security: The Linux kernel handles the security between the
application and the system.
❖ Memory Management: It efficiently handles the memory
management thereby providing the freedom to develop our
apps.
❖ Process Management: It manages the process well, allocates
resources to processes whenever they need them.
❖ Network Stack: It effectively handles the network
communication.
❖ Driver Model: It ensures that the application works properly
on the device and hardware manufacturers responsible for
building their drivers into the Linux build.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Exploring the Development Environment

Exploring the development environment for mobile applications


involves understanding the tools, frameworks, and processes
used to create, test, and deploy mobile apps.

Let's focus on the Android and iOS platforms, which are the
two major players in the mobile application development
landscape:

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Android Development Environment:
Android Studio:
❖ Android Studio is the official IDE (Integrated Development
Environment) for Android app development.
❖ It provides a rich set of tools for designing, coding, testing, and
debugging Android applications.
❖ Android Studio is based on IntelliJ IDEA and includes the Android
SDK, emulator, and other development tools.
Android SDK (Software Development Kit):
❖ The Android SDK contains libraries, tools, and APIs necessary for
Android app development.
❖ Developers use SDK components to build, test, and debug their
applications.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
Emulator:
❖ Android Emulator allows developers to test their applications on virtual devices with
different configurations.
❖ It helps in detecting and fixing issues related to different screen sizes, resolutions, and
Android versions.
Gradle:
❖ Gradle is the build system used for Android projects.
❖ It automates the process of building, testing, and packaging the app.
XML Layouts:
❖ Android uses XML for defining the layout and UI elements of the app.
❖ Developers use XML files to design the user interface of activities and fragments.
Java/Kotlin:
❖ Android apps can be written in Java or Kotlin programming languages.
❖ Kotlin, a more modern language, is becoming increasingly popular for Android development.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
iOS Development Environment:
Xcode:
❖ Xcode is the official IDE for iOS app development.
❖ It includes a code editor, interface builder, and tools for testing, debugging,
and performance analysis.
Swift/Objective-C:
❖ iOS apps can be developed using Swift or Objective-C programming
languages.
❖ Swift is the newer and preferred language, offering modern features and
safety enhancements.
iOS SDK:
❖ The iOS SDK provides frameworks and APIs for iOS app development.
❖ It includes tools for developing apps for iPhone, iPad, Apple Watch, and
Apple TV.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
Simulator:
❖ iOS Simulator allows developers to test their apps on virtual iOS
devices.
❖ It helps in simulating different iOS versions and device configurations.
Interface Builder:
❖ Interface Builder is a visual design tool integrated into Xcode for
designing the user interface of iOS apps.
❖ Developers can create interfaces using a drag-and-drop approach.
Cocoa Touch:
❖ Cocoa Touch is the UI framework for building iOS applications.
❖ It includes essential frameworks for handling user interface elements,
multitasking, and touch-based input.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Common Development Practices:
Version Control:
❖ Developers use version control systems like Git to manage source code,
track changes, and collaborate with team members.
Testing:
❖ Unit testing and UI testing are crucial for ensuring the reliability and
performance of mobile applications.
❖ Both Android and iOS platforms offer testing frameworks.
App Distribution:
❖ Mobile apps are distributed through app stores (Google Play for Android,
App Store for iOS).
❖ Developers need to adhere to platform-specific guidelines for app
submission.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Continued…
Continuous Integration (CI) and Continuous Deployment
(CD):
❖ CI/CD pipelines automate the process of building, testing, and
deploying mobile apps.
Documentation:
❖ Comprehensive documentation is essential for maintaining and
updating mobile applications.
❖ Documentation should cover code comments, API references,
and user guides.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Obtaining the Required Tools

To start developing mobile applications, you'll need to


obtain the required tools and set up your development
environment.

Here are the steps for obtaining the necessary tools


for Android and iOS app development:

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Android App Development:

Install Android Studio:


❖ Download and install Android Studio, the official IDE for Android
development, from the Android Studio website.
❖ Follow the installation instructions provided on the website.
Download Android SDK:
❖ Android Studio includes the Android SDK, but you may need to
update it or install additional components.
❖ Open Android Studio, go to the "SDK Manager," and ensure you
have the necessary SDK components installed.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
Configure Emulator:
❖ Set up an Android Virtual Device (AVD) in Android Studio for
testing your apps on different virtual devices.
❖ Open the "AVD Manager" in Android Studio to create and configure
virtual devices.
Choose a Programming Language:
❖ Decide whether you want to use Java or Kotlin for Android
development.
❖ Kotlin is the recommended language, and many new Android
projects are written in Kotlin.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


iOS App Development:
Install Xcode:
❖ Xcode is the official IDE for iOS development, and you can
download it from the Mac App Store.
❖ Open the App Store on your Mac, search for Xcode, and
install it.
Choose a Programming Language:
❖ iOS apps can be written in Swift or Objective-C.
❖ Swift is the newer and preferred language. If you are new to
iOS development, consider learning Swift.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…

iOS SDK:
❖ Xcode includes the iOS SDK, which provides frameworks and
tools for iOS app development.
Set Up an Apple Developer Account:
❖ To test your apps on physical iOS devices and distribute them
through the App Store, you'll need an Apple Developer
account.
❖ You can sign up for an account on the Apple Developer
website.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Common Tools for Both Platforms:
1. Version Control System (Git):
1. Install Git on your development machine to manage source code and track changes.
2. You can download Git from the official Git website.
2. Integrated Development Environment (IDE):
1. Use a powerful code editor or IDE for general coding and version control.
2. Popular choices include Visual Studio Code, Atom, or JetBrains IDEs.
3. Java Development Kit (JDK):
1. If you are developing Android apps with Java, make sure you have the Java Development
Kit installed.
2. You can download the JDK from the Oracle website or use OpenJDK.
4. Swift Playgrounds (Optional):
1. If you are learning Swift for iOS development, you may find Swift Playgrounds helpful. It's an
interactive learning environment for Swift.
5. Emulators/Simulators:
1. Both Android Studio and Xcode come with emulators/simulators for testing your apps.
2. These tools allow you to run and debug your applications without the need for physical devices.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Launching Your First Android Application

Launching your first Android application involves setting up a basic project,


creating a simple user interface, and running the app on an emulator or a
physical device. Here's a step-by-step guide using Android Studio:
Step 1: Install Android Studio
❖ If you haven't already, download and install Android Studio. Follow the
installation instructions provided on the official website.
Step 2: Open Android Studio and Create a New Project
❖ Open Android Studio.
❖ Click on "Start a new Android Studio project" or select "File" > "New" >
"New Project."

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
Step 3: Configure Your New Project
➢ Choose a Template:
❖ Select a template for your project. For your first app, you can choose "Empty Activity" or
"Basic Activity."
➢ Configure Your Project:
❖ Enter the "Name" for your application.
❖ Choose a "Save location" for your project.
❖ Select the language (Java or Kotlin). If you're new, consider choosing Kotlin.
❖ Click "Finish."
Step 4: Explore Project Structure
Android Studio will create a project structure for you. Key folders and files include:
❖ app/src/main/java/your.package.name/MainActivity: This is the main activity file.
❖ res/layout/activity_main.xml: This is the XML file defining your activity's layout.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Step 5: Design the User Interface
❖ Open activity_main.xml in the res/layout folder.

❖ You'll see a visual editor for designing your UI. Drag and drop UI elements from the palette onto the design surface.

Example XML code for a simple layout with a button:


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/myButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click Me"
android:layout_centerInParent="true" />
</RelativeLayout>

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Step 6: Code the MainActivity
❖ Open MainActivity.java (or MainActivity.kt if you chose Kotlin) in the
app/src/main/java/your.package.name/ folder.
❖ Add code to handle button clicks or perform any other actions.
Example Java code for a simple button click:
package your.package.name;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Button myButton = findViewById(R.id.myButton);

myButton.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

Toast.makeText(MainActivity.this, "Button Clicked!", Toast.LENGTH_SHORT).show();

});

} Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Step 7: Run Your App
❖ Connect a physical Android device to your computer or use the
emulator.
❖ Click on the "Run" button in Android Studio (usually a green
triangle).
❖ Select the target device/emulator and click "OK."
Android Studio will build your project and install the app on the
selected device/emulator. You should see your app running, and if
you click the button, you'll see a toast message.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Exploring the IDE
➢ An IDE (Integrated Development Environment) is software
that combines commonly used developer tools into a compact
GUI (graphical user interface) application.
➢ It is a combination of tools like a code editor, code compiler,
and code debugger with an integrated terminal.
➢ IDEs offer some stunning features that go beyond ordinary
editing.
➢ By providing frequently used developer tools all in one simple
interface, one can directly get on to building their applications
without going through the hardship of manually configuring and
integrating the development environment.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Common Features of an IDE
➢ Editor: Typically, a text editor can help you write software code by
highlighting syntax with visual cues, providing language-specific auto-
completion, and checking for bugs as you type.
➢ Compiler: A compiler interprets human-readable code into
machine-specific code that can be executed on different operating
systems like Linux, Windows, or Mac OS. Most IDEs usually come
with built-in compilers for the language it supports.
➢ Debugger: A tool that can assist developers to test and debug their
applications and graphically point out the locations of bugs or
errors if any.
➢ Build-in Terminal: Terminal is a text-based interface that can be
used for interacting with the machine’s operating system.
Developers can directly run the scripts or commands within an IDE with
a built-in terminal/console.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
➢ Version Control: Version control helps bring clarity to the
development of the software. Some IDEs also support version
control tools like Git, through which a user can track and
manage the changes to the software code.
➢ Code snippets: IDEs support code snippets that are usually
used to accomplish a single task and can also reduce redundant
work to some great extent.
➢ Extensions and Plugins: Extensions and Plugins are used to
extend the functionality of the IDEs with respect to specific
programming languages.
➢ Code navigation: IDEs come with tools like code folding,
class and method navigation, and refactoring tools that
make it simple to go through and analyze code.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Why do Developers Use IDE?
IDEs can help improve a developer’s productivity, code quality, and overall development
experience.
1. Productivity: By combining common activities such as editing code, building executables,
debugging, and testing as part of software/application development, IDEs help by reducing time
and increasing overall productivity.
2. Code Quality: IDEs come with built-in tools as a part of a single GUI, through which
developers can execute actions without switching between applications. Furthermore, it can also
help in Syntax highlighting, code refactoring, and code analysis boosting overall code quality.
3. Integrated Environment: IDEs come pre-built with a combination of development tools that
allow developers to start programming new applications quickly. With IDEs, it is no longer
necessary to manually configure and integrate numerous utilities as part of the setup procedure.
Additionally, since every utility is available on the same workbench, developers don’t have to
spend hours learning how to use each one separately.
4. Customizability: By incorporating customization options ranging from custom color schemes,
and keyboard shortcuts, to choosing unique layouts, different plugins, and add-ons; IDEs enable
developers to customize their environment to their unique needs and tastes, improving the comfort
and efficiency of the development process.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Types of IDEs
1. Desktop IDEs
This type includes the IDEs that can be configured locally. They do not need an
active internet connection to build/run programs. Desktop IDEs are highly
customizable to suit developer-specific needs and provide performance
irrespective of the internet speed.
Examples: include Microsoft Visual Studio, Eclipse, Netbeans, etc.
2. Cloud IDEs
Cloud IDEs eliminate the overhead of configuring the software locally. They run
on remote servers and can be accessed through desktop browsers. Cloud IDEs
provide better accessibility and platform independence making them accessible
through the Internet Irrespective of the Client Operating System. Cloud IDEs can
be used freely or can have pricing models with respect to the provider.
Examples: Include Gitpod, AWS Cloud 9, Replit, etc.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Continued…
3. Mobile App Development IDEs
These IDEs are specially designed for creating mobile applications. They include
features like Emulator support and integration for developing and testing mobile
applications. Mobile Development IDEs can be in the form of Desktop IDE or
Cloud IDE.
Examples: Include Android Studio, Flutlab.io, etc.
4. Database-Specific IDEs
These IDEs are specially designed for working with databases. They include
features like query builders and n for developing and testing mobile applications.
Like mobile-development IDEs, Database IDEs can also be in the form of
Desktop IDE or Cloud IDEs.
Examples: Include MySQL Workbench, Oracle SQL Developer, etc.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Debugging Your Application
Debugging your Android application is a crucial step in the development process
to identify and fix issues. Here's a step-by-step guide on how to debug your
Android application using Android Studio:
❑ Setting Up Debugging:
1. Enable USB Debugging on your Android Device:
1. On your Android device, go to "Settings" > "About phone" > "Software information."
2. Tap "Build number" seven times to enable Developer Options.
3. Go back to "Settings," open "Developer options," and enable "USB debugging."
2. Connect Your Device to the Computer:
1. Connect your Android device to your computer using a USB cable.
3. Run Your App in Debug Mode:
1. Open your Android Studio project.
2. Click on the "Run" button, but choose "Debug" instead of "Run."
3. Select your connected device from the list.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Debugging Process:
1. Set Breakpoints:
❑ Identify the code where you want to start debugging and set breakpoints.
Click on the left margin next to the line numbers in your code.
2. Run the App:
❑ Click on the "Debug" button or use the shortcut (Shift + F9) to launch
your app in debug mode.
3. Navigate through Code:
❑ Use debugging controls like "Step Over" (F8) and "Step Into" (F7) to
move through your code. The debugger will stop at breakpoints.
4. Inspect Variables:
❑ In the "Variables" window, you can inspect the current values of
variables. Hover over variables in your code to see their values.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
5. Evaluate Expressions:
❑ Use the "Evaluate Expression" feature to enter and evaluate expressions during
debugging. This can help you understand the state of your app at specific points.

6. Logcat:
❑ Open the "Logcat" tab at the bottom to view logs and debug messages. Use
Log.d(), Log.e(), etc., in your code to log information for debugging.

7. Conditional Breakpoints:
❑ Right-click on a breakpoint and select "Add Condition" to make the debugger
stop only when a specific condition is met.

8. Watches:
❑ Add variables or expressions to the "Watches" window to keep an eye on
specific values during debugging.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
9. Exception Breakpoints:
❑ Set breakpoints to stop execution when a specific exception is
thrown. Right-click on the breakpoints section and choose "Add
Exception Breakpoint."
10. Inspect Network Traffic:
❑ For network-related issues, use tools like "Android Profiler" to
monitor network activity and inspect requests and responses.
11. Memory Profiler:
❑ Use the "Memory" profiler to identify and fix memory-related
issues. Check for memory leaks and optimize memory usage.
12. Android Device Monitor:
❑ The Android Device Monitor provides additional debugging tools.
You can access it through the "View" menu in Android Studio.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Additional Points/Tips:
➢ Emulator Debugging:
❖ Debugging on an emulator follows a similar process. Launch the
emulator and select it as the target device for debugging.
➢ Advanced Profiling:
❖ Use advanced profiling tools like the "Android Profiler" for in-depth
analysis of CPU, memory, and network usage.
➢ Documentation and Community:
❖ Refer to the official Android Studio documentation for detailed
information on debugging features.
❖ Explore online communities and forums for Android development to
seek help and learn from others' experiences.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Export Android Application Process (Not in Syllabus)

Apk development process


Before exporting the apps, you must know some of tools
❖ Dx tools(Dalvik executable tools ): It going to convert .class file to .dex file.
it has useful for memory optimization and reduce the boot-up speed time
❖ AAPT(Android assistance packaging tool):it has useful to convert .Dex
file to.Apk
❖ APK(Android packaging kit): The final stage of deployment process is
called as .apk.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Publishing Your Application (Not in Syllabus)
Android application publishing is a process that makes your Android
applications available to users. Infect, publishing is the last phase of
the Android application development process.

Android development life cycle


Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
1. Prepare Your App for Release:

Optimize and Test: https://www.stechies.com/upload-android-app-google-play-store/

❑ Ensure that your app is thoroughly tested and optimized for performance.

❑ Test on various devices and Android versions to address compatibility issues.

Update Version Code and Name:

❑ Increment the version code and version name in your app's build.gradle file to
distinguish new releases.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


2. Generate a Signed APK:

Create a Keystore:

❑ Generate a keystore file that will be used to sign your APK. You can
use the keytool command or use Android Studio's UI to create a
keystore.

Configure Signing in build.gradle:

❑ Add signing configurations to your build.gradle file. Replace


keystoreProperties with the path to your keystore properties file.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Generate Signed APK:
❑In Android Studio, go to "Build" > "Build Bundle(s) / APK(s)" >
"Build APK(s)."
❑Select the "release" build type and click "Finish."
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
3. Create a Google Play Console Account:
❑ Sign up for a Google Play Console account.
4. Prepare Store Listing:
Provide App Information:
❑ Enter details such as the app's name, description, screenshots, and
other metadata on the Google Play Console.
Set Pricing and Distribution:
❑ Specify whether your app is free or paid. Set pricing details if it's a
paid app. Choose the countries where you want to distribute the app.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


5. Upload APK to Google Play Console:
Go to "App releases" > "Production":
❑ Click "Create Release" and upload your signed APK.
❑ If you've created an Android App Bundle, you can use the "Play
Console" to generate and manage APKs from the bundle.
6. Testing and Rollout:
Internal Testing:
❑ Before a public release, you can conduct internal testing by
inviting specific users or using a closed testing track.
Open Testing (Optional):
❑ Open testing allows a broader audience to access your app
before the official release.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


7. Launch Your App:
Submit for Review:
❑ Once you're satisfied with the testing, submit your app for review. Google will check
your app to ensure it complies with their policies.
Publish:
❑ If the review is successful, you can publish your app on the Google Play Store.
8. Post-launch Tasks:
Monitor User Feedback:
❑ Keep an eye on user reviews and feedback on the Play Console. Respond to user reviews
and address issues promptly.
Update Your App:
❑ Periodically release updates with new features, bug fixes, and improvements based on
user feedback.
Promote Your App:
❑ Use various channels to promote your app, including social media, websites, and other
marketing strategies.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Using Activities - Fragments and Intents in Android:
➢ Activities :
❖ Activity is one of the most important component for any android app.
❖ Activities are the User Interface (UI) screens which user see.
❖ It is similar to the main() function in different programming
languages.
❖ Its is the main entry point for user interaction.
❖ You can have multiple activities in your app.
❖ All your activities must be declared in the manifest file, with their
attributes.
❖ Every activity has different functions throughout its life, onCreate(),
onStart(), onResume(), onPause(), onStop(), onRestart(), onDestroy().
https://medium.com/android-hunger/android-app-components-activities-
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
fragments-and-intents-ed7373455555
Below is the image from android’s documentation, which
clearly shows the lifecycle of an android activity.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


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.

https://www.javatpoint.com/android-life-cycle-of-activity
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Fragments :
Android Fragment is the part of activity, it is also known as sub-
activity.
There can be more than one fragment in an activity. Fragments
represent multiple screen inside one activity.
➢ Android fragment lifecycle is affected by activity lifecycle because
fragments are included in activity.
➢ Each fragment has its own life cycle methods that is affected by
activity life cycle because fragments are embedded in activity.
➢ The FragmentManager class is responsible to make interaction
between fragment objects.

https://www.javatpoint.com/android-fragments
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Continued…
❖ In most of the applications these days, fragments are largely used.
❖ As there are a lot of android devices with different resolutions, its a
bit tough to handle all of those, that’s where fragments come handy.
We can combine 2 or more fragments and show them in an
activity.
❖ A Fragment is a component that is used by an activity.
❖ Even though it is used by an activity, it has its own lifecycle.
❖ There are also some different fragments which you can extend:
✓ DialogFragment,
✓ ListFragment,
✓ PreferenceFragment.

❖ Below is an Android Fragment Lifecycle:


Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
Android Fragment Lifecycle

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


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.
7) onResume() makes the fragment interactive.
Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)
No. Method Description

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.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Android Intent

➢ Android Intent is the message that is passed between


components such as activities, content providers, broadcast
receivers, services etc.
➢ It is generally used with startActivity() method to invoke
activity, broadcast receivers etc.
➢ The dictionary meaning of intent is intention or purpose. So, it
can be described as the intention to do action.
➢ The LabeledIntent is the subclass of android.content.Intent class.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


CONTINUED…
➢ Android intents are mainly used to:
✓ Start the service
✓ Launch an activity
✓ Display a web page
✓ Display a list of contacts
✓ Broadcast a message
✓ Dial a phone call etc.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Types of Android Intents
➢ There are two types of intents in android: implicit
and explicit.
➢ Implicit Intent doesn't specify the component. In such case,
intent provides information of available components provided by
the system that is to be invoked.
➢ For example, you may write the following code to view the
webpage.
Intent intent=new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.javatpoint.com"));
startActivity(intent);

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Explicit Intent
Explicit Intent specifies the component. In such case, intent
provides the external class to be invoked.
Intent i = new Intent(getApplicationContext(), ActivityTwo.class);

startActivity(i);

https://www.javatpoint.com/android-intent-tutorial

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Intents :
❑ Intent is one of the most important and most used app component of an
android application.
❑ Using Intents, you call to other app components or to other activity
or also call other applications on your phone.
❑ Intents are two types:
✓ Implicit Intents where we do not specify a class name but specify some
sort of action, which can be handled by some other inbuilt apps or some
other apps. For instance, you may want to open a camera, showing a map,
sending emails etc. Here you don’t directly call camera app or map app,
you will just specify the action.
✓ Explicit Intents where you call another activity or something with a
class name. For instance, you can call another activity when some action
happened in one activity. So you here explicitly specifies which activity
to call.

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Using the Intent object to Invoke Built-in Application

➢ An Application can call many built-in Applications, which


are included with an Android device.
➢ Suppose, you want to load a Web page, which is not part of
your Application.
➢ You can use the Intent object to invoke the built-in Web
Browser to display the Web page, instead of building your own
Web Browser for this purpose.
https://www.c-sharpcorner.com/article/calling-in-built-functions-in-android-
application/#:~:text=An%20Application%20can%20call%20many,Web%20
Browser%20for%20this%20purpose

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)


Thank you…
End of Unit - 1

Asha H, Assistant Professor, CS Dept, Surana College(Autonomous)

You might also like