SlideShare ist ein Scribd-Unternehmen logo
1 von 105
Shady Selim
Mobile Team Lead
What’s new in Android
What’s New In
Android PIA s
Android App Bundle
Source: Partner provided data
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
APK size (MBs)
Conversion rate decreases as apps get larger
Play Store conversion rate
(% of visitors who install)
Trendline
xxhdpi hdpixhdpi mdpi ldpixxxhdpi
xxhdpi
arm
hdpi
arm
xhdpi
arm
mdpi
arm
ldpi
arm
xxxhdpi
arm
xxhdpi
x86
hdpi
x86
xhdpi
x86
mdpi
x86
ldpi
x86
xxxhdpi
x86
xxhdpi
arm64
hdpi
arm64
xhdpi
arm64
mdpi
arm64
ldpi
arm64
xxxhdpi
arm64
xxhdpi
arm
hdpi
arm
xhdpi
arm
mdpi
arm
ldpi
arm
xxxhdpi
arm
xxhdpi
x86
hdpi
x86
xhdpi
x86
mdpi
x86
ldpi
x86
xxxhdpi
x86
xxhdpi
x86_64
hdpi
x86_64
xhdpi
x86_64
mdpi
x86_64
ldpi
x86_64
xxxhdpi
x86_64
xxhdpi
arm64
v:14
hdpi
arm64
v: 16
xhdpi
arm64
v:15
mdpi
arm64
v:17
ldpi
arm64
v:18
xxxhdpi
arm64
v:13
xxhdpi
arm
v:20
hdpi
arm
v:22
xhdpi
arm
v:21
mdpi
arm
v:23
ldpi
arm
v:24
xxxhdpi
arm
v:19
xxhdpi
x86
v: 8
hdpi
x86
v:10
xhdpi
x86
v:9
mdpi
x86
v: 11
ldpi
x86
v:12
xxxhdpi
x86
v: 7
xxhdpi
x86_64
v: 2
hdpi
x86_64
v: 4
xhdpi
x86_64
v:3
mdpi
x86_64
v:5
ldpi
x86_64
v: 6
xxxhdpi
x86_64
v: 1
xxhdpi
arm64
v:14
hdpi
arm64
v: 16
xhdpi
arm64
v:15
mdpi
arm64
v:17
ldpi
arm64
v:18
xxxhdpi
arm64
v:13
xxhdpi
arm
v:20
hdpi
arm
v:22
xhdpi
arm
v:21
mdpi
arm
v:23
ldpi
arm
v:24
xxxhdpi
arm
v:19
xxhdpi
x86
v: 8
hdpi
x86
v:10
xhdpi
x86
v:9
mdpi
x86
v: 11
ldpi
x86
v:12
xxxhdpi
x86
v: 7
xxhdpi
x86_64
v: 2
hdpi
x86_64
v: 4
xhdpi
x86_64
v:3
mdpi
x86_64
v:5
ldpi
x86_64
v: 6
xxxhdpi
x86_64
v: 1
Android App Bundle
Benefit from a smaller app
Stop managing multiple APKs
Deliver features on-demandBETA
Android App Bundle
Benefit from a smaller app
Stop managing multiple APKs
Deliver features on-demandBETA
Source: Partner provided data
saving
11%
saving
23%
saving
45%
saving
22%28%
saving
ABA English Airbnb LinkedIn Perigee
saving
49%
RV AppStudios
saving
64%
Memrise Pluto. TV
Optimized
APK for each
device
Upload an
Android App
Bundle
Dynamic
Delivery
Optimized
APK for each
device
Upload an
Android App
Bundle
Dynamic
Delivery
/res/xxxhdpi
classes.dex
/res/xxhdpi
config_xxxhdpi.apkbase.apk
config_xxxhdpi.apk
/res/xhdpi
/res/hdpi
config_xhdpi.apk
config_hdpi.apk
/res/mhdpi
/res/ldpi
config_mhdpi.apk
config_ldpi.apk
/lib/x86 /lib/arm
config_x86.apk config_arm.apk
/res/values-en /res/values-fr
config_en.apk config_fr.apk
/res/values-es
config_es.apk


