SlideShare ist ein Scribd-Unternehmen logo
1 von 78
What’s new in Android M
nuuneoi
Stands for ...
mmmm
Stands for ...
Preview
Building M Preview Apps
Android M is now available on SDK Manager
Building M Preview Apps
Previewssssss
OK. Let’s start.
Apps Permission
FASTER INSTALLS • SMOOTHER UPGRADES • MORE USER CONTROL
Install-time permissions
Runtime permissions in M
User controls in M
Everything you’ve ever asked for
But now your app has to deal with it
Apps targeting M can:
can ask for any permission at any time
Legacy apps will:
get all permissions at install time, as before
Users can:
deny any permissions upon request
deny any permissions at any later time – even legacy apps
Test!
Voice Interactions
Voice Interactions
VoiceInteractor – confirm and prompt for response
<activity android:name="org.example.MyVoiceActivity">
<intent-filter>
<action android:name="org.example.MY_ACTION_INTENT" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE" />
</intent-filter>
</activity>
Voice Interactions
public class MyVoiceActivity
extends AppCompatActivity {
@Override
protected void onResume() {
super.onResume();
if (isVoiceInteraction()) {
// do stuff
} else {
finish();
}
}
Voice Interactions
public class MyVoiceActivity
extends AppCompatActivity {
@Override
protected void onResume() {
super.onResume();
if (isVoiceInteraction()) {
String prompt = "...";
getVoiceInteractor().submitRequest(
new Confirm(prompt));
} else {
finish();
}
}
Voice Interactions
public class Confirm extends
VoiceInteractor.ConfirmationRequest {
public Confirm(String prompt) {
super(prompt, null);
}
@Override
public void onConfirmationResult(
boolean confirmed, Bundle result) {
if (confirmed) {
// do stuff
}
}
}
public class MyVoiceActivity
extends AppCompatActivity {
@Override
protected void onResume() {
super.onResume();
if (isVoiceInteraction()) {
String prompt = "...";
getVoiceInteractor().submitRequest(
new Confirm(prompt));
} else {
finish();
}
}
Fingerprint
QUICK USER VERIFICATION
Two APIs for fingerprints
FingerprintManager.authenticate()
Verify that authorized user is present
Your app controls all UI
KeyguardManager.createConfirmDeviceCredentialIntent()
Present lock screen to user
startActivityForResult(), check for RESULT_OK
Sample code
github.com/googlesamples/android-FingerprintDialog
github.com/googlesamples/android-ConfirmCredential
Android Backup
RESTORATION SOFTWARE
Android Backup
All data now backed up by default
targetSdk M
Optional scheme file in xml/ resource dir
includes/excludes
Android Backup
AndroidManifest.xml
<application android:fullBackupContent="@xml/mybackupscheme">
...
</application>
res/xml/mybackupscheme.xml
<full-backup-content>
<exclude domain="database" path="device_info.db"/>
</full-backup-content>
or
<full-backup-content>
<include domain="file" path="mydata/allthatmatters.txt"/>
</full-backup-content>
Google Play Services
7.5 AND COUNTING
GCM Network Manager
Like JobScheduler
… but across releases
OneOffTask
PeriodicTask
Limit network requests to wifi, or charging, or …
Also…
Maps on Android Wear
App Invites
Cast Remote Display
Smart Lock for Passwords
…
Power
EVEN BETTER BATTERY LIFE
Power improvements
Better screen-off battery life
Doze
Untouched devices become “inactive”
Wait longer to wake up for background tasks
Resume normal operation when moved, used, or plugged in
App standby
Unused apps lose network access
Resume when launched/used or when plugged in
Assistant Support
CONTEXTUAL INFORMATION, WHEN THE USER NEEDS IT
Assistant Support
New APIs to provide the assistant with relevant data
See SDK docs:
Activity.onProvideAssistData(Bundle)
Application.OnProvideAssistDataListener
Data Binding
BOUNDS AND DETERMINED
Data Binding
Connecting data and UI elements
Automates listener creation, message sending, setters, …
Pre-processed at build time
Data Binding
<layout>
<data>
<variable name="item" type="com.android.example.store.Item"/>
</data>
<FrameLayout ...>
<ImageView ... android:src="@{item.image}" />
<TextView ... android:text="@{@string/price(item.dollars, item.cents)}" />
</FrameLayout>
</layout>
UI Features
ALL ABOUT YOU AND I
Android Design Support Library
Snackbar
Android Design Support Library
Snackbar
FAB
Android Design Support Library
Snackbar
FAB
CoordinatorLayout
Android Design Support Library
Snackbar
FAB
CoordinatorLayout
TabLayout
Android Design Support Library
Snackbar
FAB
CoordinatorLayout
TabLayout
TextInputLayout
Android Design Support Library
Snackbar
FAB
CoordinatorLayout
TabLayout
TextInputLayout
NavigationView
Other UI Changes
RecyclerView ItemTouchHelper
Swipe-to-dismiss
Drag & drop
WebView
PostMessage
WebViewClient
WebSettings.setOffscreenPreRaster()
Notifications
HEY! YOU THERE! LOOK UP HERE!
android.graphics.drawable.Icon
Holds either:
a drawable resource id
a Bitmap
a byte[] holding a PNG or JPEG
Icons in Notifications
Icon ic = Icon.createWithResource(context,
R.drawable.ic_notification);
Notification no = Notification.Builder(context)
.setSmallIcon(ic)
...
.build();
Icons in Notifications
Icon ic = Icon.createWithBitmap(iconBitmap);
Notification no = Notification.Builder(context)
.setSmallIcon(ic)
...
.build();
Text Stuffs
TEXT IS ALL AROUND
Text Selection
Easier Selection
Floating palette with action items
Default for TextView
Other views
set ActionMode.TYPE_FLOATING
Text Processing
<intent-filter>
<action android:name="android.intent.action.PROCESS_TEXT"/>
</intent-filter>
Higher Quality Text Formatting
TextView.setBreakStrategy(int);
TextView.setHyphenationFrequency(int);
TextView.setIndents(int[] left, int[] right);
App Links
RELATIONSHIP BETWEEN APP AND WEB DOMAINS
App Links
Understand the relationship
between an app and web domains
owned by the same developer
d.android.com/preview/features/app-linking.html
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": “com.example.myapp",
"sha256_cert_fingerprints": ["6C:EC:C5:0E:34:AE....EB:0C:9B"]
}
}]
http://example.com/.well-known/statements.json
https: for M final
keytool -list -v -keystore release.keystore
Establishing app links
At install time
Package Manager fetches statements.json
Matches hash to APK’s signing certificate
These links will now launch your app
On failure, a link is not created
Usual intent chooser will be shown
Users can review & modify app links
Settings -> Apps -> (Your App) -> Open by default
<activity ...>
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" android:host=“example.com" />
<data android:scheme="http" android:host="www.example.com" />
</intent-filter>
</activity>
AndroidManifest.xml
This is where we will look for /.well-known/statements.json
Establishing app links
At install time
Package Manager fetches statements.json
Matches hash to APK’s signing certificate
These links will now launch your app
On failure, a link is not created
Usual intent chooser will be shown
Users can review & modify app links
Settings -> Apps -> (Your App) -> Open by default
Direct Share
SHARING IS EVEN MORE AWESOME
Direct Share
<activity ...>
<intent-filter>
<action android:name="android.intent.action.SEND" />
</intent-filter>
<meta-data android:name="android.service.chooser.chooser_target_service"
android:value=".MyChooserTargetService" />
</activity>
<service android:name=".MyChooserTargetService"
android:permission="android.permission.BIND_CHOOSER_TARGET_SERVICE">
<intent-filter>
<action android:name="android.service.chooser.ChooserTargetService" />
</intent-filter>
</service>
public class MyChooserTargetService extends ChooserTargetService {
@Override
public List<ChooserTarget> onGetChooserTargets(ComponentName targetActivityName,
IntentFilter matchedFilter) {
// do stuff
}
}
Stylus support
NOW THE PRESSURE IS REALLY ON
Styluses: supported since
ICE_CREAM_SANDWICH
MotionEvent APIs:
TOOL_TYPE_STYLUS
BUTTON_SECONDARY
BUTTON_TERTIARY
getPressure(), getSize(), getOrientation(), etc.
Until now, this only worked for wired/builtin digitizers
Bluetooth stylus support
Want to make a Bluetooth stylus?
Report pressure and buttons using Bluetooth HID
Android M will fuse this with touch events
Result touch stream will be TOOL_TYPE_STYLUS
(or TOOL_TYPE_ERASER)
Bluetooth stylus support for every app and every M device
New stylus API in M
Button support
ACTION_BUTTON_PRESS, ACTION_BUTTON_RELEASE,
BUTTON_STYLUS_PRIMARY, BUTTON_STYLUS_SECONDARY
Gesture support
ScaleGestureDetector.setStylusScaleEnabled(bool)
Quick scale with button-click+drag
OnGestureListener.onStylusButtonPress
Use this for selection & drag-and-drop
Graphics & Media
IT’S ALL ABOUT THE PIXELS
RenderScript Compute
BLAS intrinsics
(Really big matrices)
Allocation-less launches
Size of kernel separate from data
ScriptGroup
More dependency types
Better compiler optimizations
Camera
New Torch mode
Independent of camera device
CameraManager.setTorchMode(String cameraId, boolean enabled);
public abstract class CameraManager.TorchCallback {
public void onTorchModeUnavailable(String cameraId) {}
public void onTorchModeChanged(String cameraId, boolean enabled) {}
}
Alpha Optimization
Auto hardware layer for translucent Views
Call setLayerType() yourself still a Good idea
MIDI
Your could already do this…
… but it was a lot of work
Introducing … android.media.midi
MidiDeviceManager
MidiInputPort
MidiOutputPort
MidiDeviceService
High Resolution Audio
Audio samples: single-precision float
Sample rate: 96 kHz
USB digital audio: multichannel
Tools
MAKE IT HAPPENS
Android Studio
Integrated testing support
Data binding
Vector drawables
New annotations
Android NDK
Systrace
Systrace
ListView item recycling involved inflating views. Ensure
Your Adapter#getView() recycles the incoming View,
Instead of constructing a new one.
ART
Compiler optimizations
register allocator
global value number
loop-invariant code motion
dead code elimination
bounds check elimination
constant folding
inlining
ART
Runtime stats
Debug.getRuntimeStat(String)
“art.gc.gc-count”
“art.gc.gc-time”
…
Misc
REALLY IMPORTANT STUFF WE COULDN’T EASILY CATEGORIZE
External Storage
“Adopt” permanent storage
Avoid hard-coded paths
No new APIs!
For Preview testing:
$ adb root && sleep 2
$ adb shell setprop persist.fw.force_adoptable 1
$ adb reboot
Developing for Android
Guide for better mobile apps
medium.com/google-developers
So what are you waiting for?
Preview: d.android.com/preview
SDK + Android Studio: d.android.com/sdk
System image: d.android.com/sdk
Report bugs: code.google.com/android-developer-preview
DevBytes: youtube.com/GoogleDevelopers
Thank you
Q&A

