KEMBAR78
Mobile Application Development | PDF | Mobile App | Android (Operating System)
0% found this document useful (0 votes)
13 views94 pages

Mobile Application Development

Uploaded by

kiranb.btdip23
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)
13 views94 pages

Mobile Application Development

Uploaded by

kiranb.btdip23
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/ 94

MOBILE

APPLICATION
DEVELOPMENT
-Rajeshwari
Discussion point

 How are mobile applications useful?

 Easy to install and handy


 Few clicks only
 Most of them are free

 Consider, Amazon app-> select -> order -> pay -> delivered

 WhatsApp ->install, easy way to communicate, groups messaging, mobile applications


used by millions of users and are well known for their delivery of optimal performance.

 Simple Calculator application -> developed using Android


Mobile app

 A mobile app is a software application designed to run on a mobile device like a


smartphone or tablet

 Mobile applications are specifically designed for mobile use alone.

 tend to lead faster and give the user a more sophisticated feel of browsing for the
users

 They also use less internet


TYPES OF MOBILE APPLICATIONS
there are two types of mobile OS, iOS and Android

In terms of service, features, and environment, both operating systems differ significantly.

At first, developers had to develop the same application as two separate applications where each
was released on the appropriate OS.

However the process has changed. The tedious process is now changed as developers now create
hybrid apps.
Types of mobile applications

 There are three different types of mobile applications. They are:


 Native:
 The native application refers to the application which is built to serve one OS alone. Either ios or
android. The native applications are developed using the platform’s native APIs. Code cannot be
reused for other platforms.

 Hybrid:
 Hybrid applications refer to the applications that can be run on any platform, ios or android. The
application also has access to the native APIs, and the code can be reused on any platform.

 cross-platform applications:
Cross-Platform App development aims to create mobile apps for Android
iOS and desktop programmes for Windows and macOS utlising a single shared
code base and user-Interface(UI).
Examples of Mobile Applications

 Many mobile applications are downloaded in large numbers every day in the app
stores. Among them, some of the popular genres of mobile applications are:
 Lifestyle
 Social media
 Ecommerce
 Utility
 Games
 Educational
 Communication
 Entertainment
 Productivity
 News
Simple Calculator application

 App has to perform basic calculations


 Result has to be displayed on the textbox
 How many buttons are required?
 What should happen when the buttons are clicked? What methods are to be used in
the code?

 How the clear button works?


Thinker:

 Think of a small mobile application which you would like to develop

 Write the features of it

 Write the main steps of development of such a mobile application

 Identify the UI widgets on you application


Programming Languages for Mobile Application Development

 Mobile applications have a vivid and interactive UI and deliver an optimal performance
tailored to user interests. The following are the programming languages used for
developing mobile applications:
 Python
 HTML
 CSS
 Javascript
 Java
 Kotlin
 C++
 Swift
 C#
 Dart
Pros and Cons of Mobile Applications

Mobile applications have the following set of pros and cons. They are:
Pros:
Mobile applications are easy to access with one click instead of painstakingly searching and browsing
the web application through a browser.
Data like favourites, display settings, etc., can be saved in the mobile application and can be accessed
at any time.
Brands that are looking for positive brand exposure can offer a personalised experience to their
customers.
Cons:
Developing a mobile application is quite a challenging feat.
Mobile applications need to be updated frequently.
Some mobile applications are not cross-platform.
WHAT IS NATIVE APP
DEVELOPMENT?
What is Native App Development?

 Native mobile applications are those


made specifically for iOS or Android
platforms

 usually varies depending on the


operating system
Native App Development
Native Android apps are written in programming languages such as Java or
Kotlin.

Android apps were initially developed in Java. In 2017, Google made Kotlin
support available on Android devices.

Kotlin supports both functional and object-oriented programming but

Java is limited to object-oriented programming only.


Native App Development

Native Apps maximize the use of the device's hardware, including the GPS,
Camera, accelerometer, and push notification.

Performance is the main consideration in their design. They are designed with
performance in mind.
By integrating with the device's UI and following platform-specific design
guidelines, they offer a smooth user experience.

When it comes to security, dependability, and performance, native


applications usually outperform other development methods.
SOME KEY FEATURES OF NATIVE
APP DEVELOPMENT
 Performance: Native apps are performs better than other
app kinds, such as hybrid or web apps, because they are
tailored for the particular platform for which they are
assigned.
 User Experience: employee the platform's native UI
components and guidelines to your advantage.They were
designed and developed specifically for the platform,
resulting in a fluid and simple user experience.
 Security: To secure the confidentiality of user information