App Bundle
APK
Android App Bundle
Start today at g.co/androidappbundle
Android Jetpack
Accelerate App Development
supported devices
Refactor
android.support.v4.*
android.support.v7.*
// etc.
androidx.*
Jetpack Architecture
Jetpack Architecture
Lifecycle
Lifecycle Aware Components
Jetpack Architecture
Lifecycle
Lifecycle Aware Components
ViewModel
View data decoupled from OS lifecycle
Jetpack Architecture
Lifecycle
Lifecycle Aware Components
ViewModel
View data decoupled from OS lifecycle
Room
SQLite object mapping
Jetpack Architecture
Lifecycle
Lifecycle Aware Components
ViewModel
View data decoupled from OS lifecycle
Room
SQLite object mapping
LiveData
Lifecycle aware observables
Jetpack Architecture
Lifecycle
Lifecycle Aware Components
ViewModel
View data decoupled from OS lifecycle
Paging (1.0!)
Asynchronous data retrieval
Room
SQLite object mapping
LiveData
Lifecycle aware observables
Jetpack Architecture
WorkManager
Job scheduling
Navigation
Backstack and app flows
PREVIEW
View Models
Simplifying Android development
2016: What is the hardest part
of Android Development?
ViewModel
onCleared()
ViewModel
onCleared()
ViewModel +
LiveData
onCleared()
observe
LiveData
ViewModel +
LiveData
onCleared()
LiveData
observe
ViewModel +
LiveData
onCleared()
LiveData
observe
ViewModel +
LiveData
onCleared()
LiveData
ViewModel +
LiveData
onCleared()
LiveData
observe
ViewModel +
LiveData
onCleared()
LiveData
observe
ViewModel +
LiveData
onCleared()
LiveData
observe
ViewModel +
LiveData
onCleared()
LiveData
Room
A better way to do databases
2016: How do you do
Databases on Android?
Database
SQLite
App
Logic
Content
Provider
Database
Uri App
Logic
Content
ProviderSQLite
Database
Content
Values Uri App
Logic
Content
ProviderSQLite
App
Logic
Content
Provider
Database
Content
Values Uri
SQLite
Not type-
safe
App
Logic
Content
Provider
Database
Content
Values Uri
SQLite
Not type-
safe
Not type-
safe
App
Logic
Content
Provider
Database
Content
Values Uri
SQLite
Not type-
safe
Not type-
safe
RoomDatabase
App
Logic
Content
Provider
Content
Values Uri
Not type-
safe
Not type-
safe
SQLite
Room
DAOSQLite
Room
SQL
DAO
View
ModelSQLite
Type-safe
Room
SQL Entities
DAO
View
Model
Type-safeType-safe
SQLite
using or plan to use
using or plan to use
WorkManager
Backwards compatible background work
PREVIEW
Battery Optimizations
Optimize background tasks to
stay charged longer
Unlimited
Background Services
Doze
App Standby
Limited Broadcasts
Release Wakelocks
Service Limitations
App Standby Buckets
Background Restrictions
There is still a lot of work to do
Sending logs
Uploading images and videos
Syncing data
Processing data
Basic Work: upload a photo
upload
// A simple Worker
class UploadPhotoWorker : Worker() {
override fun doWork(): WorkerResult {
uploadPhoto()
return WorkerResult.SUCCESS
}
}
SUCCESS
FAILURE
RETRY
Runs on a background thread
// Creating a work request and enqueuing it
val request: WorkRequest =
OneTimeWorkRequestBuilder<UploadPhotoWorker>().build()
WorkManager.getInstance().enqueue(request)
Ω
What if you lose connectivity?
Use constraints!
// Creating a work request with network constraints
val constraints = Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build()
val request =
OneTimeWorkRequestBuilder<UploadPhotoWorker>()
.setConstraints(constraints)
.build()
WorkManager.getInstance().enqueue(request)
Show Progress
upload
Chain Work
compress upload
Parallel Work
upload
Complex Flows
filter
filter
filter
compress upload
When to use?
Best-Effort
Exact Timing
ThreadPool
Coroutines
ThreadPool
Coroutines
When to use?
Best-Effort
Guarantee
d Execution
Exact Timing
Deferrable
ThreadPool
Coroutines
ThreadPool
Coroutines
Foreground
Service
WorkManager
WorkManager
Respects users battery
Works with OS
Backwards compatible (API14)
Navigation
How to get around your app
PREVIEW
Challenges for navigation
Fragment Transactions
Deep Links
Passing Arguments
Up and Back
Errorprone Boilerplate
Testing
Home
Category
Item
https://...
Need to be created and added
to back stack on deep link
Navigation Graph
A navigation graph is a blueprint of screens and the
actions that link them.
Navigation
Define navigation graph with visual
tool / XML:
Make a single navigate() call and
runtime library handles everything
Safe Args
Type-safe arguments when launching a Fragment
HelpFragment.kt
if (!arguments.containsKey("screenName")) {
throw IllegalArgumentException()
}
val category: Int = arguments.getInt("category")
val screenName: String = arguments.getString("screenName")
HomeFragment.kt
findViewById<Button>(R.id.help_button).setOnClickListener { v ->
val helpDirections = HomeFragmentDirections.help("Home")
helpDirections.category = 1703
v.findNavController().navigate(helpDirections)
}
HelpFragment.kt
val args : HelpFragmentArgs = HelpFragmentArgs.fromBundle(arguments)
val screenName: String = args.screenName
val category: Int = args.category
Navigation
IDE tooling for app navigation
Manage deeplinks
Safe argument passing
Jetpack Architecture
Start today at d.android.com/arch
Integration Tests
e2e
Tests
Unit Tests
Android Test
Part of Jetpack
@RunWith(AndroidJUnit4::class)
class SimpleUnifiedTest {
@Test
fun viewIsVisible() {
assertEquals(view.visibility, View.VISIBLE)
}
}
Failed:
Expected 0 but was 16
F
@RunWith(AndroidJUnit4::class)
class SimpleUnifiedTest {
@Test
fun viewIsVisible() {
assertThat(view).isVisible()
}
}
Failed:
View was not visible
F
Core Platform
Battery
App Standby Buckets
usage based access to jobs, alarms, network, messaging
Background Restriction
user can restrict badly-behaved apps
Background Inputs & Privacy
Kotlin
Performance & Compiler
ART, D8, R8
Nullability
support library and libcore
Android KTX
Part of Jetpack
Concise, readable code.
A suite of libraries
Android KTX, Testing KTX, ...
Background Text Measurement
Text measurement is expensive
Up to 80 to 90% of the draw/measure/layout loop
Pre-computed text API offloads most of the work to a worker thread
PrecomputedText.create(...)
Baseline distance
val tv: TextView
// Distance from top to first baseline
tv.firstBaselineToTopHeight = distancePx
// Distance from bottom to last baseline
tv.lastBaselineToBottomHeight = distancePx
Smart Linkify
Like linkify, but smarter...
Spannable text = ...
TextLinks.Request request = new TextLinks.Request.Builder(text);
// On background thread
executor.execute {
TextClassifier.generateLinks(request).apply(text);
textview.post { textview.text = text }
}
Accessibility
View
android:accessibilityPaneTitle
setAccessibilityPaneTitle()
TextView
android:accessibilityHeading
setAccessibilityHeading()
Navigation Improvements
Security
Unified BiometricDialog
@deprecated FingerprintManager
Stronger protection for private keys
StrongBox backend
Build.SERIAL doesn’t work anymore
System UI
Integrating fully with Android
Display Cutouts
Simulate notches in developer options (skip the electrical
tape)
WindowInsets#getDisplayCutout()
android:windowLayoutInDisplayCutoutMode
● mode=”never”
● mode=”default”
● mode=”shortEdges” + DisplayCutout#getSafeInsets()
● mode=”shortEdges” + DisplayCutout#getBounds()
Slices
A new approach to remote content
● Within an app or between apps
● Structured data, flexible templates
● Interactive, updatable
● Backwards-compatible!
● (Support Library, KitKat/API 19+)
Actions
Deep links into your app
● “shortcuts with parameters”
● “a visible Intent”
Define actions in actions.xml
Register with App Indexing to show as on-device search results
Notifications
People love messages

