Olá povo,
O CESAR.EDU está com um projeto chamado TechVideo que tem o objetivo de disseminar o conhecimento técnico da instituição com a comunidade. Com isso, você ficará por dentro dos assuntos mais atuais do mercado com os professores do CESAR.EDU que também são colaboradores do C.E.S.A.R..
O primeiro vídeo foi comigo, e o assunto é "Android Wear", o sistema operacional do Google para dispositivos "vestíveis".
Quem não viu meus outros posts sobre o Android Wear, pode clicar aqui, aqui e aqui.
4br4ç05,
nglauber
terça-feira, 12 de agosto de 2014
sexta-feira, 11 de julho de 2014
Android Wear - Apps
Olá povo,
Nesse terceiro post da série sobre Android Wear, vou mostrar como criar aplicativos específicos para smartwatches. Se você perdeu os dois primeiros posts, leia aqui e aqui.
Crie um novo projeto no Android Studio e após informar o nome e o pacote, clique em Next. Será exibida a tela a seguir, onde você deve selecionar o checkbox "Wear". Depois, clique em Next.
Na próxima tela do assistente, temos a opção de criar uma nova Activity, marque a opção Blank Wear Activity e clique em Next.
Dê um nome à sua Activity e o arquivo de layout que apontará para outros dois arquivos de layout: um para relógios redondos (como o Moto 360) e outro para relógios quadrados (como o Samsung Gear Live).
Clique em Finish e o nosso projeto Android Wear estará criado. Percebam que na pasta res/layout foram criados três arquivos: activity_my.xml, rect_activity_main.xml, round_activity_my.xml. O primeiro é listado abaixo:
Nosso exemplo será bem simples, clicaremos em um botão e ativaremos o reconhecimento de voz do wear. Poderemos falar (e no caso do emulador, digitar) e o texto que for reconhecido será exibido em um TextView. Para tal, abra o arquivo res/layout/rect_activity_my.xml e deixe-o como abaixo.
Ao clicarmos no botão, iniciamos a Activity de reconhecimento de fala e no onActivityResult, pegamos a lista dos resultados do que foi dito, pegamos o primeiro item da lista e exibimos no TextView. Execute a aplicação e veja o resultado.
Não achei uma forma fácil de excluir uma aplicação no relógio, sendo assim você pode usar o comando adb no terminal.
Para saber o serial do dispositivo é só utilizar o comando
Qualquer dúvida, deixem seus comentários.
4br4ç05,
nglauber
Fonte: http://developer.android.com/training/wearables/apps/index.html
Nesse terceiro post da série sobre Android Wear, vou mostrar como criar aplicativos específicos para smartwatches. Se você perdeu os dois primeiros posts, leia aqui e aqui.
Crie um novo projeto no Android Studio e após informar o nome e o pacote, clique em Next. Será exibida a tela a seguir, onde você deve selecionar o checkbox "Wear". Depois, clique em Next.
Na próxima tela do assistente, temos a opção de criar uma nova Activity, marque a opção Blank Wear Activity e clique em Next.
Dê um nome à sua Activity e o arquivo de layout que apontará para outros dois arquivos de layout: um para relógios redondos (como o Moto 360) e outro para relógios quadrados (como o Samsung Gear Live).
Clique em Finish e o nosso projeto Android Wear estará criado. Percebam que na pasta res/layout foram criados três arquivos: activity_my.xml, rect_activity_main.xml, round_activity_my.xml. O primeiro é listado abaixo:
<android.support.wearable.view.WatchViewStub
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/watch_view_stub"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:rectLayout="@layout/rect_activity_my"
app:roundLayout="@layout/round_activity_my"
tools:context=".MyActivity"
tools:deviceIds="wear"/>
Notem que o conteúdo desse arquivo é apenas uma WatchViewStub que aponta para o @layout/rect_activity_my quando o werable for quadrado e @layout/round_activity_my para telas redondas.
Nosso exemplo será bem simples, clicaremos em um botão e ativaremos o reconhecimento de voz do wear. Poderemos falar (e no caso do emulador, digitar) e o texto que for reconhecido será exibido em um TextView. Para tal, abra o arquivo res/layout/rect_activity_my.xml e deixe-o como abaixo.
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MyActivity"
tools:deviceIds="wear_square"
android:gravity="center">
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_square" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:src="@android:drawable/ic_btn_speak_now"/>
</LinearLayout>
Não temos nada de mais nesse arquivo... Então vamos ver como ficará a Activity.
public class MyActivity extends Activity
implements
View.OnClickListener,
WatchViewStub.OnLayoutInflatedListener {
private TextView mTextView;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
WatchViewStub stub = (WatchViewStub)
findViewById(R.id.watch_view_stub);
stub.setOnLayoutInflatedListener(this);
}
@Override
public void onLayoutInflated(WatchViewStub stub) {
mTextView = (TextView)
stub.findViewById(R.id.text);
stub.findViewById(R.id.button)
.setOnClickListener(MyActivity.this);
}
@Override
public void onClick(View view) {
Intent intent = new Intent(
RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(
RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
startActivityForResult(
intent, 1 /* Request code */);
}
@Override
protected void onActivityResult(int requestCode,
int resultCode, Intent data) {
super.onActivityResult(
requestCode, resultCode, data);
if (requestCode == 1
&& resultCode == RESULT_OK) {
List<String> results =
data.getStringArrayListExtra(
RecognizerIntent.EXTRA_RESULTS);
String spokenText = results.get(0);
mTextView.setText(spokenText);
}
}
}
No onCreate pegamos a referência do WatchViewStub e setamos o listener para sermos notificados quando o arquivo de layout for carregado com o método setOnInflaterListener. Para isso, nossa Activity implementa a interface WatchViewStub.OnLayoutInflatedListener e consequentemente seu método onLayoutInflated. Nele, inicializamos o TextView e setamos o evento de clique do botão.Ao clicarmos no botão, iniciamos a Activity de reconhecimento de fala e no onActivityResult, pegamos a lista dos resultados do que foi dito, pegamos o primeiro item da lista e exibimos no TextView. Execute a aplicação e veja o resultado.
Não achei uma forma fácil de excluir uma aplicação no relógio, sendo assim você pode usar o comando adb no terminal.
adb shell pm uninstall -k pacote.da.sua.app
Se você estiver com mais de um device conectado, pode usar a opção -s.
adb -s SERIAL shell pm uninstall -k pacote.da.sua.app
Para saber o serial do dispositivo é só utilizar o comando
adb devices
Qualquer dúvida, deixem seus comentários.
4br4ç05,
nglauber
Fonte: http://developer.android.com/training/wearables/apps/index.html
terça-feira, 8 de julho de 2014
Android Wear - Notifications
Olá povo,
No post anterior, falamos de como configurar o ambiente para iniciar um emulador do Android Wear e como conecta-lo ao smartphone/tablet. Também vimos que as notificações disparadas nos handhelds (smatphones/tablets) ficam sincronizadas no smartwatch. Nesse post vou mostrar como se comportam as notificações nos Android Wear.
Crie um novo projeto no Android Studio 0.8 (ou superior), defina o nome do projeto e seu respectivo pacote e clique em Next. A janela abaixo será exibida, então marque apenas a opção "Phone and Tablet" (spoiler: o próximo post será sobre apps exclusivas para wearables).
Adicione uma Activity em branco ao projeto e conclua o assistente.
Nosso projeto será simples, terá uma Activity principal e outra (DetalheActivity) que receberá uma mensagem vinda do relógio. Na MainActivity, adicione os dois métodos abaixo que usaremos mais adiante.
Como podemos ver, não fizemos nada de especial do wear, então se você já fez seu aplicativo com notificações, elas estarão integradas com o wearable automaticamente (se eles estiverem pareados, óbvio). Outra coisa que podemos fazer em handhelds e que é ótimo nos relógios são as ações. Vamos ver como adicionar uma...
Ao clicarmos nessa ação, o aplicativos de mapa (Google Maps ou Waze, por exemplo) será iniciado no smartphone/tablet. Esse exemplo também não usa nada especial do Android Wear :(
Então vou deixar de enrolação e mostrar algo que só funcione no wear: responder uma notificação a partir do relógio como é feito no Gmail.
Ao clicarmos na ação, a tela do comando de voz será exibida, então podemos falar nossa resposta (ou digitar se você estiver usando o emulador).
Como podemos observar, disparamos uma Intent para DetalheActivity (que você deve criar), e nela podemos capturar o texto falado no relógio utilizando o código abaixo.
Mas além de ações, podemos adicionar páginas que podem ser visualizadas fazendo o swipe para esquerda.


Assim, podemos ter um conteúdo maior na notificação utilizando páginas.
É isso aí povo. Nós como desenvolvedores agora temos que pensar que as notificações disparadas no seu aparelho também aparecerão nos smartwatches. Então não perca a oportunidade de fazer sua aplicação funcionar bem também nos relógios com Android Wear.
Qualquer dúvida, deixem seus comentários.
4br4ç05,
nglauber
Fonte: http://developer.android.com/training/wearables/notifications/index.html
No post anterior, falamos de como configurar o ambiente para iniciar um emulador do Android Wear e como conecta-lo ao smartphone/tablet. Também vimos que as notificações disparadas nos handhelds (smatphones/tablets) ficam sincronizadas no smartwatch. Nesse post vou mostrar como se comportam as notificações nos Android Wear.
Crie um novo projeto no Android Studio 0.8 (ou superior), defina o nome do projeto e seu respectivo pacote e clique em Next. A janela abaixo será exibida, então marque apenas a opção "Phone and Tablet" (spoiler: o próximo post será sobre apps exclusivas para wearables).
Adicione uma Activity em branco ao projeto e conclua o assistente.
Nosso projeto será simples, terá uma Activity principal e outra (DetalheActivity) que receberá uma mensagem vinda do relógio. Na MainActivity, adicione os dois métodos abaixo que usaremos mais adiante.
private NotificationCompat.Builder
criarNotificacao(String title, String text) {
return new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_like)
.setContentTitle(title)
.setContentText(text)
.setAutoCancel(true)
.setDefaults(NotificationCompat.DEFAULT_ALL);
}
private void dispararNotificacao(
Notification notification, int id) {
NotificationManagerCompat notificationManager =
NotificationManagerCompat.from(this);
notificationManager.notify(id, notification);
}
Nada especial nesses dois métodos. O primeiro cria objeto NotificationCompat.Builder que constrói uma notificação com as propriedades mais comuns: título, texto, ícone, cor do led, som e vibração padrão (isso é feito na chamada ao setDefaults). O segundo dispara a notificação usando a classe NotificationManagerCompat. Mas o importante aqui é que essa classe está na versão 20 da API de compatibilidade, então certifique-se de que no seu arquivo build.gradle esteja com o appcompat-v7:20. Outra detalhe é que se você não estiver rodando no emulador do Android L, use o compileSdkVersion com o valor 'android-19' conforme abaixo.apply plugin: 'com.android.application'
android {
compileSdkVersion 'android-19'
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "nglauber.android.testewear"
minSdkVersion 10
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:20.+'
}
Então se dispararmos uma notificação simples podemos utilizar o método abaixo.private void notificacaoSimples() {
Intent viewIntent =
new Intent(this, MyActivity.class);
PendingIntent viewPendingIntent =
PendingIntent.getActivity(
this, 0, viewIntent, 0);
NotificationCompat.Builder notificationBuilder =
criarNotificacao("Título", "Texto")
.setContentIntent(viewPendingIntent);
dispararNotificacao(
notificationBuilder.build(), 1);
}
A notificação aparecerá no handheld e no relógio que ficará como abaixo.Como podemos ver, não fizemos nada de especial do wear, então se você já fez seu aplicativo com notificações, elas estarão integradas com o wearable automaticamente (se eles estiverem pareados, óbvio). Outra coisa que podemos fazer em handhelds e que é ótimo nos relógios são as ações. Vamos ver como adicionar uma...
private void notificacaoComAcao() {
Intent mapIntent = new Intent(Intent.ACTION_VIEW);
Uri geoUri = Uri.parse(
"geo:0,0?q=" + Uri.encode("Av.Caxangá"));
mapIntent.setData(geoUri);
PendingIntent mapPendingIntent =
PendingIntent.getActivity(
this, 0, mapIntent, 0);
NotificationCompat.Builder notificationBuilder =
criarNotificacao("Localização", "Av. Caxangá")
.setContentIntent(mapPendingIntent)
.addAction(R.drawable.ic_map,
"Abrir mapa", mapPendingIntent);
dispararNotificacao(
notificationBuilder.build(), 1);
}
Uma notificação similar a anterior será exibida no relógio, mas se fizermos o swipe para esquerda, veremos essa ação.
Ao clicarmos nessa ação, o aplicativos de mapa (Google Maps ou Waze, por exemplo) será iniciado no smartphone/tablet. Esse exemplo também não usa nada especial do Android Wear :(
Então vou deixar de enrolação e mostrar algo que só funcione no wear: responder uma notificação a partir do relógio como é feito no Gmail.
private void notificacaoComResposta() {
RemoteInput remoteInput = new RemoteInput.Builder(
DetalheActivity.EXTRA_VOICE_REPLY)
.setLabel("Diga a resposta")
.build();
Intent replyIntent = new Intent(
this, DetalheActivity.class);
PendingIntent replyPendingIntent =
PendingIntent.getActivity(
this, 0, replyIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Action action =
new NotificationCompat.Action.Builder(
R.drawable.ic_reply, "Responder",
replyPendingIntent)
.addRemoteInput(remoteInput)
.build();
NotificationCompat.WearableExtender nwe =
new NotificationCompat.WearableExtender();
Notification notification =
criarNotificacao(
"Título", "Passe a página p/ responder")
.extend(nwe.addAction(action))
.build();
dispararNotificacao(notification, 1);
}
Quando a notificação for disparada, ao deslizar para a esquerda, teremos a ação de responder.
Ao clicarmos na ação, a tela do comando de voz será exibida, então podemos falar nossa resposta (ou digitar se você estiver usando o emulador).
Como podemos observar, disparamos uma Intent para DetalheActivity (que você deve criar), e nela podemos capturar o texto falado no relógio utilizando o código abaixo.
private CharSequence obterTextoFalado(Intent intent) {
Bundle remoteInput = RemoteInput
.getResultsFromIntent(intent);
if (remoteInput != null) {
return remoteInput
.getCharSequence(EXTRA_VOICE_REPLY);
}
return null;
}
Muito simples não? Espero que todos os aplicativos de troca de mensagens (como WhatsApp) implementem isso, pois é muito legal! :)
Mas além de ações, podemos adicionar páginas que podem ser visualizadas fazendo o swipe para esquerda.
private void notificacaoComPaginas() {
Intent viewIntent = new Intent(
this, MyActivity.class);
PendingIntent viewPendingIntent =
PendingIntent.getActivity(
this, 0, viewIntent, 0);
NotificationCompat.Builder nb =
criarNotificacao("Título", "Página1")
.setContentIntent(viewPendingIntent);
NotificationCompat.BigTextStyle pagesStyle =
new NotificationCompat.BigTextStyle()
.setBigContentTitle("Página 2")
.bigText("Um monte de texto aqui...");
Notification secondPageNotification =
new NotificationCompat.Builder(this)
.setStyle(secondPageStyle)
.build();
Notification twoPageNotification =
new NotificationCompat.WearableExtender()
.addPage(pagesStyle)
.extend(nb)
.build();
dispararNotificacao(
twoPageNotification, 1);
}


Assim, podemos ter um conteúdo maior na notificação utilizando páginas.
É isso aí povo. Nós como desenvolvedores agora temos que pensar que as notificações disparadas no seu aparelho também aparecerão nos smartwatches. Então não perca a oportunidade de fazer sua aplicação funcionar bem também nos relógios com Android Wear.
Qualquer dúvida, deixem seus comentários.
4br4ç05,
nglauber
Fonte: http://developer.android.com/training/wearables/notifications/index.html
sábado, 5 de julho de 2014
Android Wear
Olá povo,
No Google I/O 2014, um dos principais destaques foi o Android Wear, versão do Android focada em "dispositivos vestíveis", em especial os smartwatches, ou relógios inteligentes. Cada participante ganhou um e poderia optar por um dos dois modelos: o Samsung Gear Live ou o LG G watch. Optei pelo da Samsung devido ao tamanho da tela um pouco maior que o da LG, mesmo sabendo que a bateria durava um pouco menos. Após uma semana de uso, estou satisfeito com o "brinquedinho".
Uma coisa muito bacana de usar o relógio é que ele fica sincronizado com o seu smartphone/tablet, dessa forma toda notificação disparada aparece em ambos os devices. Assim, quando uma notificação é removida do relógio (fazendo o swipe para direita) ela é removida do smartphone/tablet e vice-versa.
Mas não é porque você não tem o relógio que você não pode brincar com o Android Wear. Nesse post vou mostrar como configurar o ambiente para começarmos a brincar os relógios Android.
O que precisaremos?
1) Inicialmente necessitamos da atualização do Google Play Services 5, Google Search e do aplicativo do Android Wear no seu aparelho.
2)
3) Precisaremos também do Android Studio 0.8.1 para criar nossos aplicativos wearable. Ele disponível nesse link.
4) Quando tudo estiver pronto, abra o AVD Manager e crie um novo AVD. Conforme podemos observar na figura abaixo, no campo Device temos a opção Android Wear Square e Android Wear Round que representam a tela do relógio que pode ser quadrada ou redonda respectivamente. O comando de voz presente no dispositivo real não está disponível no emulador, então devemos deixar o campo "Hardware keyboard present" habilitado. Preencha os demais campos conforme a figura e depois clique em Ok.
5) Configurado o emulador, mande executar e você deve ter algo como a figura abaixo.
6) Agora abra o terminal e digite o seguinte comando na pasta ANDROID_SDK/platform-tools.
adb -d forward tcp:5601 tcp:5601
Esse comando deve ser feito para permitir a conexão entre o seu smartphone/tablet e o emulador do wear.
7) Agora abra o aplicativo do Android Wear, clique no menu e selecione a opção Parear com novo wearable.
Será exibida uma tela similar a abaixo. Clique em Next (seta azul) para continuar.
Clique na engrenagem e selecione "Parear com emulador".
Se tudo correr bem, aparecerá a tela inicial com o título "Emulador Conectado".
Um teste simples
Apenas para confirmar se está tudo funcionando, vou mandar um email para mim mesmo. Isso fará com que uma notificação seja disparada no smartphone/tablet. Se estiver tudo ok, a mensagem também chegará no emulador. Conforme podemos ver na imagem abaixo.
Ao tocar na notificação ela ocupará a tela toda e poderemos vê-la melhor, inclusive podendo fazer scroll. Ao deslizar para a esquerda, podemos ver mais opções como excluir, responder e abrir no smartphone.
Se escolhermos a opção "Responder", podemos enviar um email de resposta apenas falando o seu conteúdo. Ao selecionarmos essa opção a tela abaixo será exibida.
No emulador, temos que digitar o texto de resposta, mas no relógio real, apenas falamos, o reconhecimento de voz é feito e o email será enviado.
No próximo post vou mostrar como fazer isso na sua aplicação! \o/
Qualquer dúvida, deixem seus comentários.
4br4ç05,
nglauber
Fonte: http://developer.android.com/training/wearables/apps/creating.html
segunda-feira, 30 de junho de 2014
Google I/O 2014
Olá povo,
No último dia 21/06 viajei para San Francisco para o meu primeiro Google I/O, conferência anual do Google. O evento aconteceu nos dias 25 e 26/06, e nesse post vou contar um pouquinho de como foi a viagem, pois todas as palestras podem ser vistas aqui ;)
Peguei um vôo da American Airlines de Recife para Miami (6 horas), e de Miami para San Francisco (mais 6 horas). Chegando em SF, fui recepcionado pelos meus estimados colegas Neto Marin e José Papo, que me levaram para conhecer o Pier 39, um ponto turístico da cidade.
Almoçamos por lá e depois demos uma volta pela cidade de carro. Depois eles me deixaram na casa onde fiquei hospedado (ótima por sinal) que fica a 15 minutos do centro. Dividi a casa com mais dois colegas: Alexandre Tarifa e Paulo Fernandes.
Na segunda-feira (23/06), fomos conhecer o Google, e foi simplesmente fantástico com vários prédios bacanas pra caramba. Mas minha principal meta era: tirar fotos no prédio onde ficam as estátuas do Android. Missão cumprida! :)
Assisti a vitória da seleção brasileira por 4x1 sobre Camarões no refeitório do Google, onde tinham vários brasileiros torcendo pela nossa seleção. Foi massa! :) Em seguida conheci outros prédios do Google Plex.
Lá dentro tem uma loja que vende camisas, bonecos, casacos com estampas das coisas do Google. Aí lascou! Comprei um monte :)
Depois do passeio no Google, fui conhecer um pouquinho do centro de SF. Uma coisa curiosa (e boa ao meu ver) é que as 20:00 ainda está claro, só começa a escurecer entre 20:30 e 21:00 :)
Jantei na Cheesecake Factory (infelizmente Penny não trabalha lá) e além de a comida ser excelente (e não tão cara) a vista de lá é bem bacana.
Terça-feira foi o dia de fazer o checkin no local do evento o Moscone Center West que estava vestido para o Google I/O.
Fiz a confirmação da minha presença e ganhei aquele kit básico de evento (crachá, camisa e garrafinha). Em seguida, fui para uma festa exclusiva para os GDEs onde conheci outros GDEs do resto mundo. Depois de algumas horas, fui pra casa pra descansar e me preparar para o primeiro dia do evento.
Acordei cedo na quarta-feira preparado para enfrentar a maratona de palestras que estava por vir. Peguei uma fila que deu a volta no quarteirão e perdi os 20 primeiros minutos do keynote de abertura (fiquei puto, porque GDE não precisava pegar essa fila) mas tudo bem, assisti quando cheguei em casa.
No keynote de abertura, os principais tópicos do Android foram:
- Android L Developer Preview que ficará no lugar do KitKat;
- Android Wear, o Android para dispositivos vestíveis, em especial, relógios e o glass;
- Android Auto, distribuição da plataforma para carros;
- Android TV, mais uma tentativa do Google em emplacar nas smartTVs.
Como é de costume o Google dá um "presentinho" a todos os participantes do I/O, e esse ano o participantes poderiam escolher entre o LG G watch ou Samsung Gear Live. Eu escolhi o segundo, (aos assaltantes de plantão, digo logo que não vou usa-lo :) A promessa é que depois (não sei quando) cada participante receberá também o Moto 360 (ficarei na torcida).
Uma coisa que foi impressionante pra mim foi o telão e a quantidade de pessoas (eu ouvi algo em torno de 6 mil).
Assisti palestras a tarde toda, e no final do primeiro dia, teve uma festinha bem legal. E o que é mais bacana nesse tipo de evento são as pessoas que você conhece. Conversei com um ex-gerente do NetFlix, com um TL do Hotel Urbano, uma designer do LinkedIn...
O segundo dia foi mais uma maratona de palestras, mas o que mais se falava era no novo visual/tema do Android: o Material. Muito bonito e consistente, ele foca muito em animações e promete trazer várias APIs (além do framework de animação existente desde o Honeycomb) para facilitar esse trabalho.
Um outro assunto recorrente eram os wearables, mais especificamente os relógios. Penso que o Google está investindo pesado e eu acho que a moda dos smartwatches vai mesmo pegar. Eles funcionam muito bem integrados com o smartphone, e inclusive o SDK já está disponível para download. Eu baixei o Android Studio 0.8 e já comecei a brincar com ele (já fiz até um app pro meu relógio :)
Ia esquecendo que não resisti e dei uma "tietada" em dois caras que eu sou muito fã: o Reto Meier e o Romain Guy. Se você mexe com Android e não conhece esses caras, bem... deveria conhecer :)
Bem pessoal, é isso. Quis resumir nesse post a história do meu primeiro Google I/O. Se vocês tiverem dúvidas sobre a viagem ou sobre o que aconteceu no evento, deixem seus comentários que eu vou editando aqui.
4br4ç05,
nglauber
No último dia 21/06 viajei para San Francisco para o meu primeiro Google I/O, conferência anual do Google. O evento aconteceu nos dias 25 e 26/06, e nesse post vou contar um pouquinho de como foi a viagem, pois todas as palestras podem ser vistas aqui ;)
Peguei um vôo da American Airlines de Recife para Miami (6 horas), e de Miami para San Francisco (mais 6 horas). Chegando em SF, fui recepcionado pelos meus estimados colegas Neto Marin e José Papo, que me levaram para conhecer o Pier 39, um ponto turístico da cidade.
Almoçamos por lá e depois demos uma volta pela cidade de carro. Depois eles me deixaram na casa onde fiquei hospedado (ótima por sinal) que fica a 15 minutos do centro. Dividi a casa com mais dois colegas: Alexandre Tarifa e Paulo Fernandes.
Na segunda-feira (23/06), fomos conhecer o Google, e foi simplesmente fantástico com vários prédios bacanas pra caramba. Mas minha principal meta era: tirar fotos no prédio onde ficam as estátuas do Android. Missão cumprida! :)
Lá dentro tem uma loja que vende camisas, bonecos, casacos com estampas das coisas do Google. Aí lascou! Comprei um monte :)
Depois do passeio no Google, fui conhecer um pouquinho do centro de SF. Uma coisa curiosa (e boa ao meu ver) é que as 20:00 ainda está claro, só começa a escurecer entre 20:30 e 21:00 :)
Jantei na Cheesecake Factory (infelizmente Penny não trabalha lá) e além de a comida ser excelente (e não tão cara) a vista de lá é bem bacana.
Terça-feira foi o dia de fazer o checkin no local do evento o Moscone Center West que estava vestido para o Google I/O.
Acordei cedo na quarta-feira preparado para enfrentar a maratona de palestras que estava por vir. Peguei uma fila que deu a volta no quarteirão e perdi os 20 primeiros minutos do keynote de abertura (fiquei puto, porque GDE não precisava pegar essa fila) mas tudo bem, assisti quando cheguei em casa.
No keynote de abertura, os principais tópicos do Android foram:
- Android L Developer Preview que ficará no lugar do KitKat;
- Android Wear, o Android para dispositivos vestíveis, em especial, relógios e o glass;
- Android Auto, distribuição da plataforma para carros;
- Android TV, mais uma tentativa do Google em emplacar nas smartTVs.
Como é de costume o Google dá um "presentinho" a todos os participantes do I/O, e esse ano o participantes poderiam escolher entre o LG G watch ou Samsung Gear Live. Eu escolhi o segundo, (aos assaltantes de plantão, digo logo que não vou usa-lo :) A promessa é que depois (não sei quando) cada participante receberá também o Moto 360 (ficarei na torcida).
Uma coisa que foi impressionante pra mim foi o telão e a quantidade de pessoas (eu ouvi algo em torno de 6 mil).
O segundo dia foi mais uma maratona de palestras, mas o que mais se falava era no novo visual/tema do Android: o Material. Muito bonito e consistente, ele foca muito em animações e promete trazer várias APIs (além do framework de animação existente desde o Honeycomb) para facilitar esse trabalho.
Um outro assunto recorrente eram os wearables, mais especificamente os relógios. Penso que o Google está investindo pesado e eu acho que a moda dos smartwatches vai mesmo pegar. Eles funcionam muito bem integrados com o smartphone, e inclusive o SDK já está disponível para download. Eu baixei o Android Studio 0.8 e já comecei a brincar com ele (já fiz até um app pro meu relógio :)
Ia esquecendo que não resisti e dei uma "tietada" em dois caras que eu sou muito fã: o Reto Meier e o Romain Guy. Se você mexe com Android e não conhece esses caras, bem... deveria conhecer :)
Bem pessoal, é isso. Quis resumir nesse post a história do meu primeiro Google I/O. Se vocês tiverem dúvidas sobre a viagem ou sobre o que aconteceu no evento, deixem seus comentários que eu vou editando aqui.
4br4ç05,
nglauber
quarta-feira, 4 de junho de 2014
GDG Recife
Olá povo,
No próximo dia 11/06 estará sendo lançado o Google Developer Group de Recife. O evento acontecerá no Anfiteatro do Centro de Informática (CIn) da UFPE às 19h. O objetivo dos GDGs é promover a discussão e troca de informações entre os desenvolvedores sobre produtos e tecnologias Google.
Eu estarei lá falando sobre Android, e quero fazer um bate-papo que seja legal tanto para desenvolvedores iniciantes, quanto para aqueles que já trabalham com Android. Dessa forma, resolvi escolher o tema "Aplicativos Android: faça da maneira certa", onde vou dar dicas de como desenvolver aplicativos que seguem os guidelines e as boas práticas de desenvolvimento Android.
Vocês podem se inscrever no site www.gdgrecife.com.
Aguardo vocês lá.
Editado em 11/06/2014
Segue abaixo os slides da apresentação.
4br4ç05,
nglauber
segunda-feira, 19 de maio de 2014
Google Developer Experts
Olá povo,
Tenho a enorme satisfação de compartilhar com vocês que fui nomeado como primeiro Google Developer Experts (GDE) de Android da América Latina*. Esse é um programa mundial do Google que reconhece desenvolvedores especializados em tecnologias da empresa, e que compartilham seus conhecimentos com a comunidade. Mais informações sobre o programa podem ser obtidas em https://developers.google.com/experts/.
Estou muito feliz com esse reconhecimento do Google e quero continuar meu trabalho no C.E.S.A.R. e na Unibratec, bem como passar um pouco do meu conhecimento com os posts aqui do blog.
A lista com todos os GDEs pode ser visualizada em https://developers.google.com/experts/members/.
Aproveito esse post para dar outra boa notícia. Como vocês devem ter notado, faz um tempinho que não posto aqui no blog. O motivo é que estou escrevendo um livro sobre Android (estou divulgando aqui em primeira mão \o/ ) que será publicado pela editora Novatec. Ainda não tenho previsão concreta para o lançamento, mas assim que tiver novidades divulgarei aqui, no meu Twitter e no Google+.
4br4ç05,
nglauber
*Ninguém me disse isso, tomei essa conclusão olhando a lista dos GDEs :)
Tenho a enorme satisfação de compartilhar com vocês que fui nomeado como primeiro Google Developer Experts (GDE) de Android da América Latina*. Esse é um programa mundial do Google que reconhece desenvolvedores especializados em tecnologias da empresa, e que compartilham seus conhecimentos com a comunidade. Mais informações sobre o programa podem ser obtidas em https://developers.google.com/experts/.
Estou muito feliz com esse reconhecimento do Google e quero continuar meu trabalho no C.E.S.A.R. e na Unibratec, bem como passar um pouco do meu conhecimento com os posts aqui do blog.
A lista com todos os GDEs pode ser visualizada em https://developers.google.com/experts/members/.
Aproveito esse post para dar outra boa notícia. Como vocês devem ter notado, faz um tempinho que não posto aqui no blog. O motivo é que estou escrevendo um livro sobre Android (estou divulgando aqui em primeira mão \o/ ) que será publicado pela editora Novatec. Ainda não tenho previsão concreta para o lançamento, mas assim que tiver novidades divulgarei aqui, no meu Twitter e no Google+.
4br4ç05,
nglauber
*Ninguém me disse isso, tomei essa conclusão olhando a lista dos GDEs :)
Assinar:
Postagens (Atom)

