and transactions, native apps can incorporate encryption
methods and platform-specific security controls.
WHAT IS HYBRID APP DEVELOPMENT?
Hybrid App Development

A hybrid application is just a web application with a lightweight native app "container" attached to it.

With the help of this container, the hybrid application can benefit from native platform features and
device hardware- like the calender, camera, push notification, pinch and spread functionality, and
device hardware- that are not available to web application

In order to provide cross-platform capabilities, hybrid apps—like web application—are constructed


using popular front-end programming languages and technologies, such as HTML5, CSS,
and JavaScript

Hybrid App development achieves a balance between the usefullness of web technologies
and the accesbilitiy of native features, hybrid app development is popular choice for
developing cross-platform applications.
Some key features of Hybrid App Development:

 Single Code base: Using web technologies (HTML, CSS, JavaScript), developers may write code
once and then deploy it across several platforms via hybrid app development. This approach saves time
and effort in comparison to developing native apps for each device.

 Web-Based Technologies: Hybrid application make use of web technologies like HTML, CSS,
JavaScript, which are widely used and well-known to developers.

 Access to Native Features: Although hybrid apps are mostly developed with web technology, they
can also use plugins or API's to access some native features and functionalities of the device . This
enables developers to add -device specific features to their hybrid apps, such as the accelerometer,
GPS, and Camera.
What is Cross-Platform App Development?

Cross-Platform App development aims to create mobile apps for Android iOS and desktop
programmes for Windows and macOS utlising a single shared code base and user-
Interface(UI).

Cross-Platform development is a desirable option for customers with tight-budgets and


need to release their apps, as soon as possibles.

it also helps you a save time.

It enables Programmers to create code only once and have it run on multiple platforms,
including Window's, iOS, Android, and web browsers.
What is Cross-Platform App Development?

Some Key Features of Cross-Platform App:


 Code Reusability: Reusing code between platforms is one of the primary benefits of cross-platforms programming.
using framework's, libraries,or other tools that facilitate cross-platform development, developers can create a single
code base and then distribute the program across several platforms without having to write a new code for each
platform.

 Faster Development Time: Cross-platform Development has the potential to result in shorter development cycles and
revision's because developer's just need to create and manage,a single code base for different platforms. This is
particularly advantageous for companies and institutions that have to quickly roll out new features or update across a
variety of platforms.

 Performance Consideration: It's possible that cross-platform programs don't always function as effectively as native
apps because they frequently rely on intermediary layers or runtime environments to achieve platform compatibility,
especially for demanding chores like graphics rendering.
Overview of mobile OS (Android, iOS),

A mobile operating system (OS) is specialized software


that manages the hardware and software of mobile
devices like smartphones, tablets, and wearables.

It acts as an intermediary between the device's hardware


and the applications users interact with, enabling core
functionalities and user experience.

A mobile operating system is an operating system used


for smartphones, tablets, smartwatches, smartglasses, or
other non-laptop personal mobile computing devices.
iOS

iOS is Apple's mobile operating system, primarily used on iPhones and iPads.

It's known for its user-friendly interface, seamless integration with the Apple
ecosystem, and the App Store's vast selection of apps.

Major versions are released annually, typically alongside new iPhone


models. The current version is iOS 18, released on September 16, 2024.
Android

Android is an operating system based on a modified version of the Linux


kernel and other open-source software, designed primarily for
touchscreen-based mobile devices such as smartphones and tablet
computers.

Android is an operating system based on a modified version of the Linux


kernel and other open-source software, designed primarily
for touchscreen-based mobile devices such as smartphones and tablet
computers.
Android
Android has historically been developed by a consortium of developers known as the Open Handset Alliance, but its most widely
used version is primarily developed by Google. First released in 2008, Android is the world's most widely used operating
system; the latest version, released on June 10, 2025, is Android 16.

At its core, the operating system is known as the Android Open Source Project (AOSP)[4] and is free and open-source
software (FOSS) primarily licensed under the Apache License. However, most devices run the proprietary Android version
developed by Google, which ships with additional proprietary closed-source software pre-installed,[5] most notably Google
Mobile Services (GMS),[6] which includes core apps such as Google Chrome, the digital distribution platform Google Play, and
the associated Google Play Services development platform.

Android distributions on a range of other devices, such as Android TV for televisions, Wear OS for wearables, and Meta Horizon
OS for VR headsets.