so we focused on MessagingStyle
● Inline images/stickers
● Participant images
● Smart reply UI
● RemoteInput.setChoices()
And more!
What’s New In Android
Android App Bundle
https://g.co/androidappbundle
Android Jetpack
https://d.android.com/jetpack
https://d.android.com/kotlin
https://d.android.com/arch
https://d.android.com/arch/navigation
https://d.android.com/arch/workmanager
Core Platform
App Standby Buckets
Background Restrictions
System UI
Display Cutouts
Slices & Actions
Notifications
Thank You!

Weitere Àhnliche Inhalte

Was ist angesagt?

Integration Testing on Steroids: Run Your Tests on the Real Things
Integration Testing on Steroids: Run Your Tests on the Real ThingsIntegration Testing on Steroids: Run Your Tests on the Real Things
Integration Testing on Steroids: Run Your Tests on the Real ThingsAtlassian
 
SpringOne Platform recap 정윀진
SpringOne Platform recap 정윀진SpringOne Platform recap 정윀진
SpringOne Platform recap 정윀진VMware Tanzu Korea
 
Resilience Engineering: A field of study, a community, and some perspective s...
Resilience Engineering: A field of study, a community, and some perspective s...Resilience Engineering: A field of study, a community, and some perspective s...
Resilience Engineering: A field of study, a community, and some perspective s...John Allspaw
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdecWojciech Dec
 