Weitere ähnliche Inhalte

Was ist angesagt?

Being Epic: Best Practices for Android Development
Being Epic: Best Practices for Android DevelopmentBeing Epic: Best Practices for Android Development
Being Epic: Best Practices for Android DevelopmentReto Meier
 
Invading the home screen
Invading the home screenInvading the home screen
Invading the home screenMatteo Bonifazi
 
4.preference management
4.preference management 4.preference management
4.preference management maamir farooq
 
12. Android Basic Google Map
12. Android Basic Google Map12. Android Basic Google Map
12. Android Basic Google MapOum Saokosal
 
Mobile Software Engineering Crash Course - C03 Android
Mobile Software Engineering Crash Course - C03 AndroidMobile Software Engineering Crash Course - C03 Android
Mobile Software Engineering Crash Course - C03 AndroidMohammad Shaker
 
Beginning Native Android Apps
Beginning Native Android AppsBeginning Native Android Apps
Beginning Native Android AppsGil Irizarry
 
Support Design Library
Support Design LibrarySupport Design Library
Support Design LibraryTaeho Kim
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011sullis
 
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014Gil Irizarry
 
Android accessibility for developers and QA
Android accessibility for developers and QAAndroid accessibility for developers and QA
Android accessibility for developers and QATed Drake
 