Software packages on Android, which use the APK format, are generally distributed through a proprietary application store; non-
Google platforms include vendor-specific Amazon Appstore, Samsung Galaxy Store, Huawei AppGallery, and third-party
companies Aptoide, Cafe Bazaar, GetJar or open source F-Droid.

Since 2011 Android has been the most used operating system worldwide on smartphones. It has the largest installed base of any
operating system in the world[10] with over three billion monthly active users[a] and accounting for 46% of the global operating
system market.
Mobile App Development Life Cycle(Planning to Deployment)

The mobile app development lifecycle typically involves


several key stages, from initial planning to ongoing
maintenance after deployment.

These stages include planning, design (including


wireframing and prototyping), development, testing,
deployment, and post-launch maintenance.

Understanding and executing each step effectively is


crucial for creating a successful mobile application.
Mobile App Development Life Cycle(Planning to Deployment)
Mobile App Development Life Cycle(Planning to Deployment)
Reference

https://www.geeksforgeeks.org/mobile-computing/what-is-mobile-app-
development-process/
Reference

https://www.geeksforgeeks.org/mobile-computing/what-is-mobile-app-development-process/
Introduction to IDEs and SDKs

Integrated Development Environment (IDE)


An Integrated Development Environment (IDE) is a software application that provides comprehensive
facilities to computer programmers for software development.

An IDE normally consists of at least a source code editor, build automation tools, and a debugger.

The primary purpose of an IDE is to maximize programmer productivity by providing tightly integrated
components with a common user interface.

Popular examples include Visual Studio, Eclipse, and Android Studio.


Introduction to IDEs and SDKs

Key Features of IDEs:


•Code Editor:
•A text editor specifically designed for writing code, often with features like syntax highlighting,
autocompletion, and code formatting.
•Compiler/Interpreter:
•Tools that translate source code into executable programs or intermediate bytecode.
•Debugger:
•A tool for identifying and fixing errors (bugs) in the code, allowing developers to step through code
execution, inspect variables, and set breakpoints.
•Build Automation Tools:
•Features that automate the compilation, linking, and packaging of software projects.
•Version Control Integration:

•Often integrates with version control systems like Git for managing code changes and collaboration.
Software Development Kit
(SDK)

A Software Development Kit (SDK) is a collection of software development tools and libraries
specific to a particular platform, operating system, or software framework.

SDKs provide developers with the necessary components to create applications for a specific
environment.

They contain pre-built components and resources that streamline the development process and
ensure compatibility with the target platform.

Examples include the Java Development Kit (JDK), Android SDK, and iOS SDK.
Key Components of SDKs:
•Libraries and APIs:
•Pre-written code and interfaces that allow developers to access platform-specific functionalities
without writing everything from scratch.
•Documentation:
•Guides and references explaining how to use the SDK's components and APIs.
•Code Samples:
•Example code snippets demonstrating how to implement specific features or interact with the
platform.
•Tools:
•Utilities for tasks such as building, debugging, testing, and deploying applications for the target
environment.
•Runtimes:

•Essential components required for the application to execute on the target platform.
IDE and SDK

Relationship between IDEs and SDKs:


While distinct, IDEs and SDKs are often used together in software
development.

An SDK provides the foundational tools and resources for developing


applications for a specific platform, while an IDE offers the integrated
environment and interface to effectively utilize those tools and manage the
development workflow.

An IDE can integrate and manage multiple SDKs, allowing developers to


work on diverse projects within a single environment.
Assignment

 Build a multi-screen app to demonstrate


mobile app lifecycle and navigation
basics using a game app,
 first screen for a simple game
name+image,
 Second screen for description(levels,
score)

 Third screen for final score and thank you


messages
Steps:

 File->New->New Project-> choose Empty Views Activity-> give name of


application(Multi-screen app)
 Choose Language -> java
 Wait for complete loading of the Project
 Run the project
Attributes

 Try 10 attributes
For CI 1 – September 1st, 2025

 Module 1
 Lab1
 Total: 20 marks
 Marks Distribution:
 MCQ – 10Marks
 Assignment – 5Marks
 Lab and VIVA to be done on CI 1 date – 5Marks
End of Module 1
MODULE 2
Native Android App Development with Android Studio
Native Android App Development with Android Studio:

 Android Studio overview and setup,


 Android Studio is the official Integrated Development Environment (IDE) for Android app
development, built on JetBrains' IntelliJ IDEA.

 It offers a comprehensive suite of tools for writing, testing, and deploying Android application
ACTIVITY LIFE
CYCLE
https://developer.android.com/guide/components/activiti
es/activity-lifecycle#java
Activity lifecycle

