SlideShare una empresa de Scribd logo
1 de 53
Descargar para leer sin conexión
Layouts flexíveis
no Android
Douglas Drumond!
drumond.douglas@gmail.com

eee19.com
Eldorado
eee19.com
http://commons.wikimedia.org/wiki/File:20060513_toolbox.jpg

eee19.com
http://commons.wikimedia.org/wiki/File:Xubu_-_He_Xijing_01.jpg

Layouts flexíveis…
eee19.com
http://commons.wikimedia.org/wiki/File:Master_Tai_Chi.JPG

…em qualquer hw
eee19.com
Diversos aparelhos

http://commons.wikimedia.org/wiki/File:Motorola_Backflip_open.jpg

eee19.com
http://www.flickr.com/photos/samsungtomorrow/8469895522/in/photostream/

eee19.com
http://www.flickr.com/photos/samsungtomorrow/8201896844/

eee19.com
Resoluções e densidades
variadas
Nome

Diagonal

Resolução

PPI

Proporção

HTC Magic

3.2”

320x480

181

2:3

Nexus One

3.7”

480x800

252

3:5

Motorola RAZR

4.3”

960x540

256

16:9

Galaxy Note

5.3”

800x1280

285

16:10

Kindle Fire

7”

1024x600

169

16:9

Nexus 7

7”

1280x800

216

16:10

10.1”

1280x800

149

16:10

Galaxy Note 10.1

eee19.com
Relatividade

http://www.flickr.com/photos/thomasthomas/504369245/

eee19.com
Nada é absoluto
•
•

Tudo é relativo!
Proporção

eee19.com
dp

px = dp × (dpi ÷ 160)

eee19.com
vs

http://developer.android.com/guide/practices/screens_support.html

eee19.com
Como fazer?
•
•
•

<supports-screens>!
res/layout-*!
res/drawable-*

eee19.com
Densidade

http://developer.android.com/guide/practices/screens_support.html

eee19.com
Qualificadores
•
•
•
•

Tamanho!
Densidade!
Orientação!
Proporção (aspect ratio)

eee19.com
Qualificadores
•
•

smallestWidth: sw<N>dp (ex: sw600dp)!

•

Available screen height: h<N>dp (ex:
h720dp)

Available screen width: w<N>dp (ex:
w1024dp)!

eee19.com
Exemplos
•
•
•

res/layout/main_activity.xml!
res/layout-sw600dp/main_activity.xml!
res/layout-sw720dp/main_activity.xml

eee19.com
Fragments

http://developer.android.com/guide/components/fragments.html

eee19.com
Fragments
<?xml version="1.0" encoding="utf-8"?>!
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"!
    android:orientation="horizontal"!
    android:layout_width="match_parent"!
    android:layout_height="match_parent">!
    <fragment android:name="com.example.news.ArticleListFragment"!
 
 
 
 
 

 
 
 
 
 

        android:id="@+id/list"!
        android:layout_weight="1"!
        android:layout_width="0dp"!
        android:layout_height="match_parent" />!
<fragment android:name="com.example.news.ArticleReaderFragment"!

            android:id="@+id/viewer"!
            android:layout_weight="2"!
            android:layout_width="0dp"!
            android:layout_height="match_parent" />!
</LinearLayout>

eee19.com
Fragments
<?xml version="1.0" encoding="utf-8"?>!
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"!
    android:orientation="horizontal"!
    android:layout_width="match_parent"!
    android:layout_height="match_parent">!
    <fragment android:name="com.example.news.ArticleListFragment"!
            android:id="@+id/main"!
            android:layout_weight="1"!
            android:layout_width="0dp"!
            android:layout_height="match_parent" />!
</LinearLayout>

eee19.com
Fragments
if#(findViewById(R.id.main)#!=#null)#{#
# # # # # #
}#else#if#(findViewById(R.id.list)#!=#null)#{

}

eee19.com
Estudo de caso

www.monkeywriteapp.com

@chiuki

eee19.com
Tela do Hanzi

eee19.com
Divisão proporcional

eee19.com
layout_weight
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="horizontal" >
<View
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="1"
android:background="#c90" />
<View
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="2"
android:background="#630" />
</LinearLayout>

eee19.com
layout_weight
<View
android:layout_width="0dp"
android:layout_weight="1"
<View
android:layout_width="0dp"
android:layout_weight="2"

eee19.com
Tela do Hanzi

eee19.com
drawable/box.xml
<shape xmlns:android="http://schemas.android.com/apk/res/
android">
<corners android:radius="15dp" />
<gradient
android:startColor="#7000"
android:centerColor="#3000"
android:endColor="#7000"
android:angle="270" />
</shape>