Spec-first API Design for Speed and Safety
Spec-first API Design for Speed and SafetySpec-first API Design for Speed and Safety
Spec-first API Design for Speed and SafetyAtlassian
 
Java 6 [Mustang] - Features and Enchantments
Java 6 [Mustang] - Features and Enchantments Java 6 [Mustang] - Features and Enchantments
Java 6 [Mustang] - Features and Enchantments Pavel Kaminsky
 
Apic dc api deep dive
Apic dc api deep dive Apic dc api deep dive
Apic dc api deep dive Cisco DevNet
 
Migrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDI
Migrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDIMigrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDI
Migrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDIMario-Leander Reimer
 
Test Engineering on Mobage
Test Engineering on MobageTest Engineering on Mobage
Test Engineering on MobageMasaki Nakagawa
 
Leaning into Server to Cloud App Migration
Leaning into Server to Cloud App MigrationLeaning into Server to Cloud App Migration
Leaning into Server to Cloud App MigrationAtlassian
 
Spring Framework 5.0: Hidden Gems
Spring Framework 5.0: Hidden GemsSpring Framework 5.0: Hidden Gems
Spring Framework 5.0: Hidden GemsVMware Tanzu
 
Seattle Cassandra Users: An OSS Java Abstraction Layer for Cassandra
Seattle Cassandra Users: An OSS Java Abstraction Layer for CassandraSeattle Cassandra Users: An OSS Java Abstraction Layer for Cassandra
Seattle Cassandra Users: An OSS Java Abstraction Layer for CassandraJosh Turner
 
Core Spring + Reactive êč€ëŻŒì„
Core Spring + Reactive  êč€ëŻŒì„Core Spring + Reactive  êč€ëŻŒì„
Core Spring + Reactive êč€ëŻŒì„VMware Tanzu Korea
 
BMO - Intelligent Projects with Maven
BMO - Intelligent Projects with MavenBMO - Intelligent Projects with Maven
BMO - Intelligent Projects with MavenMert ÇalÄ±ĆŸkan
 
Custom Metadata Records Deployment From Apex Code
Custom Metadata Records Deployment From Apex CodeCustom Metadata Records Deployment From Apex Code
Custom Metadata Records Deployment From Apex CodeBohdan DovhaƄ
 