Sample APK Analysis 5 - 55688 (Driver Version)
Sample APK Analysis 5 - 55688 (Driver Version)Sample APK Analysis 5 - 55688 (Driver Version)
Sample APK Analysis 5 - 55688 (Driver Version)Lin BH
 
Android Workshop
Android WorkshopAndroid Workshop
Android WorkshopJunda Ong
 
Sample APK Analysis 4 - 55688
Sample APK Analysis 4 - 55688Sample APK Analysis 4 - 55688
Sample APK Analysis 4 - 55688Lin BH
 
Developing accessible android applications
Developing accessible android applicationsDeveloping accessible android applications
Developing accessible android applicationsRenato Iwashima
 
Android appwidget
Android appwidgetAndroid appwidget
Android appwidgetKrazy Koder
 
I/O Rewind 2015 : Android Design Support Library
I/O Rewind 2015 : Android Design Support LibraryI/O Rewind 2015 : Android Design Support Library
I/O Rewind 2015 : Android Design Support LibrarySittiphol Phanvilai
 

Was ist angesagt? (20)

Being Epic: Best Practices for Android Development
Being Epic: Best Practices for Android DevelopmentBeing Epic: Best Practices for Android Development
Being Epic: Best Practices for Android Development
 
Invading the home screen
Invading the home screenInvading the home screen
Invading the home screen
 