eee19.com
Background
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/box"
/>

eee19.com
Altura remanescente
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>

eee19.com
Altura remanescente
<LinearLayout

...

<TextView
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>

eee19.com
Rolagem
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</ScrollView>

eee19.com
eee19.com
Weight sum
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="9">
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="5"
android:layout_gravity="center" />
</LinearLayout>

eee19.com
E a altura?
ideogramas chineses são quadrados

eee19.com
Custom view

•

onMeasure()

eee19.com
SquareView
public class SquareView extends View {
// Constructors omitted

!
public void onMeasure(
int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int size = Math.min(getMeasuredWidth(), getMeasuredHeight());
setMeasuredDimension(size, size);
}
}

eee19.com
eee19.com
7” (Kindle Fire)

eee19.com
10”

eee19.com
Auto-fit columns
<GridView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="auto_fit"
android:padding="@dimen/workbook_padding"
android:horizontalSpacing="@dimen/workbook_spacing"
android:verticalSpacing="@dimen/workbook_spacing"
android:columnWidth="@dimen/workbook_column_width"
android:scrollbarStyle="outsideOverlay" />

eee19.com
res/values/dimens.xml
<resources>
<dimen name="workbook_spacing">13dp</dimen>
<dimen name="workbook_column_width">120dp</dimen>
<resources>

eee19.com
10”

eee19.com
7”

eee19.com
Telefones?
•
•

Tela pequena!
Retrato vs paisagem

eee19.com
Layout paisagem

eee19.com
Uma orientação
public static boolean isLargeScreen(Activity activity) {
DisplayMetrics metrics
= activity.getResources().getDisplayMetrics();
int longSize = Math.max(metrics.widthPixels, metrics.heightPixels);
return (longSize / metrics.density > 960);
}
public static int getPreferredScreenOrientation(Activity activity) {
return isLargeScreen(activity) ?
ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE :
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
}

// In activity
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(Util.getPreferredScreenOrientation(this));
}

eee19.com
Sem sensor de
orientação
<!-- AndroidManifest.xml -->
<activity
android:name=".CharacterActivity"
android:screenOrientation="nosensor" />

eee19.com
Caixa de ferramentas
para layouts flexíveis
•
•

RelativeLayout!
Proportional width and
height!

•
•

Allow scrolling!

•

•
•
•
•

9-patch!
Background tiles!
DisplayMetrics!

Shape xml!

Resource folders
(orientation, size,
density)!

Custom view

eee19.com
Guia

•

http://developer.android.com/guide/
practices/screens_support.html

eee19.com
Obrigado
•
•
•

Twitter/ADN @douglasdrumond!
eee19.com!
gplus.to/douglasdrumond

www.monkeywriteapp.com

@chiuki
eee19.com

Más contenido relacionado

Similar a [DevCamp] Layouts Flexíveis no Android – 2013

Designing for diversity - how to stop worrying and embrace the Android revol...
Designing for diversity -  how to stop worrying and embrace the Android revol...Designing for diversity -  how to stop worrying and embrace the Android revol...
Designing for diversity - how to stop worrying and embrace the Android revol...yiibu
 
Affinity Talk2008 Bestpractice
Affinity Talk2008 BestpracticeAffinity Talk2008 Bestpractice
Affinity Talk2008 Bestpracticemartinip
 
Play withmultimedia mac
Play withmultimedia macPlay withmultimedia mac
Play withmultimedia macMaso Lin
 
Mozilla & Mobile
Mozilla & MobileMozilla & Mobile
Mozilla & Mobiledynamis
 
Tools For Creating Wow Experiences In Flex
Tools For Creating Wow Experiences In FlexTools For Creating Wow Experiences In Flex
Tools For Creating Wow Experiences In FlexPek Pongpaet
 
Picking Realistic Secrets In motorola
Picking Realistic Secrets In motorolaPicking Realistic Secrets In motorola
Picking Realistic Secrets In motorolaformolinekaufen02
 
Adapting to Input — Smashing Conference NYC
Adapting to Input — Smashing Conference NYCAdapting to Input — Smashing Conference NYC
Adapting to Input — Smashing Conference NYCJason Grigsby
 
Proposta de trabalho Multimédia 02
Proposta de trabalho Multimédia 02Proposta de trabalho Multimédia 02
Proposta de trabalho Multimédia 02Leonardo Pereira
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phonesLloyd Diatre
 
James Forshaw, elevator action
James Forshaw, elevator actionJames Forshaw, elevator action
James Forshaw, elevator actionPacSecJP
 

Similar a [DevCamp] Layouts Flexíveis no Android – 2013 (12)

