SlideShare a Scribd company logo
Mobile Application Development
Chapter-1
Android and It’s Tools
C. P. Divate
What is Android?
• Android is an open source and Linux-based Operating System for mobile devices such as smartphones and
tablet computers. Android was developed by the Open Handset Alliance, led by Google, and other
companies.
• Android offers a unified approach to application development for mobile devices which means developers
need to develop only for Android, and their applications should be able to run on different devices
powered by Android.
• The first alpha version of the Android Software Development Kit (SDK) was released by Google in 2007,
whereas the first commercial version, Android 1.0, was released in September 2008.
• On June 27, 2012, at the Google I/O conference, Google announced the next Android version, 4.1 Jelly
Bean. Jelly Bean is an incremental update, with the primary aim of improving the user interface, both in
terms of functionality and performance.
• The source code for Android is available under free and open source software licenses. Google publishes
most of the code under the Apache License version 2.0 and the rest, Linux kernel changes, under the GNU
General Public License version 2.
What is Android?
• Android is a mobile operating system that is based on modified version of Linux with a Java
programming interface.
• It was originally developed by a Startup of same name Android, Inc. In 2005, as a part of its
strategy to enter the mobile space, Google purchased Android and it took its development
work.
• ndroid was developed by open handset Alliance((OHA) is Consortium of multiple companies
like Samsung, Sony, Intel and many more provide a services and deploy handsets using
Android platform.
• Android gives a chance to reuse the application components and the replacement of native
application.
• The most distinguishing feature of Android is that it gives equal opportunities two native
apps and third party apps to use its resources.
Features of Android
Feature Description
Beautiful UI Android OS basic screen provides a beautiful and intuitive user interface.
Connectivity GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and
WiMAX.
Storage SQLite, a lightweight relational database, is used for data storage purpose
Media support H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3,
MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP
Messaging SMS and MMS
Web browser Based on the open-source WebKit layout engine, coupled with Chrome's
V8 JavaScript engine supporting HTML5 and CSS3.
Multi-touch Android has native support for multi-touch which was initially made
available in handsets such as the HTC Hero.
Multi-tasking User can jump from one task to another and same time various application
can run simultaneously.
Resizable
widgets
Widgets are resizable, so users can expand them to show more content or
shrink them to save space
Features of Android
Feature Description
Multi-Language Support single direction and bi-directional text.
GCM Google Cloud Messaging (GCM) is a service that let developers send short
message data to their users on Android devices, without needing a
proprietary sync solution.
Wi-Fi Direct A technology that let apps discover and pair directly, over a high
bandwidth peer-to-peer connection.
Android Beam A popular NFC-based technology that let users instantly share, just by
touching two NFC-enabled phones together.
Android Versions
Name Internal codename Version number(s) Initial stable release date
Supported
(security fixes)
Android 1.0 N/A (Alfa) 1.0 September 23, 2008 No
Android 1.1 Petit Four 1.1 February 9, 2009 No
Android Cupcake Cupcake 1.5 April 27, 2009 No
Android Donut Donut 1.6 September 15, 2009 No
Android Eclair Eclair
2.0 October 27, 2009 No
2.0.1 December 3, 2009 No
2.1 January 11, 2010 No
Android Froyo Froyo 2.2 – 2.2.3 May 20, 2010 No
Android Gingerbread Gingerbread
2.3 – 2.3.2 December 6, 2010 No
2.3.3 – 2.3.7 February 9, 2011 No
Android Honeycomb Honeycomb
3.0 February 22, 2011 No
3.1 May 10, 2011 No
3.2 – 3.2.6 July 15, 2011 No
Android Ice Cream
Sandwich
Ice Cream Sandwich
4.0 – 4.0.2 October 18, 2011 No
4.0.3 – 4.0.4 December 16, 2011 No
Android Versions
Name Internal codename Version number(s) Initial stable release date
Supported
(security fixes)
Android Jelly Bean Jelly Bean
4.1 – 4.1.2 July 9, 2012 No
4.2 – 4.2.2 November 13, 2012 No
4.3 – 4.3.1 July 24, 2013 No
Android KitKat Key Lime Pie
4.4 – 4.4.4 October 31, 2013 No
4.4W – 4.4W.2 June 25, 2014 No
Android Lollipop Lemon Meringue Pie
5.0 – 5.0.2 November 4, 2014 No
5.1 – 5.1.1 March 2, 2015 No
Android Marshmallow Macadamia Nut Cookie 6.0 – 6.0.1 October 2, 2015 No
Android Nougat New York Cheesecake
7.0 August 22, 2016 No
7.1 – 7.1.2 October 4, 2016 No
Android Oreo Oatmeal Cookie
8.0 August 21, 2017 No
8.1 December 5, 2017 No
Android Pie Pistachio Ice Cream 9 August 6, 2018 Yes
Android 10 Quince Tart 10 September 3, 2019 Yes
Android 11 Red Velvet Cake 11 September 8, 2020 Yes
Android 12 Snow Cone 12 October 4, 2021 Yes
Android 12L Snow Cone v2 TBA Q1 2022 Presupported
Android 13 Tiramisu 13 Q3 2022 Presupported
The Open Handset Alliance (OHA)
• Google and 33 other companies announced the formation of the Open Handset Alliance on 5
November 2007.
• According to the joint press release from that day:
• This alliance shares a common goal of development and innovation on mobile devices
and giving consumers a far better user experience than much of what is available on
old mobile platforms.
• By providing developers a new level of openness that enables them to work more
collaboratively, Android accelerates the pace at which new and compelling mobile
services are made available to consumers.
• As mobile application developers, we are free to develop creative mobile applications
and, free to market them to Android mobile phone owners, either free or profit by any
way.
• Each member of the Open Handset Alliance has its own reasons to participate and
contribute its intellectual property, and we are free to benefit it.
The Open Handset Alliance (OHA)
• The Open Handset Alliance integrates contributed software and other intellectual property from
its member companies and makes it available to developers through the open source community.
• Software is licensed through the Apache V2 license, which you can see at
http://www.apache.org/licenses/LICENSE-2.0.txt.
• Use of the Apache license is critical, because it allows handset manufacturers to take Android
code, modify it as necessary, and then either keep it proprietary or release it back to the open
source community, at their option.
• The original Alliance members includes five types of companies,
• Handset manufacturers - HTC, LG, Motorola, Samsung
• Mobile operators - China Mobile Communications, KDDI, DoCoMo, Sprint/Nextel, T-Mobile,
Telecom Italia, Telefonica.
• Semiconductor companies - Audience, Broadcom, Intel, Marvell, NVidia Qualcomm, SiRF,
Synaptics.
• Software companies - Ascender, eBay, esmertec, Google, LivingImage, LiveWire, Nuance,
Packet Video, SkyPop, SONiVOX
• Commercialization companies - Aplix, Noser, TAT, Wind River.
The Open Handset Alliance (OHA)
• The Alliance releases software through Google’s developer website (http://developer.android.com).
• The Android SDK for use by application software developers can be downloaded directly from that website.
Android ecosystem:
• Ecosystem in Market terminology refers to the inter-dependence between demand and supply.
• In the Android ecosystem this translates to inter-dependence between users, developers, and
equipment makers. One cannot exist without the other:
• Users buy devices and applications
• Equipment makers sell devices, sometimes bundled with applications
• Developers buy devices, then make and sell applications
Need of Android:
• Android is free.
• Open source.
• Open for customization.
• Large number of applications.
• Security.
• Widgets
• Custom ROMs
• Headset layout
• Storage
• Connectivity: GSM/EDGE, IDEN, CDMA, Bluetooth, WI-FI,
EDGE,3G,NFC, LTE,GPS.
• Messaging: SMS, MMS, C2DM (could to device messaging), GCM
(Google could messaging)
• Multilanguage support
• Multi-touch
• Video calling
• Screen capture
• External storage
• Streaming media support
• Optimized graphics
Android Architecture
Android architecture or Android software stack is categorized into five parts:
1. linux kernel
2. native libraries (middleware)
3. Android Runtime
4. Application Framework
5. Applications
Android Architecture
Android architecture or Android software stack is categorized into five parts:
1. linux kernel
2. native libraries (middleware)
3. Android Runtime
4. Application Framework
5. Applications
Android Architecture
1) Linux kernel
• It is the heart of android architecture that exists at the root of android architecture.
• Linux kernel is responsible for device drivers, power management, memory management,
device management and resource access like camera, keypad, display etc..
Android Architecture
2) Native Libraries / Platform Libraries
• On the top of linux kernel, their are Native Libraries includes various C/C++ core libraries and Java based
libraries such as WebKit, OpenGL, FreeType, SQLite, Media, C runtime library (libc) etc. to provide a support for
android development
• The WebKit library is responsible for browser support, SQLite is for database, FreeType for font support, Media
for playing and recording audio and video formats.
• Surface manager responsible for managing access to the display subsystem.
• SGL and OpenGL both cross-language, cross-platform application program interface (API) are used for 2D and
3D computer graphics.
Android Architecture
3) Android Runtime
• In android runtime, there are core libraries and DVM (Dalvik Virtual Machine) which is responsible to run android
application. It consumes less memory and provides fast performance.
• The Dalvik VM makes use of Linux core features like memory management and multithreading, which is intrinsic
in the Java language.
• The Dalvik VM enables every Android application to run in its own process, with its own instance of the Dalvik
virtual machine.
• The Android runtime also provides a set of core libraries which enable Android application developers to write
Android applications using standard Java programming language. The core libraries enable us to implement
android applications using the standard JAVA or Kotlin programming languages.
Android Architecture
4) Android Framework
• On the top of Native libraries and android runtime, there is android framework.
• Android framework includes Android API's such as UI (User Interface), telephony, resources,
locations, Content Providers (data) and package managers.
• It provides a lot of classes and interfaces for android application development.
Android Architecture
5) Applications
• On the top of android framework, there are applications.
• All applications such as home, contact, settings, games, browsers are using android
framework that uses android runtime and libraries.
• Android runtime and native libraries are using linux kernal.
Best Android Application Development Tools
1) Android Studio / Eclipse
2) AVD Manager
3) Android SDK
4) JDK / Kotala
5) Unity 3D
Best Android Application Development Tools
1) Android Studio
• It’s very powerful software, offering the latest tools and plug-ins to create complex applications.
• Google made Android Studio in 2013. Among other Android app development tools, this software claims
to have more attention from developers across the globe.
• Android Studio gives code altering, troubleshooting, and testing devices all inside a simple to-utilize
intuitive interface. It is allowed to download and is strengthened by Google.
Features
a. Insightful code proof reader: As you type, Android Studio gives recommendations in a dropdown list.
Just press Tab to embed the code.
b. Quick and responsive emulator: It helps you to model and test any type of application on different devices
through an emulator. This impact the time and cost of android app
development.
c. C++ & NDK support
Advantages
• Powerful Testing Tools
• Powerful & Adaptable
• Cloud & Firebase Connectivity
Best Android Application Development Tools
2) AVD Manager
• The Android Virtual Device (AVD) is another Android app builder that simulates Android devices on your
computer so that you can test your application on a variety of devices and Android API levels without
having a mobile device.
• The emulator provides almost all of the capabilities of a real Android device. You can simulate incoming
phone calls and text messages, specify the location of the device, simulate different network speeds,
simulate rotation and other hardware sensors, access the Google Play Store, and much more.
Features
a. Quick Boot: The responses of this action are quick and the Android developer tools are reestablished to
the state at which you shut the emulator last (like waking a gadget).
b. Google Play Store: AVD offers versions of Android System Images that incorporate the Play Store
application. In addition, we will be able to test start to finish, introduce, update, and buy
streams with the Google Play Store.
c. Compatibility with CTS: this tool currently qualifies the last Android System Image works from Android
Nougat (API 24) and higher against the Android Compatibility Test Suite (CTS)
Advantages
• Improved Executions
• Compatibility & Support
• Display Easiness
Best Android Application Development Tools
3) Android SDK
• Android SDK is utilized for developing a vast number of applications.
• This also an IDE having numerous features to write, optimize, and test codebases for building mobile
applications on Android.
• This Android development kit provides excess tools, required for building any type of application and
guarantees the procedure goes as easily as could reasonably be expected.
• We can make an application utilizing Java, Kotlin or C#, we need the SDK to get it to run on any Android
device.
Features
a. Compatible APIs.
b. Available of Offline Maps: Android SDK helps in powerfully downloading the maps for in excess of 190 nations.
c. Debugger: This SDK has another great feature – Android Debug Bridge (ADB) that helps to connect the application
with the emulator and run them while testing the modules. This debugger can monitor every
instance when the application is on the run using the emulator.
Advantages
• Ease of Customization
• Versatile Development
• Quicker Deployment
Best Android Application Development Tools
4) Java Development Kit
• Since Android apps are written in Java, you will need the Oracle Java compiler and libraries on your system.
These are collectively called the Java Development Kit or "JDK" for short.
Android Core Building Blocks
• An android component is simply a piece of
code that has a well defined life cycle e.g.
Activity, Receiver, Service etc.
• The core building blocks or fundamental
components of android are activities, views,
intents, services, content providers,
fragments and AndroidManifest.xml.