Android in practice
Android in practiceAndroid in practice
Android in practice
 
How to create android push notifications with custom view
How to create android push notifications with custom viewHow to create android push notifications with custom view
How to create android push notifications with custom view
 
4.preference management
4.preference management 4.preference management
4.preference management
 
12. Android Basic Google Map
12. Android Basic Google Map12. Android Basic Google Map
12. Android Basic Google Map
 
Mobile Software Engineering Crash Course - C03 Android
Mobile Software Engineering Crash Course - C03 AndroidMobile Software Engineering Crash Course - C03 Android
Mobile Software Engineering Crash Course - C03 Android
 
Beginning Native Android Apps
Beginning Native Android AppsBeginning Native Android Apps
Beginning Native Android Apps
 
Support Design Library
Support Design LibrarySupport Design Library
Support Design Library
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011
 
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
 
Android accessibility for developers and QA
Android accessibility for developers and QAAndroid accessibility for developers and QA
Android accessibility for developers and QA
 
Android Widget
Android WidgetAndroid Widget
Android Widget
 
Sample APK Analysis 5 - 55688 (Driver Version)
Sample APK Analysis 5 - 55688 (Driver Version)Sample APK Analysis 5 - 55688 (Driver Version)
Sample APK Analysis 5 - 55688 (Driver Version)
 
Mean stack Magics
Mean stack MagicsMean stack Magics
Mean stack Magics
 
Android Workshop
Android WorkshopAndroid Workshop
Android Workshop
 
Sample APK Analysis 4 - 55688
Sample APK Analysis 4 - 55688Sample APK Analysis 4 - 55688
Sample APK Analysis 4 - 55688
 
Developing accessible android applications
Developing accessible android applicationsDeveloping accessible android applications
Developing accessible android applications
 
Android appwidget
Android appwidgetAndroid appwidget
Android appwidget
 
I/O Rewind 2015 : Android Design Support Library
I/O Rewind 2015 : Android Design Support LibraryI/O Rewind 2015 : Android Design Support Library
I/O Rewind 2015 : Android Design Support Library
 

Ähnlich wie I/O Rewind 215: What's new in Android

Обзор Android M
Обзор Android MОбзор Android M
Обзор Android MWOX APP
 
Android Marshmallow APIs and Changes
Android Marshmallow APIs and ChangesAndroid Marshmallow APIs and Changes
Android Marshmallow APIs and ChangesMalwinder Singh
 
Learn Xamarin Absolute Beginners - Permissions, Building the App GUI & Menus
Learn Xamarin Absolute Beginners - Permissions, Building the App GUI & MenusLearn Xamarin Absolute Beginners - Permissions, Building the App GUI & Menus
Learn Xamarin Absolute Beginners - Permissions, Building the App GUI & MenusEng Teong Cheah
 
Android app development basics
Android app development basicsAndroid app development basics
Android app development basicsAnton Narusberg
 
Lecture #1 Creating your first android project
Lecture #1  Creating your first android projectLecture #1  Creating your first android project
Lecture #1 Creating your first android projectVitali Pekelis
 
Native Android Development Practices
Native Android Development PracticesNative Android Development Practices
Native Android Development PracticesRoy Clarkson
 
How to Setup App Indexation
How to Setup App IndexationHow to Setup App Indexation
How to Setup App IndexationJustin Briggs
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Developmentsonichinmay
 
Fragments: Why, How, What For?
Fragments: Why, How, What For?Fragments: Why, How, What For?
Fragments: Why, How, What For?Brenda Cook
 