As a user navigates through, out of, and back to your app, the Activity instances in your app
transition through different states in their lifecycle.

Activity class provides state changes or that the system is creating, stopping, or
resuming an activity or destroying

For example, if you're building a streaming video player, you might pause the video and
terminate the network connection when the user switches to another app. When the
user returns, you can reconnect to the network and let the user resume the video from
the same spot.
Activity lifecycle

Doing the right work at the right time and handling transitions properly make your app
more robust and performant.

For example, good implementation of the lifecycle callbacks can help your app avoid
the following:

• Crashing if the user receives a phone call or switches to another app while
using your app.
 Consuming valuable system resources when the user is not actively using it.
• Losing the user's progress if they leave your app and return to it at a later time.
• Crashing or losing the user's progress when the screen rotates between
landscape and portrait orientation
For example, your implementation of onCreate() might bind data to lists, associate the activity with a ViewModel,
and instantiate some class-scope variables. This method receives the parameter savedInstanceState, which is a
Bundle object containing the activity's previously saved state. If the activity has never existed before, the value
of the Bundle object is null.

If you have a lifecycle-aware component that is hooked up to the lifecycle of your activity, it receives the
ON_CREATE event. The method annotated with @OnLifecycleEvent is called so your lifecycle-aware
component can perform any setup code it needs for the created state.
REFERENCE

https://developer.android.com/guide/components/activities/activity-lifecycle#java
Multi-Screen Apps and the Activity Lifecycle | Android
Development with Kotlin | Kotlin Tutorial
Questions

Which is the super class of Activity class created by us?

What is the purpose of AndroidManifest.xml?


UI Components
Layouts: Linear, Constraint, Relative

Android layouts define the structure of an application's user interface, acting as


containers that hold and arrange UI elements (Views) like buttons, text fields,
and images on the screen.

All elements in the layout are built using a hierarchy of View and ViewGroup
objects. A View usually draws something the user can see and interact with.

A ViewGroup is an invisible container that defines the layout structure for View
and other ViewGroup objects, as shown in next figure.
View objects are often called widgets and can be one of many subclasses,
such as Button or TextView.

The ViewGroup objects are usually called layouts and can be one of many
types that provide a different layout structure, such as LinearLayout or
ConstraintLayout.
LINEAR LAYOUT

A LinearLayout in Android is a ViewGroup that arranges its child View


elements in a single direction, either horizontally or vertically.

It is a fundamental layout type used for structuring user interfaces in a


straightforward, linear fashion.

You can specify the layout direction with the android:orientation attribute.

All children of a LinearLayout are stacked one after the other, so a vertical list
only has one child per row, no matter how wide they are.

A horizontal list is only one row high, and it's the height of the tallest child,
plus padding.

A LinearLayout respects margins between children, and the gravity—right,


center, or left alignment—of each child.
Linear Layout
Constraint Layout

Constraint Layout is the most advanced layout in Android that lets you create
complex and responsive UIs while minimizing nested views due to its flat view
hierarchy.

ConstraintLayout is similar to that of other View Groups which we have seen in


Android such as RelativeLayout, LinearLayout, and many more.
Constraint layout android
When creating constraints, remember the following rules:

Every view must have at least two constraints: one horizontal and one vertical.
You can create constraints only between a constraint handle and an anchor point that share the
same plane.

A vertical plane—the left and right sides—of a view can be constrained only to another vertical
plane, and baselines can constrain only to other baselines.

Each constraint handle can be used for just one constraint, but you can create multiple
constraints from different views to the same anchor point.
You can delete a constraint by doing any of the following:

Click a constraint to select it, and then click Delete.


Features of ConstraintLayout in Android

There are various features associated with ConstraintLayout in Android mentioned below:
1.Constraints - Helps in positioning UI elements relative to the parent or other views inside the
layout, enhancing flexibility.

2.Aspect Ratio - Helps in maintaining fixed height to width ratio for views.

3.Chains - Helps in distributing space between views inside the layout.

4.Flat View Hierarchy - Helps in avoiding nested layouts to decrease complexity and increase
performance.

5.Guidelines - Helps in aligning views by consistently using invisible lines.

6.Barriers - Dynamic constraints that allows a child view to align itself with multiple child views
dynamically.
Relative Layout
Relative Layout
Lab2: Expense tracker

 Build Expense tracker application.


 Expense Tracker (Android Studio):Create
a native Android app to add, list, and
summarize daily expenses.
Handling user inputs and simple data persistence.

You might also like