More Related Content

Similar to Mobile Application Development-Android and It’s Tools

Android 1
Android 1 Android 1
Android 1
Vikas Sharma
 
Android introduction
Android introductionAndroid introduction
Android introduction
gururaj kulkarni
 
Presentation On Android OS
Presentation On Android OSPresentation On Android OS
Presentation On Android OS
Akshay Kakkar
 
Android OS 2019
Android OS 2019Android OS 2019
Android OS 2019
HadiqaMengal
 
Knowledge about android operating system
Knowledge about android operating systemKnowledge about android operating system
Knowledge about android operating system
Rachna Beegun
 
Outstanding Improvement Award Outstanding Improvement Award
Outstanding Improvement Award Outstanding Improvement AwardOutstanding Improvement Award Outstanding Improvement Award
Outstanding Improvement Award Outstanding Improvement Award
pravinmali2191
 
Saminar ppt of
Saminar ppt ofSaminar ppt of
Saminar ppt of
Suraj Rajput
 
Android...by raziel lucagbo
Android...by raziel lucagboAndroid...by raziel lucagbo
Android...by raziel lucagbo
Guevarra Institute of Technology
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phones
abie01523
 
Android
AndroidAndroid
Android.... (4.4 included)
Android.... (4.4 included)Android.... (4.4 included)
Android.... (4.4 included)
ashish0019
 