Little Opinions, Big Possibilities: The Tools and Patterns for Building Larg...
 Little Opinions, Big Possibilities: The Tools and Patterns for Building Larg... Little Opinions, Big Possibilities: The Tools and Patterns for Building Larg...
Little Opinions, Big Possibilities: The Tools and Patterns for Building Larg...Brian Mann
 
Android Workshop
Android WorkshopAndroid Workshop
Android WorkshopJunda Ong
 
WSO2 App Manager: Managing Application Lifecycles Across Your Enterprise
WSO2 App Manager: Managing Application Lifecycles Across Your EnterpriseWSO2 App Manager: Managing Application Lifecycles Across Your Enterprise
WSO2 App Manager: Managing Application Lifecycles Across Your EnterpriseWSO2
 
Mobile Application Development -Lecture 09 & 10.pdf
Mobile Application Development -Lecture 09 & 10.pdfMobile Application Development -Lecture 09 & 10.pdf
Mobile Application Development -Lecture 09 & 10.pdfAbdullahMunir32
 

Ähnlich wie I/O Rewind 215: What's new in Android (20)

Обзор Android M
Обзор Android MОбзор Android M
Обзор Android M
 
Android Marshmallow APIs and Changes
Android Marshmallow APIs and ChangesAndroid Marshmallow APIs and Changes
Android Marshmallow APIs and Changes
 
Learn Xamarin Absolute Beginners - Permissions, Building the App GUI & Menus
Learn Xamarin Absolute Beginners - Permissions, Building the App GUI & MenusLearn Xamarin Absolute Beginners - Permissions, Building the App GUI & Menus
Learn Xamarin Absolute Beginners - Permissions, Building the App GUI & Menus
 
Android app development basics
Android app development basicsAndroid app development basics
Android app development basics
 
Lecture #1 Creating your first android project
Lecture #1  Creating your first android projectLecture #1  Creating your first android project
Lecture #1 Creating your first android project
 
Native Android Development Practices
Native Android Development PracticesNative Android Development Practices
Native Android Development Practices
 
How to Setup App Indexation
How to Setup App IndexationHow to Setup App Indexation
How to Setup App Indexation
 
Android Development Basics
Android Development BasicsAndroid Development Basics
Android Development Basics
 
Deep linking
Deep linkingDeep linking
Deep linking
 
What's new in Android M
What's new in Android MWhat's new in Android M
What's new in Android M
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
 
Fragments: Why, How, What For?
Fragments: Why, How, What For?Fragments: Why, How, What For?
Fragments: Why, How, What For?
 
Little Opinions, Big Possibilities: The Tools and Patterns for Building Larg...
 Little Opinions, Big Possibilities: The Tools and Patterns for Building Larg... Little Opinions, Big Possibilities: The Tools and Patterns for Building Larg...
Little Opinions, Big Possibilities: The Tools and Patterns for Building Larg...
 
Android Workshop
Android WorkshopAndroid Workshop
Android Workshop
 
Android_ver_01
Android_ver_01Android_ver_01
Android_ver_01
 
App Deep Linking
App Deep LinkingApp Deep Linking
App Deep Linking
 
Android Froyo
Android FroyoAndroid Froyo
Android Froyo
 
Lesson 10
Lesson 10Lesson 10
Lesson 10
 
WSO2 App Manager: Managing Application Lifecycles Across Your Enterprise
WSO2 App Manager: Managing Application Lifecycles Across Your EnterpriseWSO2 App Manager: Managing Application Lifecycles Across Your Enterprise
WSO2 App Manager: Managing Application Lifecycles Across Your Enterprise
 
Mobile Application Development -Lecture 09 & 10.pdf
Mobile Application Development -Lecture 09 & 10.pdfMobile Application Development -Lecture 09 & 10.pdf
Mobile Application Development -Lecture 09 & 10.pdf
 

Mehr von Sittiphol Phanvilai

Smart Contract programming 101 with Solidity #PizzaHackathon
Smart Contract programming 101 with Solidity #PizzaHackathonSmart Contract programming 101 with Solidity #PizzaHackathon
Smart Contract programming 101 with Solidity #PizzaHackathonSittiphol Phanvilai
 
Firebase Dev Day Bangkok: Keynote
Firebase Dev Day Bangkok: KeynoteFirebase Dev Day Bangkok: Keynote
Firebase Dev Day Bangkok: KeynoteSittiphol Phanvilai
 
