SlideShare a Scribd company logo
GANDHINAGAR INSTITUTE OF TECHNOLOGY
Department of Computer Engineering
Seminar (150705)
ANDROID DEVELOPMENT
Atul Panjwani (120120107013)
Submitted to: Asst. Prof. Mansi Vithalani
A QUICK RECAP FROM INTRODUCTION
PRESENTATION
 Android is a mobile operating system (OS) based
on the Linux kernel that is currently developed
by Google.
 Designed primarily for:
1. Touch screen mobile devices
2. With specialized user interfaces for televisions
(Android TV)
3. cars (Android Auto)
4. wrist watches (Android Wear)
5. in game consoles, digital cameras, and other
electronics
ANDROID ARCHITECTURE
REQUIREMENTS OF ANDROID
DEVELOPMENT
Android
Development
API guides Reference Tools
Google
Services
Training
STEP 1: TRAINING
 In Training for Android developers you'll find sets of lessons
within classes that describe how to accomplish a specific task
with code samples you can re-use in your app. Classes are
organized into several groups and explained as under:
Training
Getting
started
Building
Apps
With content
sharing
With
multimedia
With
connectivity
With location
info
Best
Practices
For
interaction
For User
interface
For User
input
For testing
TRAINING ̶ “GETTING STARTED”
 Building Your First App
 After you've installed the Android SDK, start with this
class to learn the basics about Android app
development.
 Creating an Android Project
 Running Your Application
 Building a Simple User Interface
 Starting Another Activity
TRAINING ̶ “GETTING STARTED”
 Adding the Action Bar
 The action bar is one of the most important design
elements you can implement for your app's activities.
Although first introduced with API level 11, you can use
the Support Library to include the action bar on devices
running Android 2.1 or higher.
 Supporting Different Devices
 To build your app with alternative resources that provide
an optimized user experience on multiple device form
factors using a single APK.
TRAINING ̶ “GETTING STARTED”
 Supporting Different Devices
 To build your app with alternative resources that provide
an optimized user experience on multiple device form
factors using a single APK.
 Building a Dynamic UI with Fragments
 To build a user interface for your app that is flexible
enough to present multiple UI components on large
screens and a more constrained set of UI components
on smaller screens—essential for building a single APK
for both phones and tablets.
TRAINING ̶ “GETTING STARTED”
 Saving Data
 To save data on the device, whether it's temporary files,
downloaded app assets, user media, structured data, or
something else.
 Interacting with Other Apps
 To build a user experience that leverages other apps
available on the device to perform advanced user tasks,
such as capture a photo or view an address on a map.
TRAINING ̶ “BUILDING APPS WITH CONTENT
SHARING”
 Sharing Simple Data
 To take your app interaction to the next level by sharing
information with other apps, receive information back,
and provide a simple and scalable way to perform Share
actions with user content.
 Sharing Files
 To provide secure access to a file associated with your
app using a content URI and temporary access
permissions.
 Sharing Files with NFC
 To transfer files between devices using the NFC Android
Beam feature.
TRAINING ̶ “BUILDING APPS WITH
MULTIMEDIA”
 Managing Audio Playback
 To respond to hardware audio key presses, request
audio focus when playing audio, and respond
appropriately to changes in audio focus.
 Capturing Photos
 To leverage existing camera apps on the user's device
to capture photos or control the camera hardware
directly and build your own camera app.
 Printing Content
 To print photos, HTML documents, and custom
documents from your app.
TRAINING ̶ “BUILDING APPS WITH
CONNECTIVITY & CLOUD”
 Connecting Devices Wirelessly
 To find and connect to local devices using Network
Service Discovery and how to create peer-to-peer
connections with Wi-Fi.
 Performing Network Operations
 To create a network connection, monitor the connection
for changes in connectivity, and perform transactions
with XML data.
 Transferring Data Without Draining the Battery
 To minimize your app's impact on the battery when
performing downloads and other network transactions.
TRAINING ̶ “BUILDING APPS WITH
CONNECTIVITY & CLOUD”
 Syncing to the Cloud
 To sync and back up app and user data to remote web
services in the cloud and how to restore the data back
to multiple devices.
 Resolving Cloud Save Conflicts
 To design a robust conflict resolution strategy for apps
that save data to the cloud.
 Transferring Data Using Sync Adapters
 To transfer data between the cloud and the device using
the Android sync adapter framework
 Transmitting Network Data Using Volley
 To perform fast, scalable UI operations over the network
using Volley.
TRAINING ̶ “BUILDING APPS WITH LOCATION
INFO”
These classes teach you how to add user personalization to
your app. Some of the ways you can do this is by identifying
users, providing information that's relevant to them, and
providing information about the world around them.
 Accessing Contacts Data
 To use Android's central address book, the Contacts
Provider, to display contacts and their details and
modify contact information.
 Making Your App Location-Aware
 To add location-aware features to your app by getting