Basics of Android and Android development environment
Basics of Android and Android development environment Basics of Android and Android development environment
Basics of Android and Android development environment
Ajay Panchal
 
presentation2-141101015616-conversion-gate01.pdf
presentation2-141101015616-conversion-gate01.pdfpresentation2-141101015616-conversion-gate01.pdf
presentation2-141101015616-conversion-gate01.pdf
imau6
 
Android 1
Android  1Android  1
Android 1
Mustafa Saeed
 
Software training report
Software training reportSoftware training report
Software training report
Natasha Bains
 
ANDROID technology
ANDROID technologyANDROID technology
ANDROID technology
Me CREATIONS
 
Android presentation
Android presentationAndroid presentation
Android presentation
jitendra k Singh
 
ANDROID.SREE
ANDROID.SREEANDROID.SREE
ANDROID.SREE
Sridhar Sree
 
Presentation on Android operating system
Presentation on Android operating systemPresentation on Android operating system
Presentation on Android operating system
Salma Begum
 
Android : Architecture & Components
Android : Architecture & ComponentsAndroid : Architecture & Components
Android : Architecture & Components
Akash Bisariya
 

Similar to Mobile Application Development-Android and It’s Tools (20)

Android 1
Android 1 Android 1
Android 1
 
Android introduction
Android introductionAndroid introduction
Android introduction
 