Designing for diversity - how to stop worrying and embrace the Android revol...
Designing for diversity -  how to stop worrying and embrace the Android revol...Designing for diversity -  how to stop worrying and embrace the Android revol...
Designing for diversity - how to stop worrying and embrace the Android revol...
 
Affinity Talk2008 Bestpractice
Affinity Talk2008 BestpracticeAffinity Talk2008 Bestpractice
Affinity Talk2008 Bestpractice
 
Ubuntu Under Android
Ubuntu Under AndroidUbuntu Under Android
Ubuntu Under Android
 
Play withmultimedia mac
Play withmultimedia macPlay withmultimedia mac
Play withmultimedia mac
 
Mozilla & Mobile
Mozilla & MobileMozilla & Mobile
Mozilla & Mobile
 
Tools For Creating Wow Experiences In Flex
Tools For Creating Wow Experiences In FlexTools For Creating Wow Experiences In Flex
Tools For Creating Wow Experiences In Flex
 
Picking Realistic Secrets In motorola
Picking Realistic Secrets In motorolaPicking Realistic Secrets In motorola
Picking Realistic Secrets In motorola
 
Adapting to Input — Smashing Conference NYC
Adapting to Input — Smashing Conference NYCAdapting to Input — Smashing Conference NYC
Adapting to Input — Smashing Conference NYC
 
Proposta de trabalho Multimédia 02
Proposta de trabalho Multimédia 02Proposta de trabalho Multimédia 02
Proposta de trabalho Multimédia 02
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phones
 
James Forshaw, elevator action
James Forshaw, elevator actionJames Forshaw, elevator action
James Forshaw, elevator action
 
The Immobile Web
The Immobile WebThe Immobile Web
The Immobile Web
 

Más de Douglas Drumond

Android Wear – IO Extended
Android Wear – IO ExtendedAndroid Wear – IO Extended
Android Wear – IO ExtendedDouglas Drumond
 
[MobCamp 2014] Android Wear and Google Glass
[MobCamp 2014] Android Wear and Google Glass[MobCamp 2014] Android Wear and Google Glass
[MobCamp 2014] Android Wear and Google GlassDouglas Drumond
 
[DevCamp 2014] Melhorando a Usabilidade com Animações
[DevCamp 2014] Melhorando a Usabilidade com Animações[DevCamp 2014] Melhorando a Usabilidade com Animações
[DevCamp 2014] Melhorando a Usabilidade com AnimaçõesDouglas Drumond
 
[DevCamp 2014] Melhorando a usabilidade com animações
[DevCamp 2014] Melhorando a usabilidade com animações[DevCamp 2014] Melhorando a usabilidade com animações
[DevCamp 2014] Melhorando a usabilidade com animaçõesDouglas Drumond
 
[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013
[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013
[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013Douglas Drumond
 
[Faat] android faixa branca – 2012
[Faat] android faixa branca – 2012[Faat] android faixa branca – 2012
[Faat] android faixa branca – 2012Douglas Drumond
 
[Android devcamp] Android Bootcamp – 2012
[Android devcamp] Android Bootcamp – 2012[Android devcamp] Android Bootcamp – 2012
[Android devcamp] Android Bootcamp – 2012Douglas Drumond
 

Más de Douglas Drumond (8)

Android Wear – IO Extended
Android Wear – IO ExtendedAndroid Wear – IO Extended
Android Wear – IO Extended
 
Android wear (coding)
Android wear (coding)Android wear (coding)
Android wear (coding)
 
[MobCamp 2014] Android Wear and Google Glass
[MobCamp 2014] Android Wear and Google Glass[MobCamp 2014] Android Wear and Google Glass
[MobCamp 2014] Android Wear and Google Glass
 
[DevCamp 2014] Melhorando a Usabilidade com Animações
[DevCamp 2014] Melhorando a Usabilidade com Animações[DevCamp 2014] Melhorando a Usabilidade com Animações
[DevCamp 2014] Melhorando a Usabilidade com Animações
 
[DevCamp 2014] Melhorando a usabilidade com animações
[DevCamp 2014] Melhorando a usabilidade com animações[DevCamp 2014] Melhorando a usabilidade com animações
[DevCamp 2014] Melhorando a usabilidade com animações
 
[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013
[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013
[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013
 
[Faat] android faixa branca – 2012
[Faat] android faixa branca – 2012[Faat] android faixa branca – 2012
[Faat] android faixa branca – 2012
 
[Android devcamp] Android Bootcamp – 2012
[Android devcamp] Android Bootcamp – 2012[Android devcamp] Android Bootcamp – 2012
[Android devcamp] Android Bootcamp – 2012
 

Último

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Último (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 

[DevCamp] Layouts Flexíveis no Android – 2013