the user's current location.
TRAINING ̶ “BEST PRACTICE FOR
INTERACTION”
These classes teach you how to engage and retain your users
by implementing the best interaction patterns for Android. For
instance, to help users quickly discover content in your app, your
app should match their expectations for user interaction on
Android. And to keep your users coming back, you should take
advantage of platform capabilities that reveal and open your
content without requiring users to go through the app launcher.
 Designing Effective Navigation
 To plan your app's screen hierarchy and forms of
navigation so users can effectively and intuitively
traverse your app content using various navigation
patterns.
TRAINING ̶ “BEST PRACTICE FOR
INTERACTION”
 Implementing Effective Navigation
 To implement various navigation patterns such as swipe
views, a navigation drawer, and up navigation.
 Notifying the User
 To display messages called notifications outside of your
application's UI.
 Adding Search Functionality
 To properly add a search interface to your app and
create a searchable database.
 Making Your App Content Searchable by Google
 To enable deep linking and indexing of your application
content so that users can open this content directly from
their mobile search results.
TRAINING ̶ “BEST PRACTICE FOR USER
INTERFACE”
These classes teach you how to build a user interface using
Android layouts for all types of devices. Android provides a
flexible framework for UI design that allows your app to display
different layouts for different devices, create custom UI widgets,
and even control aspects of the system UI outside your app's
window.
 Designing for Multiple Screens
 To build a user interface that's flexible enough to fit
perfectly on any screen and how to create different
interaction patterns that are optimized for different
screen sizes.
TRAINING ̶ “BEST PRACTICE FOR USER
INTERFACE”
 Creating Custom Views
 To build custom UI widgets that are interactive and
smooth.
 Creating Backward-Compatible UIs
 To use UI components and other APIs from the more
recent versions of Android while remaining compatible
with older versions of the platform.
 Implementing Accessibility
 To make your app accessible to users with vision
impairment or other physical disabilities.
 Managing the System UI
 To hide and show status and navigation bars across
different versions of Android, while managing the display
of other screen components.
TRAINING ̶ “BEST PRACTICE FOR USER
INPUT”
These classes cover various subjects of user input, such as
touch screen gestures and text input through on-screen input
methods and hardware keyboards.
 Using Touch Gestures
 To write apps that allow users to interact with the touch
screen via touch gestures.
 Handling Keyboard Input
 To specify the appearance and behaviors of soft input
methods (such as on-screen keyboards) and how to
optimize the experience with hardware keyboards.
 Supporting Game Controllers
 To write apps that support game controllers.
TRAINING ̶ “BEST PRACTICE FOR TESTING
THE APPLICATION”
 Testing Your Activity
 To test Activities in your Android applications.
 Setting Up Your Test Environment
 Creating and Running a Test Case
 Testing UI Components
 Creating Unit Tests
 Creating Functional Tests
STEP 2 : API GUIDES
APIguides
App
Components
App Manifests
App Resources
User Interface
Animation &
Graphics
Computation
Media
Data Storage
Connectivity
API GUIDES ̶ “APP COMPONENTS”
Android's application framework lets you create rich and
innovative apps using a set of reusable components. This
section explains how you can build the components that define
the building blocks of your app and how to connect them
together using intents. These include:
 Intents and Intent Filters
 Activities
 Services
 Content Providers
 App Widgets
 Processes and Threads
API GUIDES ̶ “APP RESOURCES”
The following documents provide a complete guide to how you
can organize your application resources, specify alternative
resources, access them in your application, and more:
 Providing Resources
 What kinds of resources you can provide in your app,
where to save them, and how to create alternative
resources for specific device configurations.
 Accessing Resources
 To use the resources you've provided, either by
referencing them from your application code or from
other XML resources.
 Handling Runtime Changes
 To manage configuration changes that occur while your
Activity is running.
API GUIDES ̶ “APP RESOURCES”
 Localization
 A bottom-up guide to localizing your application using
alternative resources. While this is just one specific use
of alternative resources, it is very important in order to
reach more users.
 Resource Types
 A reference of various resource types you can provide,
describing their XML elements, attributes, and syntax.
For example, this reference shows you how to create a
resource for application menus, drawables, animations,
and more.
API GUIDES ̶ “USER INTERFACE”
Your app's user interface is everything that the user can see and
interact with. Android provides a variety of pre-build UI
components such as structured layout objects and UI controls
that allow you to build the graphical user interface for your app.
Android also provides other UI modules for special interfaces
such as dialogs, notifications, and menus. These include:
Layout
Input Control
Input Events
Menus
Action Bar
Style & Themes
Custom Components
Settings
Dialogues
Notifications
Toasts
Search
Drag & Drop
Accessibility
API GUIDES ̶ “ANIMATION & GRAPHICS”
Make your apps look and perform their best using Android's
powerful graphics features such as OpenGL, hardware
acceleration, and built-in UI animations.
 Property Animation
 View Animation
 Drawable Animation
 Canvas and Drawables
 OpenGL ES
 Hardware Acceleration