Atlassian Connect on Serverless Platforms: Low Cost Add-Ons
Atlassian Connect on Serverless Platforms: Low Cost Add-OnsAtlassian Connect on Serverless Platforms: Low Cost Add-Ons
Atlassian Connect on Serverless Platforms: Low Cost Add-OnsAtlassian
 
Spring Up Your Graph
Spring Up Your GraphSpring Up Your Graph
Spring Up Your GraphVMware Tanzu
 
Game of Streams: How to Tame and Get the Most from Your Messaging Platforms
Game of Streams: How to Tame and Get the Most from Your Messaging PlatformsGame of Streams: How to Tame and Get the Most from Your Messaging Platforms
Game of Streams: How to Tame and Get the Most from Your Messaging PlatformsVMware Tanzu
 
Ten Battle-Tested Tips for Atlassian Connect Add-ons
Ten Battle-Tested Tips for Atlassian Connect Add-onsTen Battle-Tested Tips for Atlassian Connect Add-ons
Ten Battle-Tested Tips for Atlassian Connect Add-onsAtlassian
 
Spring Cloud Function — Going Serverless
Spring Cloud Function — Going ServerlessSpring Cloud Function — Going Serverless
Spring Cloud Function — Going ServerlessGlobalLogic Ukraine
 

Was ist angesagt? (20)

Integration Testing on Steroids: Run Your Tests on the Real Things
Integration Testing on Steroids: Run Your Tests on the Real ThingsIntegration Testing on Steroids: Run Your Tests on the Real Things
Integration Testing on Steroids: Run Your Tests on the Real Things
 
SpringOne Platform recap 정윀진
SpringOne Platform recap 정윀진SpringOne Platform recap 정윀진
SpringOne Platform recap 정윀진
 
Resilience Engineering: A field of study, a community, and some perspective s...
Resilience Engineering: A field of study, a community, and some perspective s...Resilience Engineering: A field of study, a community, and some perspective s...
Resilience Engineering: A field of study, a community, and some perspective s...
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdec
 
Spec-first API Design for Speed and Safety
Spec-first API Design for Speed and SafetySpec-first API Design for Speed and Safety
Spec-first API Design for Speed and Safety
 
Java 6 [Mustang] - Features and Enchantments
Java 6 [Mustang] - Features and Enchantments Java 6 [Mustang] - Features and Enchantments
Java 6 [Mustang] - Features and Enchantments
 
Apic dc api deep dive
Apic dc api deep dive Apic dc api deep dive
Apic dc api deep dive
 
Migrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDI
Migrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDIMigrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDI
Migrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDI
 
Test Engineering on Mobage
Test Engineering on MobageTest Engineering on Mobage
Test Engineering on Mobage
 
Leaning into Server to Cloud App Migration
Leaning into Server to Cloud App MigrationLeaning into Server to Cloud App Migration
Leaning into Server to Cloud App Migration
 
Spring Framework 5.0: Hidden Gems
Spring Framework 5.0: Hidden GemsSpring Framework 5.0: Hidden Gems
Spring Framework 5.0: Hidden Gems
 
Seattle Cassandra Users: An OSS Java Abstraction Layer for Cassandra
Seattle Cassandra Users: An OSS Java Abstraction Layer for CassandraSeattle Cassandra Users: An OSS Java Abstraction Layer for Cassandra
Seattle Cassandra Users: An OSS Java Abstraction Layer for Cassandra
 
Core Spring + Reactive êč€ëŻŒì„
Core Spring + Reactive  êč€ëŻŒì„Core Spring + Reactive  êč€ëŻŒì„
Core Spring + Reactive êč€ëŻŒì„
 
BMO - Intelligent Projects with Maven
BMO - Intelligent Projects with MavenBMO - Intelligent Projects with Maven
BMO - Intelligent Projects with Maven
 
Custom Metadata Records Deployment From Apex Code
Custom Metadata Records Deployment From Apex CodeCustom Metadata Records Deployment From Apex Code
Custom Metadata Records Deployment From Apex Code
 