Presentation On Android OS
Presentation On Android OSPresentation On Android OS
Presentation On Android OS
 
Android OS 2019
Android OS 2019Android OS 2019
Android OS 2019
 
Knowledge about android operating system
Knowledge about android operating systemKnowledge about android operating system
Knowledge about android operating system
 
Outstanding Improvement Award Outstanding Improvement Award
Outstanding Improvement Award Outstanding Improvement AwardOutstanding Improvement Award Outstanding Improvement Award
Outstanding Improvement Award Outstanding Improvement Award
 
Saminar ppt of
Saminar ppt ofSaminar ppt of
Saminar ppt of
 
Android...by raziel lucagbo
Android...by raziel lucagboAndroid...by raziel lucagbo
Android...by raziel lucagbo
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phones
 
Android
AndroidAndroid
Android
 
Android.... (4.4 included)
Android.... (4.4 included)Android.... (4.4 included)
Android.... (4.4 included)
 
Basics of Android and Android development environment
Basics of Android and Android development environment Basics of Android and Android development environment
Basics of Android and Android development environment
 
presentation2-141101015616-conversion-gate01.pdf
presentation2-141101015616-conversion-gate01.pdfpresentation2-141101015616-conversion-gate01.pdf
presentation2-141101015616-conversion-gate01.pdf
 
Android 1
Android  1Android  1
Android 1
 
Software training report
Software training reportSoftware training report
Software training report
 
ANDROID technology
ANDROID technologyANDROID technology
ANDROID technology
 
Android presentation
Android presentationAndroid presentation
Android presentation
 
ANDROID.SREE
ANDROID.SREEANDROID.SREE
ANDROID.SREE
 
Presentation on Android operating system
Presentation on Android operating systemPresentation on Android operating system
Presentation on Android operating system
 
Android : Architecture & Components
Android : Architecture & ComponentsAndroid : Architecture & Components
Android : Architecture & Components
 

More from Chandrakant Divate

Web Technology LAB MANUAL for Undergraduate Programs
Web Technology  LAB MANUAL for Undergraduate ProgramsWeb Technology  LAB MANUAL for Undergraduate Programs
Web Technology LAB MANUAL for Undergraduate Programs
Chandrakant Divate
 
UNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the NatureUNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the Nature
Chandrakant Divate
 
Study of Computer Hardware System using Block Diagram
Study of Computer Hardware System using Block DiagramStudy of Computer Hardware System using Block Diagram
Study of Computer Hardware System using Block Diagram
Chandrakant Divate
 
Computer System Output Devices Peripherals
Computer System Output  Devices PeripheralsComputer System Output  Devices Peripherals
Computer System Output Devices Peripherals
Chandrakant Divate
 
Computer system Input Devices Peripherals
Computer system Input  Devices PeripheralsComputer system Input  Devices Peripherals
Computer system Input Devices Peripherals
Chandrakant Divate
 
Computer system Input and Output Devices
Computer system Input and Output DevicesComputer system Input and Output Devices
Computer system Input and Output Devices
Chandrakant Divate
 