API GUIDES ̶ “COMPUTATION”
RenderScript provides a platform-independent computation
engine that operates at the native level. Use it to accelerate your
apps that require extensive computational horsepower.
 RenderScript
 Advanced RenderScript
 Runtime API Reference
API GUIDES ̶ “MEDIA”
Add video, audio, and photo capabilities to your app with
Android's robust APIs for playing and recording media.
 Media Playback
 Media Router
 Media Route Provider
 ExoPlayer
 Supported Media Formats
 Audio Capture
 JetPlayer
 Camera
API GUIDES ̶ “CONNECTIVITY”
Android provides rich APIs to let your app connect and interact
with other devices over Bluetooth, NFC, Wi-Fi P2P, USB, and
SIP, in addition to standard network connections.
 Bluetooth
 NFC
 Wi-Fi P2P
 USB
 SIP
API GUIDES ̶ “DATA STORAGE”
Store application data in databases, files, or preferences, in
internal or removable storage. You can also add a data backup
service to let users store and recover application and system
data.
 Storage Options
 Data Backup
 App Install Location
STEP 3 : REFERENCES & PACKAGES
Various Packages references used which include
packages such as:
1. android.accessibility
2. android.app.backup
3. android.bluetooth
4. android.database
5. android.widget and so on . . .
STEP 4 : TOOLS
 The Android SDK provides the API libraries and
developer tools necessary to build, test, and debug
apps for Android.
 Download the ADT Bundle to quickly start
developing apps. It includes the essential Android
SDK components and a version of the Eclipse IDE
with built-in ADT (Android Developer Tools) to
streamline your Android app development.
TOOLS : “ECLIPSE”
With a single download, the Eclipse ADT bundle
includes everything you need to begin developing
apps:
 Eclipse + ADT plug-in
 Android SDK Tools
 Android Platform-tools
 A version of the Android platform
 A version of the Android system image for the emulator
TOOLS : “ANDROID STUDIO ̶ BETA”
 Android Studio is a new Android development
environment based on IntelliJ IDEA. It provides new
features and improvements over Eclipse ADT and will be
the official Android IDE once it's ready. On top of the
capabilities you expect from IntelliJ, Android Studio
offers:
 Flexible Gradle-based build system.
 Build variants and multiple APK generation.
 Expanded template support for Google Services and various
device types.
 Rich layout editor with support for theme editing.
 Lint tools to catch performance, usability, version
compatibility, and other problems.
 ProGuard and app-signing capabilities.
 Built-in support for Google Cloud Platform, making it easy to
integrate Google Cloud Messaging and App Engine.
SPECIAL SLIDE : “ANDROID STUDIO VS.
ECLIPSE ADT”
FEATURE ECLIPSE ADT ANDROID
STUDIO
Build system Ant Gradle
Maven-based build dependencies No Yes
Build variants and multiple-APK
generation (great for Android Wear)
No Yes
Advanced Android code completion
and refactoring
No Yes
Graphical layout editor Yes Yes
APK signing and keystore
management
Yes Yes
NDK support
Yes
Coming
soon
STEP 5 : SERVICES
 Google offers a variety of services that help you
build new revenue streams, manage app
distribution, track app usage, and enhance your
app with features such as maps, sign-in, and cloud
messaging.
 Although these Google services are not included in
the Android platform, they are supported by most
Android-powered devices. When using these
services, you can distribute your app on Google
Play to all devices running Android 2.3 or higher,
and some services support even more devices.
STEP 5 : SERVICES
Google
Services
Google+
Google
Wallet
Google
Cloud
Platform
Google
Analytics
Ads by
Google
†ANDROID ̶ SOMETHING “SWEET”†
 Android has set the trend of sweet names of its
various versions. Android is under ongoing
development by Google and the Open Handset
Alliance (OHA), and has seen a number of
updates to its base operating system since its initial
release.
 Since April 2009, Android versions have been
developed under a confectionery-themed code
name and released in alphabetical order; the
exceptions are versions 1.0 and 1.1 as they were
not released under specific code names.
ANDROID VERSIONS
Version Name Version # Release Year
Alpha 1.0 (Pre-commercial) 2007-2008
Beta 1.1 (Pre-commercial) 2007-2008
Cupcake 1.5 2009
Donut 1.6 2009
Éclair 2.0 – 2.1 2009-2010
Froyo 2.2 – 2.2.3 2010-2011
Gingerbread 2.3 – 2.3.7 2010-2011
Honeycomb 3.0 – 3.2.6 2011-2012
Ice-cream Sandwich 4.0 – 4.0.4 2011-2012
Jelly Bean 4.1 – 4.3.1 2013
KitKat 4.4 – 4.4.4 2013
Lollipop 5.0 2014
CONCLUSION :
Due to advantages of Android like:
Multitasking, Ease of notification, Access to millions of
Apps, Widgets, Access to install custom ROM and the
biggest factor ̶ Google support, it has attracted the users
all over the globe and has changed the concept
“CellPhones” to “SmartPhones” and thus it has
commercially acquired a huge market which is still
expanding. . .
THANK YOU!!!