Introduction to Firebase [Google I/O Extended Bangkok 2016]
Introduction to Firebase [Google I/O Extended Bangkok 2016]Introduction to Firebase [Google I/O Extended Bangkok 2016]
Introduction to Firebase [Google I/O Extended Bangkok 2016]Sittiphol Phanvilai
 
What’s new in aNdroid [Google I/O Extended Bangkok 2016]
What’s new in aNdroid [Google I/O Extended Bangkok 2016]What’s new in aNdroid [Google I/O Extended Bangkok 2016]
What’s new in aNdroid [Google I/O Extended Bangkok 2016]Sittiphol Phanvilai
 
The way Tech World is heading to and how to survive in this fast moving world
The way Tech World is heading to and how to survive in this fast moving worldThe way Tech World is heading to and how to survive in this fast moving world
The way Tech World is heading to and how to survive in this fast moving worldSittiphol Phanvilai
 
Mobile Dev Talk #0 Keynote & Mobile Trend 2015
Mobile Dev Talk #0 Keynote & Mobile Trend 2015Mobile Dev Talk #0 Keynote & Mobile Trend 2015
Mobile Dev Talk #0 Keynote & Mobile Trend 2015Sittiphol Phanvilai
 
Mobile Market : Past Present Now and Then
Mobile Market : Past Present Now and ThenMobile Market : Past Present Now and Then
Mobile Market : Past Present Now and ThenSittiphol Phanvilai
 
How to deal with Fragmentation on Android
How to deal with Fragmentation on AndroidHow to deal with Fragmentation on Android
How to deal with Fragmentation on AndroidSittiphol Phanvilai
 
GTUG Bangkok 2011 Android Ecosystem Session
GTUG Bangkok 2011 Android Ecosystem SessionGTUG Bangkok 2011 Android Ecosystem Session
GTUG Bangkok 2011 Android Ecosystem SessionSittiphol Phanvilai
 

Mehr von Sittiphol Phanvilai (10)

Smart Contract programming 101 with Solidity #PizzaHackathon
Smart Contract programming 101 with Solidity #PizzaHackathonSmart Contract programming 101 with Solidity #PizzaHackathon
Smart Contract programming 101 with Solidity #PizzaHackathon
 
Firebase Dev Day Bangkok: Keynote
Firebase Dev Day Bangkok: KeynoteFirebase Dev Day Bangkok: Keynote
Firebase Dev Day Bangkok: Keynote
 
Introduction to Firebase [Google I/O Extended Bangkok 2016]
Introduction to Firebase [Google I/O Extended Bangkok 2016]Introduction to Firebase [Google I/O Extended Bangkok 2016]
Introduction to Firebase [Google I/O Extended Bangkok 2016]
 
What’s new in aNdroid [Google I/O Extended Bangkok 2016]
What’s new in aNdroid [Google I/O Extended Bangkok 2016]What’s new in aNdroid [Google I/O Extended Bangkok 2016]
What’s new in aNdroid [Google I/O Extended Bangkok 2016]
 
The way Tech World is heading to and how to survive in this fast moving world
The way Tech World is heading to and how to survive in this fast moving worldThe way Tech World is heading to and how to survive in this fast moving world
The way Tech World is heading to and how to survive in this fast moving world
 
Mobile Dev Talk #0 Keynote & Mobile Trend 2015
Mobile Dev Talk #0 Keynote & Mobile Trend 2015Mobile Dev Talk #0 Keynote & Mobile Trend 2015
Mobile Dev Talk #0 Keynote & Mobile Trend 2015
 
Tech World 2015
Tech World 2015Tech World 2015
Tech World 2015
 
Mobile Market : Past Present Now and Then
Mobile Market : Past Present Now and ThenMobile Market : Past Present Now and Then
Mobile Market : Past Present Now and Then
 
How to deal with Fragmentation on Android
How to deal with Fragmentation on AndroidHow to deal with Fragmentation on Android
How to deal with Fragmentation on Android
 
GTUG Bangkok 2011 Android Ecosystem Session
GTUG Bangkok 2011 Android Ecosystem SessionGTUG Bangkok 2011 Android Ecosystem Session
GTUG Bangkok 2011 Android Ecosystem Session
 

Kürzlich hochgeladen

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

I/O Rewind 215: What's new in Android