Atlassian Connect on Serverless Platforms: Low Cost Add-Ons
Atlassian Connect on Serverless Platforms: Low Cost Add-OnsAtlassian Connect on Serverless Platforms: Low Cost Add-Ons
Atlassian Connect on Serverless Platforms: Low Cost Add-Ons
 
Spring Up Your Graph
Spring Up Your GraphSpring Up Your Graph
Spring Up Your Graph
 
Game of Streams: How to Tame and Get the Most from Your Messaging Platforms
Game of Streams: How to Tame and Get the Most from Your Messaging PlatformsGame of Streams: How to Tame and Get the Most from Your Messaging Platforms
Game of Streams: How to Tame and Get the Most from Your Messaging Platforms
 
Ten Battle-Tested Tips for Atlassian Connect Add-ons
Ten Battle-Tested Tips for Atlassian Connect Add-onsTen Battle-Tested Tips for Atlassian Connect Add-ons
Ten Battle-Tested Tips for Atlassian Connect Add-ons
 
Spring Cloud Function — Going Serverless
Spring Cloud Function — Going ServerlessSpring Cloud Function — Going Serverless
Spring Cloud Function — Going Serverless
 

Ähnlich wie What's New in Android P

Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...Alexandre Gouaillard
 
Seattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopSeattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopJimmy Guerrero
 
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)Igalia
 
Rhomobile 5.5 Release Notes
Rhomobile 5.5 Release NotesRhomobile 5.5 Release Notes
Rhomobile 5.5 Release NotesKonstantin Rybas
 
DYI - Starting your own webrtc project
DYI - Starting your own webrtc projectDYI - Starting your own webrtc project
DYI - Starting your own webrtc projectAlexandre Gouaillard
 
Kandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_finalKandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_finalNAVER D2
 
Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Matthew McCullough
 
Intro to Eclipse Che, by Tyler Jewell
Intro to Eclipse Che, by Tyler JewellIntro to Eclipse Che, by Tyler Jewell
Intro to Eclipse Che, by Tyler Jewelljwi11iams
 
Jetpack, with new features in 2021 GDG Georgetown IO Extended
Jetpack, with new features in 2021 GDG Georgetown IO ExtendedJetpack, with new features in 2021 GDG Georgetown IO Extended
Jetpack, with new features in 2021 GDG Georgetown IO ExtendedToru Wonyoung Choi
 
New and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler
New and cool in OSGi R7 - David Bosschaert & Carsten ZiegelerNew and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler
New and cool in OSGi R7 - David Bosschaert & Carsten Ziegelermfrancis
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
Deploying R for Production - SRUG
Deploying R for Production - SRUGDeploying R for Production - SRUG
Deploying R for Production - SRUGHolger Hellebro
 
Architecting the Future: Abstractions and Metadata - CodeStock
Architecting the Future: Abstractions and Metadata - CodeStockArchitecting the Future: Abstractions and Metadata - CodeStock
Architecting the Future: Abstractions and Metadata - CodeStockDaniel Barker
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Enginecatherinewall
 
Service Testing. WTF Does This API Do
Service Testing. WTF Does This API Do	Service Testing. WTF Does This API Do
Service Testing. WTF Does This API Do Globant
 
HTML5 Comprehensive Guide
HTML5 Comprehensive GuideHTML5 Comprehensive Guide
HTML5 Comprehensive GuideAlexei Skachykhin
 
Architecting the Future: Abstractions and Metadata - BSidesKC
Architecting the Future: Abstractions and Metadata - BSidesKCArchitecting the Future: Abstractions and Metadata - BSidesKC
Architecting the Future: Abstractions and Metadata - BSidesKCDaniel Barker
 
What's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet HaaseWhat's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet HaaseParis Android User Group
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop OverviewShubhra Kar
 
App Engine overview (Android meetup 06-10)
App Engine overview (Android meetup 06-10)App Engine overview (Android meetup 06-10)
App Engine overview (Android meetup 06-10)jasonacooper
 