More Related Content

PPT
Mobile Application Development With Android
guest213e237
 
PPTX
Introduction to android
zeelpatel0504
 
PPTX
Android app development ppt
saitej15
 
PPTX
Types of Mobile Applications
Jawaher Abdulwahab Fadhil
 
PPT
android layouts
Deepa Rani
 
PPT
Mobile application development
Eric Cattoir
 
PPTX
Introduction to Android ppt
Taha Malampatti
 
PPTX
Basic android-ppt
Srijib Roy
 
Mobile Application Development With Android
guest213e237
 
Introduction to android
zeelpatel0504
 
Android app development ppt
saitej15
 
Types of Mobile Applications
Jawaher Abdulwahab Fadhil
 
android layouts
Deepa Rani
 
Mobile application development
Eric Cattoir
 
Introduction to Android ppt
Taha Malampatti
 
Basic android-ppt
Srijib Roy
 

What's hot (20)

PDF
Introduction to Android Development
Aly Abdelkareem
 
PPTX
Android Widget
ELLURU Kalyan
 
PPT
Android ppt
Ansh Singh
 
PPTX
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Paul Sons
 
PPT
Android Presentation
Adhoura Academy
 
PPTX
Android Training Report
Achal kumari
 
PDF
Android resources
ma-polimi
 
PDF
AndroidManifest
Ahsanul Karim
 
PPT
Mobile Application Development
jini james
 
PPSX
Android - A brief introduction
Roshan Gautam
 
PPT
Android Application Development Using Java
amaankhan
 
PPT
Native, Web or Hybrid Mobile App Development?
Sura Gonzalez
 
PPTX
Mobile application architecture
Christos Matskas
 
PPT
Android Architecture
deepakshare
 
PDF
Android Programming Basics
Eueung Mulyana
 
PPTX
Flutter
Himanshu Singh
 
PPTX
Introduction to iOS Apps Development
Prof. Erwin Globio
 
PPTX
Flutter
Mohit Sharma
 
PPTX
android architecture
Aashita Gupta
 
PPT
Introduction to Android
Ranjith Kumar
 
Introduction to Android Development
Aly Abdelkareem
 
Android Widget
ELLURU Kalyan
 
Android ppt
Ansh Singh
 
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Paul Sons
 
Android Presentation
Adhoura Academy
 
Android Training Report
Achal kumari
 
Android resources
ma-polimi
 
AndroidManifest
Ahsanul Karim
 
Mobile Application Development
jini james
 
Android - A brief introduction
Roshan Gautam
 
Android Application Development Using Java
amaankhan
 
Native, Web or Hybrid Mobile App Development?
Sura Gonzalez
 
Mobile application architecture
Christos Matskas
 
Android Architecture
deepakshare
 
Android Programming Basics
Eueung Mulyana
 
Introduction to iOS Apps Development
Prof. Erwin Globio
 
Flutter
Mohit Sharma
 
android architecture
Aashita Gupta
 
Introduction to Android
Ranjith Kumar
 
Ad

Similar to Introduction to Android development - Presentation (20)

PPTX
Introduction-to-Mobile-App-Development.pptx_20240402_154431_0000 for seminar
sampatd444
 
PDF
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
SivaSankari36
 
PDF
B041130610
IOSR-JEN
 
PPTX
Android development training
srip30
 
DOCX
how many types of involves in app development process
akashrambabu753
 
PDF
How to Build a Hybrid App: A Detailed Outline
WebGuru Infosystems Pvt. Ltd.
 
PPTX
Overview of wrap Features in Power Apps.pptx
Concetto Labs
 
PPTX
power apps.pptx
bhavya3zen
 
PDF
power apps (1).pdf
bhavya3zen
 
PDF
Fundamentals of Mobile App Development Technology
Orchestrate Mortgage and Title Solutions, LLC
 
PDF
Building Mobile Apps for Wearable Device
Mobulous Technologies
 
PDF
A Deep Dive into Android App Development 2.0.pdf
lubnayasminsebl
 
PDF
application development complete knoeledge
sthlmteachpartner
 
PPTX
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
muthulakshmi cse
 
PDF
Do You Want to Achieve Mobile App Mastery: A Step-by-Step Guidebook
bill886381
 
PDF
Do You Want to Achieve Mobile App Mastery? A Step-by-Step Guidebook
DistanceCodingAgency
 
PPTX
Power Apps Training in madhapur, Hyderabad
neeraja0480
 
PPTX
Power Apps Training in madhapur, Hyderabad
neeraja0480
 
PDF
Mobile Application Development Lecture 05 & 06.pdf
AbdullahMunir32
 
PPTX
Introduction to Android Development
Prof. Erwin Globio
 
