Android Lollipop 
Overview
Silas Monteiro Limeira 
● Engenharia da Computação; 
● Entusiasta Tecnológico; 
● Organizer GDG; 
● Prêmios: 
○ Space Apps Challenge NASA 2013; 
○ Chrome Apps Challenge GDG-SP; 
○ Startup Jam World 2013;
O que é um GDG?
O que é um GDG? 
Google Developer Groups (GDGs) are 
for developers who are interested in 
Google's developer technology; 
everything from the Android, Chrome, 
Drive, and Google Cloud platforms, to 
product APIs like the Cast API, Maps 
API, and YouTube API.
Android 5.0
Support Devices 
Fonte: gizmodo.uol.com.br/fabricantes-atualizar-lollipop/ 20 de Outubro de 2014.
MATERIAL DESIGN 
google.com/design/spec/material-design
Animações
Inbox
Lock-Screen
Lock-Screen
Notificações Heads-up
Smart-Lock
Tela Fixada
Conta de Usuários
Android Beam NFC
Projeto Volta 
36% mais autonomia 
segundo o site Ars 
Technica.
Projeto Volta
WebView 
● + Segurança; 
● + Estabilidade 
● Suporte: 
○ WebRTC; 
○ WebAudio; 
○ WebGL;
Novas Features 
● Smart Lock; 
● Perfis de Usuário (SHOW); 
● Screem Sharing; 
● Aúdio de baixa latência; 
● Easter Egg;
Além de Smartphones 
Android TV; 
Android Auto; 
Android Wear;
Android TV;
Android Auto
Android Wear
#androidwear
#androidwear
#androidwear
#androidwear
#androidwear
#androidwear
Regra dos 5s
você fala para o 
dispositivo
ações
ações
dispositivo 
fala para você 
ações
ações 
contexto
ações 
contexto
Executado automaticamente
Conciso
Se adapta ao contexto
Nenhuma ou baixa interação
Notificações Aplicativos
Notificações
SEM 
RETRABALHO
SEM 
RETRABALHO!
Pilhas Páginas Respostas
Notificações
Aplicativos
Enviar dados UI Personalizada Ações por Voz
Google Play Services
Nó 
Mensagem 
Dados 
Trocas de Dados
Método 
PendingResult<GetConnectedNodesResult> 
getConnectedNodes(GoogleApiClient); 
client); 
Listener 
public interface NodeListener { 
void onPeerConnected(Node peer); 
void onPeerDisconnected(Node peer); 
} 
Node 
API de Nó
API de Mensagens 
Método 
PendingResult<SendMessageResult> 
sendMessage(GoogleApiClient client, String nodeId, String action, byte[] data); 
Listener 
public interface MessageListener { 
void onMessageReceived(MessageEvent messageEvent); 
} 
Message
API de Dados 
Métodos 
PendingResult<DataItemResult> 
putDataItem(GoogleApiClient client, PutDataRequest 
request); 
PendingResult<DataItemResult> 
getDataItem(GoogleApiClient client, Uri uri); 
Listener 
public interface DataListener { 
void onDataChanged(DataEventBuffer dataEvents); 
} 
Data
Enviar dados UI Personalizada Ações por Voz
developers.android.com/design
Biblioteca Wearable 
build.gradle 
dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
compile 'com.google.android.support:wearable:+' 
compile 'com.google.android.gms:play-services-wearable:+' 
}
Classes Wearables 
● BoxInsetLayout 
● Card Fragment 
● CircledImageView 
● ConfirmationActivity 
● DismissOverlayView 
● GridViewPager 
● GridPagerAdapter 
● FragmentGridPagerAdapter 
● WatchViewStub
● BoxInsetLayout 
● Card Fragment 
● CircledImageView 
● ConfirmationActivity 
● DismissOverlayView 
● GridViewPager 
● GridPagerAdapter 
● FragmentGridPagerAdapter 
● WatchViewStub 
Toques Longos para 
Cancelar
● BoxInsetLayout 
● Card Fragment 
● CircledImageView 
● ConfirmationActivity 
● DismissOverlayView 
● GridViewPager 
● GridPagerAdapter 
● FragmentGridPagerAdapter 
● WatchViewStub 
Layout Especifico
● BoxInsetLayout 
● Card Fragment 
● CircledImageView 
● ConfirmationActivity 
● DismissOverlayView 
● GridViewPager 
● GridPagerAdapter 
● FragmentGridPagerAdapter 
● WatchViewStub 
Formato de Tela
Enviar dados UI Personalizada Ações por Voz
Registrando uma ação de voz do sistema 
<activity android:name="MyNoteActivity"> 
<intent-filter> 
<action android:name="android.intent.action.SEND" /> 
<category android:name="com.google.android.voicesearch.SELF_NOTE" /> 
</intent-filter> 
</activity>
● Chamar um carro/táxi 
● Tomar uma nota 
● Definir um alarme 
● Iniciar cronômetro 
● Iniciar/Parar uma pedalada 
● Iniciar/Parar uma corrida 
● Iniciar/Parar um treino 
● Mostrar frequência cardíaca 
● Mostrar meus passos 
Comandos atuais
Iniciando um aplicativo por comando de voz 
<activity android:name="StartRunActivity" android:label="MyRunningApp"> 
<intent-filter> 
<action android:name="android.intent.action.MAIN" /> 
<category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 
</activity>
Reconhecimento de fala 
private void displaySpeechRecognizer() { 
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, 
RecognizerIntent. 
LANGUAGE_MODEL_FREE_FORM); 
startActivityForResult(intent, SPEECH_REQUEST_CODE); 
}
Notificações Apps
Próximos Passos 
Primeiros passos com Android Wear 
developer.android.com/wear 
Design para Android Wear 
developer.android.com/design/wear
OBRIGADO! 
Twitter: @silasid 
G+: +SILASMONTEIRO 
Email: contato@silaslimeira.com 
http://gdgjp.org.br/
http://gdgjp.org.br/

Android Lollipop e Android Wear