Introduction to COMPUTER’S MEMORY RAM and ROM
Introduction to COMPUTER’S MEMORY RAM and ROMIntroduction to COMPUTER’S MEMORY RAM and ROM
Introduction to COMPUTER’S MEMORY RAM and ROM
Chandrakant Divate
 
Introduction to Computer Hardware Systems
Introduction to Computer Hardware SystemsIntroduction to Computer Hardware Systems
Introduction to Computer Hardware Systems
Chandrakant Divate
 
Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2
Chandrakant Divate
 
Fundamentals of Internet of Things (IoT)
Fundamentals of Internet of Things (IoT)Fundamentals of Internet of Things (IoT)
Fundamentals of Internet of Things (IoT)
Chandrakant Divate
 
Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)
Chandrakant Divate
 
Fundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptxFundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptx
Chandrakant Divate
 
Fundamentals of Structure in C Programming
Fundamentals of Structure in C ProgrammingFundamentals of Structure in C Programming
Fundamentals of Structure in C Programming
Chandrakant Divate
 
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN CINPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
Chandrakant Divate
 
Programming in C - Fundamental Study of Strings
Programming in C - Fundamental Study of  StringsProgramming in C - Fundamental Study of  Strings
Programming in C - Fundamental Study of Strings
Chandrakant Divate
 
Basics of Control Statement in C Languages
Basics of Control Statement in C LanguagesBasics of Control Statement in C Languages
Basics of Control Statement in C Languages
Chandrakant Divate
 
Features and Fundamentals of C Language for Beginners
Features and Fundamentals of C Language for BeginnersFeatures and Fundamentals of C Language for Beginners
Features and Fundamentals of C Language for Beginners
Chandrakant Divate
 
Basics of Programming Algorithms and Flowchart
Basics of Programming Algorithms and FlowchartBasics of Programming Algorithms and Flowchart
Basics of Programming Algorithms and Flowchart
Chandrakant Divate
 
Computer Graphics Introduction To Curves
Computer Graphics Introduction To CurvesComputer Graphics Introduction To Curves
Computer Graphics Introduction To Curves
Chandrakant Divate
 
Computer Graphics Three-Dimensional Geometric Transformations
Computer Graphics Three-Dimensional Geometric TransformationsComputer Graphics Three-Dimensional Geometric Transformations
Computer Graphics Three-Dimensional Geometric Transformations
Chandrakant Divate
 

More from Chandrakant Divate (20)

Web Technology LAB MANUAL for Undergraduate Programs
Web Technology  LAB MANUAL for Undergraduate ProgramsWeb Technology  LAB MANUAL for Undergraduate Programs
Web Technology LAB MANUAL for Undergraduate Programs
 
UNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the NatureUNIVERSAL HUMAN VALUES- Harmony in the Nature
UNIVERSAL HUMAN VALUES- Harmony in the Nature
 
Study of Computer Hardware System using Block Diagram
Study of Computer Hardware System using Block DiagramStudy of Computer Hardware System using Block Diagram
Study of Computer Hardware System using Block Diagram
 
Computer System Output Devices Peripherals
Computer System Output  Devices PeripheralsComputer System Output  Devices Peripherals
Computer System Output Devices Peripherals
 
Computer system Input Devices Peripherals
Computer system Input  Devices PeripheralsComputer system Input  Devices Peripherals
Computer system Input Devices Peripherals
 
Computer system Input and Output Devices
Computer system Input and Output DevicesComputer system Input and Output Devices
Computer system Input and Output Devices
 
Introduction to COMPUTER’S MEMORY RAM and ROM
Introduction to COMPUTER’S MEMORY RAM and ROMIntroduction to COMPUTER’S MEMORY RAM and ROM
Introduction to COMPUTER’S MEMORY RAM and ROM
 
Introduction to Computer Hardware Systems
Introduction to Computer Hardware SystemsIntroduction to Computer Hardware Systems
Introduction to Computer Hardware Systems
 
Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2Fundamentals of Internet of Things (IoT) Part-2
Fundamentals of Internet of Things (IoT) Part-2
 
Fundamentals of Internet of Things (IoT)
Fundamentals of Internet of Things (IoT)Fundamentals of Internet of Things (IoT)
Fundamentals of Internet of Things (IoT)
 
Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)Introduction to Artificial Intelligence ( AI)
Introduction to Artificial Intelligence ( AI)
 
Fundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptxFundamentals of functions in C program.pptx
Fundamentals of functions in C program.pptx
 
Fundamentals of Structure in C Programming
Fundamentals of Structure in C ProgrammingFundamentals of Structure in C Programming
Fundamentals of Structure in C Programming
 
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN CINPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
INPUT AND OUTPUT STATEMENTS IN PROGRAMMING IN C
 