Introduction-to-Mobile-App-Development.pptx_20240402_154431_0000 for seminar
sampatd444
 
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
SivaSankari36
 
B041130610
IOSR-JEN
 
Android development training
srip30
 
how many types of involves in app development process
akashrambabu753
 
How to Build a Hybrid App: A Detailed Outline
WebGuru Infosystems Pvt. Ltd.
 
Overview of wrap Features in Power Apps.pptx
Concetto Labs
 
power apps.pptx
bhavya3zen
 
power apps (1).pdf
bhavya3zen
 
Fundamentals of Mobile App Development Technology
Orchestrate Mortgage and Title Solutions, LLC
 
Building Mobile Apps for Wearable Device
Mobulous Technologies
 
A Deep Dive into Android App Development 2.0.pdf
lubnayasminsebl
 
application development complete knoeledge
sthlmteachpartner
 
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
muthulakshmi cse
 
Do You Want to Achieve Mobile App Mastery: A Step-by-Step Guidebook
bill886381
 
Do You Want to Achieve Mobile App Mastery? A Step-by-Step Guidebook
DistanceCodingAgency
 
Power Apps Training in madhapur, Hyderabad
neeraja0480
 
Power Apps Training in madhapur, Hyderabad
neeraja0480
 
Mobile Application Development Lecture 05 & 06.pdf
AbdullahMunir32
 
Introduction to Android Development
Prof. Erwin Globio
 
Ad

Recently uploaded (20)

PPTX
Information Retrieval and Extraction - Module 7
premSankar19
 
PPTX
Chapter_Seven_Construction_Reliability_Elective_III_Msc CM
SubashKumarBhattarai
 
PPTX
business incubation centre aaaaaaaaaaaaaa
hodeeesite4
 
PDF
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
PDF
The Effect of Artifact Removal from EEG Signals on the Detection of Epileptic...
Partho Prosad
 
PPTX
database slide on modern techniques for optimizing database queries.pptx
aky52024
 
PPTX
MSME 4.0 Template idea hackathon pdf to understand
alaudeenaarish
 
PDF
STUDY OF NOVEL CHANNEL MATERIALS USING III-V COMPOUNDS WITH VARIOUS GATE DIEL...
ijoejnl
 
PDF
Introduction to Ship Engine Room Systems.pdf
Mahmoud Moghtaderi
 
PPTX
MULTI LEVEL DATA TRACKING USING COOJA.pptx
dollysharma12ab
 
PPTX
Tunnel Ventilation System in Kanpur Metro
220105053
 
PPTX
Civil Engineering Practices_BY Sh.JP Mishra 23.09.pptx
bineetmishra1990
 
PDF
20ME702-Mechatronics-UNIT-1,UNIT-2,UNIT-3,UNIT-4,UNIT-5, 2025-2026
Mohanumar S
 
PPTX
MT Chapter 1.pptx- Magnetic particle testing
ABCAnyBodyCanRelax
 
PPTX
Online Cab Booking and Management System.pptx
diptipaneri80
 
PDF
AI-Driven IoT-Enabled UAV Inspection Framework for Predictive Maintenance and...
ijcncjournal019
 
PPT
1. SYSTEMS, ROLES, AND DEVELOPMENT METHODOLOGIES.ppt
zilow058
 
PDF
EVS+PRESENTATIONS EVS+PRESENTATIONS like
saiyedaqib429
 
PPTX
Victory Precisions_Supplier Profile.pptx
victoryprecisions199
 
PDF
Cryptography and Information :Security Fundamentals
Dr. Madhuri Jawale
 
Information Retrieval and Extraction - Module 7
premSankar19
 
Chapter_Seven_Construction_Reliability_Elective_III_Msc CM
SubashKumarBhattarai
 
business incubation centre aaaaaaaaaaaaaa
hodeeesite4
 
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
The Effect of Artifact Removal from EEG Signals on the Detection of Epileptic...
Partho Prosad
 
database slide on modern techniques for optimizing database queries.pptx
aky52024
 
MSME 4.0 Template idea hackathon pdf to understand
alaudeenaarish
 
STUDY OF NOVEL CHANNEL MATERIALS USING III-V COMPOUNDS WITH VARIOUS GATE DIEL...
ijoejnl
 
Introduction to Ship Engine Room Systems.pdf
Mahmoud Moghtaderi
 
MULTI LEVEL DATA TRACKING USING COOJA.pptx
dollysharma12ab
 
Tunnel Ventilation System in Kanpur Metro
220105053
 
Civil Engineering Practices_BY Sh.JP Mishra 23.09.pptx
bineetmishra1990
 
20ME702-Mechatronics-UNIT-1,UNIT-2,UNIT-3,UNIT-4,UNIT-5, 2025-2026
Mohanumar S
 
MT Chapter 1.pptx- Magnetic particle testing
ABCAnyBodyCanRelax
 
Online Cab Booking and Management System.pptx
diptipaneri80
 
AI-Driven IoT-Enabled UAV Inspection Framework for Predictive Maintenance and...
ijcncjournal019
 