Ähnlich wie What's New in Android P (20)

Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
 
Seattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopSeattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js Workshop
 
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
 
Rhomobile 5.5 Release Notes
Rhomobile 5.5 Release NotesRhomobile 5.5 Release Notes
Rhomobile 5.5 Release Notes
 
DYI - Starting your own webrtc project
DYI - Starting your own webrtc projectDYI - Starting your own webrtc project
DYI - Starting your own webrtc project
 
Kandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_finalKandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_final
 
Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2
 
Intro to Eclipse Che, by Tyler Jewell
Intro to Eclipse Che, by Tyler JewellIntro to Eclipse Che, by Tyler Jewell
Intro to Eclipse Che, by Tyler Jewell
 
Jetpack, with new features in 2021 GDG Georgetown IO Extended
Jetpack, with new features in 2021 GDG Georgetown IO ExtendedJetpack, with new features in 2021 GDG Georgetown IO Extended
Jetpack, with new features in 2021 GDG Georgetown IO Extended
 
New and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler
New and cool in OSGi R7 - David Bosschaert & Carsten ZiegelerNew and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler
New and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
Deploying R for Production - SRUG
Deploying R for Production - SRUGDeploying R for Production - SRUG
Deploying R for Production - SRUG
 
Architecting the Future: Abstractions and Metadata - CodeStock
Architecting the Future: Abstractions and Metadata - CodeStockArchitecting the Future: Abstractions and Metadata - CodeStock
Architecting the Future: Abstractions and Metadata - CodeStock
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Engine
 
Service Testing. WTF Does This API Do
Service Testing. WTF Does This API Do	Service Testing. WTF Does This API Do
Service Testing. WTF Does This API Do
 
HTML5 Comprehensive Guide
HTML5 Comprehensive GuideHTML5 Comprehensive Guide
HTML5 Comprehensive Guide
 
Architecting the Future: Abstractions and Metadata - BSidesKC
Architecting the Future: Abstractions and Metadata - BSidesKCArchitecting the Future: Abstractions and Metadata - BSidesKC
Architecting the Future: Abstractions and Metadata - BSidesKC
 
What's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet HaaseWhat's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet Haase
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
App Engine overview (Android meetup 06-10)
App Engine overview (Android meetup 06-10)App Engine overview (Android meetup 06-10)
App Engine overview (Android meetup 06-10)
 

Mehr von Shady Selim

What is Kotlin Multiplaform? Why & How?
What is Kotlin Multiplaform? Why & How? What is Kotlin Multiplaform? Why & How?
What is Kotlin Multiplaform? Why & How? Shady Selim
 
Kotlin native for iOS and Android
Kotlin native for iOS and AndroidKotlin native for iOS and Android
Kotlin native for iOS and AndroidShady Selim
 
Introduction on Mobile development
Introduction on Mobile developmentIntroduction on Mobile development
Introduction on Mobile developmentShady Selim
 
Game development using Flutter
Game development using FlutterGame development using Flutter
Game development using FlutterShady Selim
 
I/O 2019 android updates
I/O 2019 android updatesI/O 2019 android updates
I/O 2019 android updatesShady Selim
 
Kotlin for android 2019
Kotlin for android 2019Kotlin for android 2019
Kotlin for android 2019Shady Selim
 
Intro to Flutter
Intro to FlutterIntro to Flutter
Intro to FlutterShady Selim
 
Intro to kotlin 2018
Intro to kotlin 2018Intro to kotlin 2018
Intro to kotlin 2018Shady Selim
 
The magic of flutter
The magic of flutterThe magic of flutter
The magic of flutterShady Selim
 
Intro to Kotlin
Intro to KotlinIntro to Kotlin
Intro to KotlinShady Selim
 
Intro to Kotlin Minia GDG DevFest 2017
Intro to Kotlin Minia GDG DevFest 2017Intro to Kotlin Minia GDG DevFest 2017
Intro to Kotlin Minia GDG DevFest 2017Shady Selim
 