Programming in C - Fundamental Study of Strings
Programming in C - Fundamental Study of  StringsProgramming in C - Fundamental Study of  Strings
Programming in C - Fundamental Study of Strings
 
Basics of Control Statement in C Languages
Basics of Control Statement in C LanguagesBasics of Control Statement in C Languages
Basics of Control Statement in C Languages
 
Features and Fundamentals of C Language for Beginners
Features and Fundamentals of C Language for BeginnersFeatures and Fundamentals of C Language for Beginners
Features and Fundamentals of C Language for Beginners
 
Basics of Programming Algorithms and Flowchart
Basics of Programming Algorithms and FlowchartBasics of Programming Algorithms and Flowchart
Basics of Programming Algorithms and Flowchart
 
Computer Graphics Introduction To Curves
Computer Graphics Introduction To CurvesComputer Graphics Introduction To Curves
Computer Graphics Introduction To Curves
 
Computer Graphics Three-Dimensional Geometric Transformations
Computer Graphics Three-Dimensional Geometric TransformationsComputer Graphics Three-Dimensional Geometric Transformations
Computer Graphics Three-Dimensional Geometric Transformations
 

Mobile Application Development-Android and It’s Tools

  • 1. Mobile Application Development Chapter-1 Android and It’s Tools C. P. Divate
  • 2. What is Android? • Android is an open source and Linux-based Operating System for mobile devices such as smartphones and tablet computers. Android was developed by the Open Handset Alliance, led by Google, and other companies. • Android offers a unified approach to application development for mobile devices which means developers need to develop only for Android, and their applications should be able to run on different devices powered by Android. • The first alpha version of the Android Software Development Kit (SDK) was released by Google in 2007, whereas the first commercial version, Android 1.0, was released in September 2008. • On June 27, 2012, at the Google I/O conference, Google announced the next Android version, 4.1 Jelly Bean. Jelly Bean is an incremental update, with the primary aim of improving the user interface, both in terms of functionality and performance. • The source code for Android is available under free and open source software licenses. Google publishes most of the code under the Apache License version 2.0 and the rest, Linux kernel changes, under the GNU General Public License version 2.
  • 3. What is Android? • Android is a mobile operating system that is based on modified version of Linux with a Java programming interface. • It was originally developed by a Startup of same name Android, Inc. In 2005, as a part of its strategy to enter the mobile space, Google purchased Android and it took its development work. • ndroid was developed by open handset Alliance((OHA) is Consortium of multiple companies like Samsung, Sony, Intel and many more provide a services and deploy handsets using Android platform. • Android gives a chance to reuse the application components and the replacement of native application. • The most distinguishing feature of Android is that it gives equal opportunities two native apps and third party apps to use its resources.
  • 4. Features of Android Feature Description Beautiful UI Android OS basic screen provides a beautiful and intuitive user interface. Connectivity GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX. Storage SQLite, a lightweight relational database, is used for data storage purpose Media support H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP Messaging SMS and MMS Web browser Based on the open-source WebKit layout engine, coupled with Chrome's V8 JavaScript engine supporting HTML5 and CSS3. Multi-touch Android has native support for multi-touch which was initially made available in handsets such as the HTC Hero. Multi-tasking User can jump from one task to another and same time various application can run simultaneously. Resizable widgets Widgets are resizable, so users can expand them to show more content or shrink them to save space
  • 5. Features of Android Feature Description Multi-Language Support single direction and bi-directional text. GCM Google Cloud Messaging (GCM) is a service that let developers send short message data to their users on Android devices, without needing a proprietary sync solution. Wi-Fi Direct A technology that let apps discover and pair directly, over a high bandwidth peer-to-peer connection. Android Beam A popular NFC-based technology that let users instantly share, just by touching two NFC-enabled phones together.
  • 6.
  • 7.
  • 8. Android Versions Name Internal codename Version number(s) Initial stable release date Supported (security fixes) Android 1.0 N/A (Alfa) 1.0 September 23, 2008 No Android 1.1 Petit Four 1.1 February 9, 2009 No Android Cupcake Cupcake 1.5 April 27, 2009 No Android Donut Donut 1.6 September 15, 2009 No Android Eclair Eclair 2.0 October 27, 2009 No 2.0.1 December 3, 2009 No 2.1 January 11, 2010 No Android Froyo Froyo 2.2 – 2.2.3 May 20, 2010 No Android Gingerbread Gingerbread 2.3 – 2.3.2 December 6, 2010 No 2.3.3 – 2.3.7 February 9, 2011 No Android Honeycomb Honeycomb 3.0 February 22, 2011 No 3.1 May 10, 2011 No 3.2 – 3.2.6 July 15, 2011 No Android Ice Cream Sandwich Ice Cream Sandwich 4.0 – 4.0.2 October 18, 2011 No 4.0.3 – 4.0.4 December 16, 2011 No
  • 9. Android Versions Name Internal codename Version number(s) Initial stable release date Supported (security fixes) Android Jelly Bean Jelly Bean 4.1 – 4.1.2 July 9, 2012 No 4.2 – 4.2.2 November 13, 2012 No 4.3 – 4.3.1 July 24, 2013 No Android KitKat Key Lime Pie 4.4 – 4.4.4 October 31, 2013 No 4.4W – 4.4W.2 June 25, 2014 No Android Lollipop Lemon Meringue Pie 5.0 – 5.0.2 November 4, 2014 No 5.1 – 5.1.1 March 2, 2015 No Android Marshmallow Macadamia Nut Cookie 6.0 – 6.0.1 October 2, 2015 No Android Nougat New York Cheesecake 7.0 August 22, 2016 No 7.1 – 7.1.2 October 4, 2016 No Android Oreo Oatmeal Cookie 8.0 August 21, 2017 No 8.1 December 5, 2017 No Android Pie Pistachio Ice Cream 9 August 6, 2018 Yes Android 10 Quince Tart 10 September 3, 2019 Yes Android 11 Red Velvet Cake 11 September 8, 2020 Yes Android 12 Snow Cone 12 October 4, 2021 Yes Android 12L Snow Cone v2 TBA Q1 2022 Presupported Android 13 Tiramisu 13 Q3 2022 Presupported
  • 10. The Open Handset Alliance (OHA) • Google and 33 other companies announced the formation of the Open Handset Alliance on 5 November 2007. • According to the joint press release from that day: • This alliance shares a common goal of development and innovation on mobile devices and giving consumers a far better user experience than much of what is available on old mobile platforms. • By providing developers a new level of openness that enables them to work more collaboratively, Android accelerates the pace at which new and compelling mobile services are made available to consumers. • As mobile application developers, we are free to develop creative mobile applications and, free to market them to Android mobile phone owners, either free or profit by any way. • Each member of the Open Handset Alliance has its own reasons to participate and contribute its intellectual property, and we are free to benefit it.
  • 11. The Open Handset Alliance (OHA) • The Open Handset Alliance integrates contributed software and other intellectual property from its member companies and makes it available to developers through the open source community. • Software is licensed through the Apache V2 license, which you can see at http://www.apache.org/licenses/LICENSE-2.0.txt. • Use of the Apache license is critical, because it allows handset manufacturers to take Android code, modify it as necessary, and then either keep it proprietary or release it back to the open source community, at their option. • The original Alliance members includes five types of companies, • Handset manufacturers - HTC, LG, Motorola, Samsung • Mobile operators - China Mobile Communications, KDDI, DoCoMo, Sprint/Nextel, T-Mobile, Telecom Italia, Telefonica. • Semiconductor companies - Audience, Broadcom, Intel, Marvell, NVidia Qualcomm, SiRF, Synaptics. • Software companies - Ascender, eBay, esmertec, Google, LivingImage, LiveWire, Nuance, Packet Video, SkyPop, SONiVOX • Commercialization companies - Aplix, Noser, TAT, Wind River.
  • 12. The Open Handset Alliance (OHA) • The Alliance releases software through Google’s developer website (http://developer.android.com). • The Android SDK for use by application software developers can be downloaded directly from that website.
  • 13. Android ecosystem: • Ecosystem in Market terminology refers to the inter-dependence between demand and supply. • In the Android ecosystem this translates to inter-dependence between users, developers, and equipment makers. One cannot exist without the other: • Users buy devices and applications • Equipment makers sell devices, sometimes bundled with applications • Developers buy devices, then make and sell applications
  • 14. Need of Android: • Android is free. • Open source. • Open for customization. • Large number of applications. • Security. • Widgets • Custom ROMs • Headset layout • Storage • Connectivity: GSM/EDGE, IDEN, CDMA, Bluetooth, WI-FI, EDGE,3G,NFC, LTE,GPS. • Messaging: SMS, MMS, C2DM (could to device messaging), GCM (Google could messaging) • Multilanguage support • Multi-touch • Video calling • Screen capture • External storage • Streaming media support • Optimized graphics
  • 15. Android Architecture Android architecture or Android software stack is categorized into five parts: 1. linux kernel 2. native libraries (middleware) 3. Android Runtime 4. Application Framework 5. Applications
  • 16. Android Architecture Android architecture or Android software stack is categorized into five parts: 1. linux kernel 2. native libraries (middleware) 3. Android Runtime 4. Application Framework 5. Applications
  • 17. Android Architecture 1) Linux kernel • It is the heart of android architecture that exists at the root of android architecture. • Linux kernel is responsible for device drivers, power management, memory management, device management and resource access like camera, keypad, display etc..
  • 18. Android Architecture 2) Native Libraries / Platform Libraries • On the top of linux kernel, their are Native Libraries includes various C/C++ core libraries and Java based libraries such as WebKit, OpenGL, FreeType, SQLite, Media, C runtime library (libc) etc. to provide a support for android development • The WebKit library is responsible for browser support, SQLite is for database, FreeType for font support, Media for playing and recording audio and video formats. • Surface manager responsible for managing access to the display subsystem. • SGL and OpenGL both cross-language, cross-platform application program interface (API) are used for 2D and 3D computer graphics.
  • 19. Android Architecture 3) Android Runtime • In android runtime, there are core libraries and DVM (Dalvik Virtual Machine) which is responsible to run android application. It consumes less memory and provides fast performance. • The Dalvik VM makes use of Linux core features like memory management and multithreading, which is intrinsic in the Java language. • The Dalvik VM enables every Android application to run in its own process, with its own instance of the Dalvik virtual machine. • The Android runtime also provides a set of core libraries which enable Android application developers to write Android applications using standard Java programming language. The core libraries enable us to implement android applications using the standard JAVA or Kotlin programming languages.
  • 20. Android Architecture 4) Android Framework • On the top of Native libraries and android runtime, there is android framework. • Android framework includes Android API's such as UI (User Interface), telephony, resources, locations, Content Providers (data) and package managers. • It provides a lot of classes and interfaces for android application development.
  • 21. Android Architecture 5) Applications • On the top of android framework, there are applications. • All applications such as home, contact, settings, games, browsers are using android framework that uses android runtime and libraries. • Android runtime and native libraries are using linux kernal.
  • 22. Best Android Application Development Tools 1) Android Studio / Eclipse 2) AVD Manager 3) Android SDK 4) JDK / Kotala 5) Unity 3D
  • 23. Best Android Application Development Tools 1) Android Studio • It’s very powerful software, offering the latest tools and plug-ins to create complex applications. • Google made Android Studio in 2013. Among other Android app development tools, this software claims to have more attention from developers across the globe. • Android Studio gives code altering, troubleshooting, and testing devices all inside a simple to-utilize intuitive interface. It is allowed to download and is strengthened by Google. Features a. Insightful code proof reader: As you type, Android Studio gives recommendations in a dropdown list. Just press Tab to embed the code. b. Quick and responsive emulator: It helps you to model and test any type of application on different devices through an emulator. This impact the time and cost of android app development. c. C++ & NDK support Advantages • Powerful Testing Tools • Powerful & Adaptable • Cloud & Firebase Connectivity
  • 24. Best Android Application Development Tools 2) AVD Manager • The Android Virtual Device (AVD) is another Android app builder that simulates Android devices on your computer so that you can test your application on a variety of devices and Android API levels without having a mobile device. • The emulator provides almost all of the capabilities of a real Android device. You can simulate incoming phone calls and text messages, specify the location of the device, simulate different network speeds, simulate rotation and other hardware sensors, access the Google Play Store, and much more. Features a. Quick Boot: The responses of this action are quick and the Android developer tools are reestablished to the state at which you shut the emulator last (like waking a gadget). b. Google Play Store: AVD offers versions of Android System Images that incorporate the Play Store application. In addition, we will be able to test start to finish, introduce, update, and buy streams with the Google Play Store. c. Compatibility with CTS: this tool currently qualifies the last Android System Image works from Android Nougat (API 24) and higher against the Android Compatibility Test Suite (CTS) Advantages • Improved Executions • Compatibility & Support • Display Easiness
  • 25. Best Android Application Development Tools 3) Android SDK • Android SDK is utilized for developing a vast number of applications. • This also an IDE having numerous features to write, optimize, and test codebases for building mobile applications on Android. • This Android development kit provides excess tools, required for building any type of application and guarantees the procedure goes as easily as could reasonably be expected. • We can make an application utilizing Java, Kotlin or C#, we need the SDK to get it to run on any Android device. Features a. Compatible APIs. b. Available of Offline Maps: Android SDK helps in powerfully downloading the maps for in excess of 190 nations. c. Debugger: This SDK has another great feature – Android Debug Bridge (ADB) that helps to connect the application with the emulator and run them while testing the modules. This debugger can monitor every instance when the application is on the run using the emulator. Advantages • Ease of Customization • Versatile Development • Quicker Deployment
  • 26. Best Android Application Development Tools 4) Java Development Kit • Since Android apps are written in Java, you will need the Oracle Java compiler and libraries on your system. These are collectively called the Java Development Kit or "JDK" for short.
  • 27. Android Core Building Blocks • An android component is simply a piece of code that has a well defined life cycle e.g. Activity, Receiver, Service etc. • The core building blocks or fundamental components of android are activities, views, intents, services, content providers, fragments and AndroidManifest.xml.