1. SYSTEMS, ROLES, AND DEVELOPMENT METHODOLOGIES.ppt
zilow058
 
EVS+PRESENTATIONS EVS+PRESENTATIONS like
saiyedaqib429
 
Victory Precisions_Supplier Profile.pptx
victoryprecisions199
 
Cryptography and Information :Security Fundamentals
Dr. Madhuri Jawale
 

Introduction to Android development - Presentation

  • 1. GANDHINAGAR INSTITUTE OF TECHNOLOGY Department of Computer Engineering Seminar (150705) ANDROID DEVELOPMENT Atul Panjwani (120120107013) Submitted to: Asst. Prof. Mansi Vithalani
  • 2. A QUICK RECAP FROM INTRODUCTION PRESENTATION  Android is a mobile operating system (OS) based on the Linux kernel that is currently developed by Google.  Designed primarily for: 1. Touch screen mobile devices 2. With specialized user interfaces for televisions (Android TV) 3. cars (Android Auto) 4. wrist watches (Android Wear) 5. in game consoles, digital cameras, and other electronics
  • 4. REQUIREMENTS OF ANDROID DEVELOPMENT Android Development API guides Reference Tools Google Services Training
  • 5. STEP 1: TRAINING  In Training for Android developers you'll find sets of lessons within classes that describe how to accomplish a specific task with code samples you can re-use in your app. Classes are organized into several groups and explained as under: Training Getting started Building Apps With content sharing With multimedia With connectivity With location info Best Practices For interaction For User interface For User input For testing
  • 6. TRAINING ̶ “GETTING STARTED”  Building Your First App  After you've installed the Android SDK, start with this class to learn the basics about Android app development.  Creating an Android Project  Running Your Application  Building a Simple User Interface  Starting Another Activity
  • 7. TRAINING ̶ “GETTING STARTED”  Adding the Action Bar  The action bar is one of the most important design elements you can implement for your app's activities. Although first introduced with API level 11, you can use the Support Library to include the action bar on devices running Android 2.1 or higher.  Supporting Different Devices  To build your app with alternative resources that provide an optimized user experience on multiple device form factors using a single APK.
  • 8. TRAINING ̶ “GETTING STARTED”  Supporting Different Devices  To build your app with alternative resources that provide an optimized user experience on multiple device form factors using a single APK.  Building a Dynamic UI with Fragments  To build a user interface for your app that is flexible enough to present multiple UI components on large screens and a more constrained set of UI components on smaller screens—essential for building a single APK for both phones and tablets.
  • 9. TRAINING ̶ “GETTING STARTED”  Saving Data  To save data on the device, whether it's temporary files, downloaded app assets, user media, structured data, or something else.  Interacting with Other Apps  To build a user experience that leverages other apps available on the device to perform advanced user tasks, such as capture a photo or view an address on a map.
  • 10. TRAINING ̶ “BUILDING APPS WITH CONTENT SHARING”  Sharing Simple Data  To take your app interaction to the next level by sharing information with other apps, receive information back, and provide a simple and scalable way to perform Share actions with user content.  Sharing Files  To provide secure access to a file associated with your app using a content URI and temporary access permissions.  Sharing Files with NFC  To transfer files between devices using the NFC Android Beam feature.
  • 11. TRAINING ̶ “BUILDING APPS WITH MULTIMEDIA”  Managing Audio Playback  To respond to hardware audio key presses, request audio focus when playing audio, and respond appropriately to changes in audio focus.  Capturing Photos  To leverage existing camera apps on the user's device to capture photos or control the camera hardware directly and build your own camera app.  Printing Content  To print photos, HTML documents, and custom documents from your app.
  • 12. TRAINING ̶ “BUILDING APPS WITH CONNECTIVITY & CLOUD”  Connecting Devices Wirelessly  To find and connect to local devices using Network Service Discovery and how to create peer-to-peer connections with Wi-Fi.  Performing Network Operations  To create a network connection, monitor the connection for changes in connectivity, and perform transactions with XML data.  Transferring Data Without Draining the Battery  To minimize your app's impact on the battery when performing downloads and other network transactions.
  • 13. TRAINING ̶ “BUILDING APPS WITH CONNECTIVITY & CLOUD”  Syncing to the Cloud  To sync and back up app and user data to remote web services in the cloud and how to restore the data back to multiple devices.  Resolving Cloud Save Conflicts  To design a robust conflict resolution strategy for apps that save data to the cloud.  Transferring Data Using Sync Adapters  To transfer data between the cloud and the device using the Android sync adapter framework  Transmitting Network Data Using Volley  To perform fast, scalable UI operations over the network using Volley.
  • 14. TRAINING ̶ “BUILDING APPS WITH LOCATION INFO” These classes teach you how to add user personalization to your app. Some of the ways you can do this is by identifying users, providing information that's relevant to them, and providing information about the world around them.  Accessing Contacts Data  To use Android's central address book, the Contacts Provider, to display contacts and their details and modify contact information.  Making Your App Location-Aware  To add location-aware features to your app by getting the user's current location.
  • 15. TRAINING ̶ “BEST PRACTICE FOR INTERACTION” These classes teach you how to engage and retain your users by implementing the best interaction patterns for Android. For instance, to help users quickly discover content in your app, your app should match their expectations for user interaction on Android. And to keep your users coming back, you should take advantage of platform capabilities that reveal and open your content without requiring users to go through the app launcher.  Designing Effective Navigation  To plan your app's screen hierarchy and forms of navigation so users can effectively and intuitively traverse your app content using various navigation patterns.
  • 16. TRAINING ̶ “BEST PRACTICE FOR INTERACTION”  Implementing Effective Navigation  To implement various navigation patterns such as swipe views, a navigation drawer, and up navigation.  Notifying the User  To display messages called notifications outside of your application's UI.  Adding Search Functionality  To properly add a search interface to your app and create a searchable database.  Making Your App Content Searchable by Google  To enable deep linking and indexing of your application content so that users can open this content directly from their mobile search results.
  • 17. TRAINING ̶ “BEST PRACTICE FOR USER INTERFACE” These classes teach you how to build a user interface using Android layouts for all types of devices. Android provides a flexible framework for UI design that allows your app to display different layouts for different devices, create custom UI widgets, and even control aspects of the system UI outside your app's window.  Designing for Multiple Screens  To build a user interface that's flexible enough to fit perfectly on any screen and how to create different interaction patterns that are optimized for different screen sizes.
  • 18. TRAINING ̶ “BEST PRACTICE FOR USER INTERFACE”  Creating Custom Views  To build custom UI widgets that are interactive and smooth.  Creating Backward-Compatible UIs  To use UI components and other APIs from the more recent versions of Android while remaining compatible with older versions of the platform.  Implementing Accessibility  To make your app accessible to users with vision impairment or other physical disabilities.  Managing the System UI  To hide and show status and navigation bars across different versions of Android, while managing the display of other screen components.
  • 19. TRAINING ̶ “BEST PRACTICE FOR USER INPUT” These classes cover various subjects of user input, such as touch screen gestures and text input through on-screen input methods and hardware keyboards.  Using Touch Gestures  To write apps that allow users to interact with the touch screen via touch gestures.  Handling Keyboard Input  To specify the appearance and behaviors of soft input methods (such as on-screen keyboards) and how to optimize the experience with hardware keyboards.  Supporting Game Controllers  To write apps that support game controllers.
  • 20. TRAINING ̶ “BEST PRACTICE FOR TESTING THE APPLICATION”  Testing Your Activity  To test Activities in your Android applications.  Setting Up Your Test Environment  Creating and Running a Test Case  Testing UI Components  Creating Unit Tests  Creating Functional Tests
  • 21. STEP 2 : API GUIDES APIguides App Components App Manifests App Resources User Interface Animation & Graphics Computation Media Data Storage Connectivity
  • 22. API GUIDES ̶ “APP COMPONENTS” Android's application framework lets you create rich and innovative apps using a set of reusable components. This section explains how you can build the components that define the building blocks of your app and how to connect them together using intents. These include:  Intents and Intent Filters  Activities  Services  Content Providers  App Widgets  Processes and Threads
  • 23. API GUIDES ̶ “APP RESOURCES” The following documents provide a complete guide to how you can organize your application resources, specify alternative resources, access them in your application, and more:  Providing Resources  What kinds of resources you can provide in your app, where to save them, and how to create alternative resources for specific device configurations.  Accessing Resources  To use the resources you've provided, either by referencing them from your application code or from other XML resources.  Handling Runtime Changes  To manage configuration changes that occur while your Activity is running.
  • 24. API GUIDES ̶ “APP RESOURCES”  Localization  A bottom-up guide to localizing your application using alternative resources. While this is just one specific use of alternative resources, it is very important in order to reach more users.  Resource Types  A reference of various resource types you can provide, describing their XML elements, attributes, and syntax. For example, this reference shows you how to create a resource for application menus, drawables, animations, and more.
  • 25. API GUIDES ̶ “USER INTERFACE” Your app's user interface is everything that the user can see and interact with. Android provides a variety of pre-build UI components such as structured layout objects and UI controls that allow you to build the graphical user interface for your app. Android also provides other UI modules for special interfaces such as dialogs, notifications, and menus. These include: Layout Input Control Input Events Menus Action Bar Style & Themes Custom Components Settings Dialogues Notifications Toasts Search Drag & Drop Accessibility
  • 26. API GUIDES ̶ “ANIMATION & GRAPHICS” Make your apps look and perform their best using Android's powerful graphics features such as OpenGL, hardware acceleration, and built-in UI animations.  Property Animation  View Animation  Drawable Animation  Canvas and Drawables  OpenGL ES  Hardware Acceleration
  • 27. API GUIDES ̶ “COMPUTATION” RenderScript provides a platform-independent computation engine that operates at the native level. Use it to accelerate your apps that require extensive computational horsepower.  RenderScript  Advanced RenderScript  Runtime API Reference
  • 28. API GUIDES ̶ “MEDIA” Add video, audio, and photo capabilities to your app with Android's robust APIs for playing and recording media.  Media Playback  Media Router  Media Route Provider  ExoPlayer  Supported Media Formats  Audio Capture  JetPlayer  Camera
  • 29. API GUIDES ̶ “CONNECTIVITY” Android provides rich APIs to let your app connect and interact with other devices over Bluetooth, NFC, Wi-Fi P2P, USB, and SIP, in addition to standard network connections.  Bluetooth  NFC  Wi-Fi P2P  USB  SIP
  • 30. API GUIDES ̶ “DATA STORAGE” Store application data in databases, files, or preferences, in internal or removable storage. You can also add a data backup service to let users store and recover application and system data.  Storage Options  Data Backup  App Install Location
  • 31. STEP 3 : REFERENCES & PACKAGES Various Packages references used which include packages such as: 1. android.accessibility 2. android.app.backup 3. android.bluetooth 4. android.database 5. android.widget and so on . . .
  • 32. STEP 4 : TOOLS  The Android SDK provides the API libraries and developer tools necessary to build, test, and debug apps for Android.  Download the ADT Bundle to quickly start developing apps. It includes the essential Android SDK components and a version of the Eclipse IDE with built-in ADT (Android Developer Tools) to streamline your Android app development.
  • 33. TOOLS : “ECLIPSE” With a single download, the Eclipse ADT bundle includes everything you need to begin developing apps:  Eclipse + ADT plug-in  Android SDK Tools  Android Platform-tools  A version of the Android platform  A version of the Android system image for the emulator
  • 34. TOOLS : “ANDROID STUDIO ̶ BETA”  Android Studio is a new Android development environment based on IntelliJ IDEA. It provides new features and improvements over Eclipse ADT and will be the official Android IDE once it's ready. On top of the capabilities you expect from IntelliJ, Android Studio offers:  Flexible Gradle-based build system.  Build variants and multiple APK generation.  Expanded template support for Google Services and various device types.  Rich layout editor with support for theme editing.  Lint tools to catch performance, usability, version compatibility, and other problems.  ProGuard and app-signing capabilities.  Built-in support for Google Cloud Platform, making it easy to integrate Google Cloud Messaging and App Engine.
  • 35. SPECIAL SLIDE : “ANDROID STUDIO VS. ECLIPSE ADT” FEATURE ECLIPSE ADT ANDROID STUDIO Build system Ant Gradle Maven-based build dependencies No Yes Build variants and multiple-APK generation (great for Android Wear) No Yes Advanced Android code completion and refactoring No Yes Graphical layout editor Yes Yes APK signing and keystore management Yes Yes NDK support Yes Coming soon
  • 36. STEP 5 : SERVICES  Google offers a variety of services that help you build new revenue streams, manage app distribution, track app usage, and enhance your app with features such as maps, sign-in, and cloud messaging.  Although these Google services are not included in the Android platform, they are supported by most Android-powered devices. When using these services, you can distribute your app on Google Play to all devices running Android 2.3 or higher, and some services support even more devices.
  • 37. STEP 5 : SERVICES Google Services Google+ Google Wallet Google Cloud Platform Google Analytics Ads by Google
  • 38. †ANDROID ̶ SOMETHING “SWEET”†  Android has set the trend of sweet names of its various versions. Android is under ongoing development by Google and the Open Handset Alliance (OHA), and has seen a number of updates to its base operating system since its initial release.  Since April 2009, Android versions have been developed under a confectionery-themed code name and released in alphabetical order; the exceptions are versions 1.0 and 1.1 as they were not released under specific code names.
  • 39. ANDROID VERSIONS Version Name Version # Release Year Alpha 1.0 (Pre-commercial) 2007-2008 Beta 1.1 (Pre-commercial) 2007-2008 Cupcake 1.5 2009 Donut 1.6 2009 Éclair 2.0 – 2.1 2009-2010 Froyo 2.2 – 2.2.3 2010-2011 Gingerbread 2.3 – 2.3.7 2010-2011 Honeycomb 3.0 – 3.2.6 2011-2012 Ice-cream Sandwich 4.0 – 4.0.4 2011-2012 Jelly Bean 4.1 – 4.3.1 2013 KitKat 4.4 – 4.4.4 2013 Lollipop 5.0 2014
  • 40. CONCLUSION : Due to advantages of Android like: Multitasking, Ease of notification, Access to millions of Apps, Widgets, Access to install custom ROM and the biggest factor ̶ Google support, it has attracted the users all over the globe and has changed the concept “CellPhones” to “SmartPhones” and thus it has commercially acquired a huge market which is still expanding. . . THANK YOU!!!