Kotlin for Frontend & Backend Web development
Kotlin for Frontend & Backend Web developmentKotlin for Frontend & Backend Web development
Kotlin for Frontend & Backend Web developmentShady Selim
 
Kotlin for android
Kotlin for androidKotlin for android
Kotlin for androidShady Selim
 
Intro to Kotlin
Intro to KotlinIntro to Kotlin
Intro to KotlinShady Selim
 
Android content provider explained
Android content provider explainedAndroid content provider explained
Android content provider explainedShady Selim
 
Design for Web and Mobile
Design for Web and MobileDesign for Web and Mobile
Design for Web and MobileShady Selim
 
Towards a better higher education system by Shady Selim
Towards a better higher education system by Shady SelimTowards a better higher education system by Shady Selim
Towards a better higher education system by Shady SelimShady Selim
 
Android Programing Course Material Labs
Android Programing Course Material LabsAndroid Programing Course Material Labs
Android Programing Course Material LabsShady Selim
 
Android Programing Course Material
Android Programing Course Material Android Programing Course Material
Android Programing Course Material Shady Selim
 

Mehr von Shady Selim (20)

What is Kotlin Multiplaform? Why & How?
What is Kotlin Multiplaform? Why & How? What is Kotlin Multiplaform? Why & How?
What is Kotlin Multiplaform? Why & How?
 
Kotlin native for iOS and Android
Kotlin native for iOS and AndroidKotlin native for iOS and Android
Kotlin native for iOS and Android
 
Introduction on Mobile development
Introduction on Mobile developmentIntroduction on Mobile development
Introduction on Mobile development
 
Game development using Flutter
Game development using FlutterGame development using Flutter
Game development using Flutter
 
I/O 2019 android updates
I/O 2019 android updatesI/O 2019 android updates
I/O 2019 android updates
 
Kotlin for android 2019
Kotlin for android 2019Kotlin for android 2019
Kotlin for android 2019
 
Intro to Flutter
Intro to FlutterIntro to Flutter
Intro to Flutter
 
Intro to kotlin 2018
Intro to kotlin 2018Intro to kotlin 2018
Intro to kotlin 2018
 
The magic of flutter
The magic of flutterThe magic of flutter
The magic of flutter
 
Intro to Kotlin
Intro to KotlinIntro to Kotlin
Intro to Kotlin
 
Intro to Kotlin Minia GDG DevFest 2017
Intro to Kotlin Minia GDG DevFest 2017Intro to Kotlin Minia GDG DevFest 2017
Intro to Kotlin Minia GDG DevFest 2017
 
Kotlin for Frontend & Backend Web development
Kotlin for Frontend & Backend Web developmentKotlin for Frontend & Backend Web development
Kotlin for Frontend & Backend Web development
 
Kotlin for android
Kotlin for androidKotlin for android
Kotlin for android
 
Intro to Kotlin
Intro to KotlinIntro to Kotlin
Intro to Kotlin
 
Firebase
FirebaseFirebase
Firebase
 
Android content provider explained
Android content provider explainedAndroid content provider explained
Android content provider explained
 
Design for Web and Mobile
Design for Web and MobileDesign for Web and Mobile
Design for Web and Mobile
 
Towards a better higher education system by Shady Selim
Towards a better higher education system by Shady SelimTowards a better higher education system by Shady Selim
Towards a better higher education system by Shady Selim
 
Android Programing Course Material Labs
Android Programing Course Material LabsAndroid Programing Course Material Labs
Android Programing Course Material Labs
 
Android Programing Course Material
Android Programing Course Material Android Programing Course Material
Android Programing Course Material
 

KĂŒrzlich hochgeladen

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂
CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂
CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂anilsa9823
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfWilly Marroquin (WillyDevNET)
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto GonzĂĄlez Trastoy
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
CALL ON ➄8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➄8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➄8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➄8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 

KĂŒrzlich hochgeladen (20)

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂
CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂
CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
CALL ON ➄8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➄8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➄8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➄8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 

What's New in Android P