Pular para o conteúdo principal

Google TV: Unboxing e Hello World

Recentemente recebemos um "presente" do Google Brasil, um dispositivo Google TV, modelo Sony NSZ-GT1, e coube a mim a honra de receber esse gadget e fazer o unboxing e um hello world para começar a explorar mais essa aposta do Google !

Conhecendo o Google TV

Em maio de 2010, durante o Google I/O, a empresa anunciou a criação em conjunto com a Intel, Sony e Logitech a criação de uma plataforma de "Smart TV". Coube ao Google integrar a TV com o Android e também uma versão baseada em Linux do navegador Chrome. Porém, devido a uma série de fatores, como por exemplo a escassez de conteúdo e a ausência de aplicativos, o Google TV teve seu início competitivo um pouco abalado, inclusive alguns analistas na época diziam que o dispositivo era muito "beta".

Pois bem, o Google percebeu que a plataforma não ia muito bem, mas não deixou de apostar na idéia, e durante o Google I/O desse ano eles apresentaram o Google TV 2.0 ! O dispositivo agora recebia um update de firmware para o Android 3.1 (irá receber também o update do ICS) e também passaria a ter acesso ao Android Market, ou seja, agora você pode instalar aplicativos na "sua TV".

A integração com o YouTube foi melhorada, e algumas aplicações específicas foram lançadas, como o Twitter, Pandora e Netflix. Além disso, o Google expandiu a parceria com alguns canais e cada vez mais opções vão aparecendo. Você também pode comprar conteúdo online, diretamente na Amazon de forma bem simples.

Lá fora, esse aparelho da Sony custa US$ 399.

E no Brasil ?

O Google TV ainda não é oficialmente vendido no Brasil, mas você consegue encontrar alguns para vender no Mercado Livre e similares, além é claro, de poder trazer o aparelho quando fizer uma viagem ao exterior. Mas oficialmente, você não vai conseguir acessar algumas coisas que possuem restrição de localização. O Google diz que vai expandir para outros países, inclusive o Brasil, mas não há data oficial ainda.

O pessoal da Revista Info fez uns testes e estão disponíveis online: "Na mão: Google TV põe a web na sala"

Unboxing

Não preciso nem dizer que, como um bom nerd, fiz questão de tirar fotos passo a passo da abertura da caixa do Google TV né? ;-)
O que posso dizer é que se preocuparam em fazer uma embalagem simples, prática e bonita. O device em si, lembra um console de video game, com uma entrada frontal para Blu-ray. Na parte traseira estão todos os conectores, e o detalhe é que para saída de video as opções são apenas HDMI e óptica.








Programando para o Google TV

Como qualquer programador Android que se preze, o meu primeiro passo foi acessar o site Android Developers e cliar no link referente ao Google TV, que me direcionou para o site específico da tecnologia. Nesse site você pode escolher de que forma quer produzir conteúdo, e nosso caso, vamos de "Android Applications" ! =)

Obs.: Nesse ponto, se você não conhece a plataforma Android e nunca fez nem um Hello World, o ideal é que busque algo mais básico em Android primeiro para depois partir para alguma experiência com a TV.

O que temos a seguir é um "Developer Guide" com diversas seções que tem como objetivo guiar o desenvolvedor na criação de uma aplicação. Você pode navegar a vontade e ir descobrindo vários detalhes e dicas para o desenvolvimento das aplicações, mas algumas valem mais atenção.

Funcionalidades específicas para o Google TV
  • Aplicação Live TV: Sinal da sua TV sendo transmitido em uma aplicação.
  • Content provider para a lista de canais: Você consegue ter acesso a lista de canais que estão com o sinal disponível.
  • Google TV add-on: Um pacote para você adicionar ao seu SDK para lhe ajudar no desenvolvimento e teste de aplicações, contém o emulador da plataforma.
E o que não funciona no Google TV

Bom, lembrando que se trata de um dispositivo que vai em uma TV, logo, não espere encontrar algo como o giroscópio por exemplo. Para uma lista completa do que é e do que não é suportado, veja a seção Feature Support in Google TV.

Emulando o Google TV

Aqui vai uma má notícia para muitos programadores, o emulador está disponível apenas para máquinas com Linux e processador Intel, com KVM. Para mais detalhes sobre como emular e limitações, veja na seção Emulator do developer guide.

Obs.: É claro que isso não chega ser algo impeditivo, você pode criar um AVD que tenha as mesmas configurações de resolução da TV e como target o Android 3.1. Não é a mesma coisa, mas já adianta bastante! ;-)

Aplicações específicas e port de aplicativos já existentes

Como disse antes, algumas coisas não são suportadas pelo Google TV e outras são específicas. Mas, como o Android é uma plataforma que se propõe a rodar em qualquer dispositivo que a implemente, você deve tomar alguns cuidados no AndroidManifest.xml se quiser garantir que sua aplicação funcione no Google TV também, ou que ela seja específica para essa plataforma.

Para que sua aplicação esteja disponível APENAS para TV, você deve colocar no AndroidManifest.xml:

<uses-feature android:name="com.google.tv" android:required="true" />

Se você fez uma aplicativo, mas quer que ele rode nos celulares, tablets e também na TV você deve informar que sua aplicação não requer touchscreen (óvbio, né?):

<uses-feature android:name="android.hardware.touchscreen" android:required="false" />

Para saber melhor o que colocar e o que não colocar no AndroidManifest.xml, dê uma lida na seção AndroidManifest.

Criando uma aplicação

Mesmo não tendo o add-on específico da plataforma, isso não é um problema. Basta criar um projeto como target o Android 3.1 e você poderá subir esse projeto para o seu Google TV. Depois do projeto criado, coloque uma imagem, escreva um texto, coloque menu, enfim, faça uma pequena aplicação para que não seja só um puro hello world.

Agora é necessário se conectar ao dispositivo para que possamos testar nossa aplicação. Mas, nem pense em conectar seu computador por USB no Google TV, afinal, seria estranho você programar do lado do rack da sala né ? Você irá acessar o dispositivo pela rede wi-fi, então, basta que você e o Google TV estejam na mesma rede.

O primeiro passo então é habilitar o "Remote debugging":
  • Na home screen, clique em "All Apps" para visualizar todas aplicações, e então clique no ícone da aplicação Settings.
  • Nos settings, escolha Applications e depois Development.
  • E então habilite o Remote debugging.
  • Depois clique em Debugger IP address e preencha com o IP da sua máquina
Depois você já pode se conectar ao seu dispositivo, para isso:
  • Primeiro descubra o IP do seu Google TV. Para isso vá em All Apps --> Settings e então escolha Networking e em seguida Status. Na parte IP address você encontra o IP do seu dispositivo.
  • Agora, vá para a linha de comando e acesse o diretório platform-tools do seu SDK, e lá execute o comando: adb connect
  • Para estar se tudo está ok, basta digitar o comando: adb devices (isso deve listar algum device com o IP que você informou).
Agora que o ADB já está conectado no seu dispositivo, basta executar o seu projeto e ele irá aparecer na sua TV! Nesse momento, todas as ferramentas que você já está acostumado a usar na perspectiva DDMS estarão disponíveis para você também! Enjoy !! =)

Abaixo segue a foto que tirei do hello world rodando. E quem quiser baixar o código do exemplo, que é extremamente simples, basta seguir o link: download do GTV Hello World !


Desculpem a foto escura, mas estava sem camêra digital e tirei a foto com meu celular, sem flash.

Mais informações

Por enquanto é isso! Gostou? Quer programar para o Google TV também? Aproveite e se inscreva na Academia do Android, onde temos um módulo só sobre esse incrível dispositivo. E mesmo que você já domine Android, mas quer expandir seus conhecimentos, também pode se matricular apenas no módulo "Desenvolvimento de aplicações para Google TV".

Além disso, vou postando mais coisas por aqui conforme a gente for criando!

Abraços
Neto

Comentários

Daniel disse…
Legal o post Neto. Parece muito interessante mesmo esse dispositivo. Vamos aguardar como será a evolução do Android agora para tv também. Abraço!
Pardal disse…
Tem alguma previsão da chegada ao Brasil?
Yara Senger disse…
Excelente post Neto!
Eu adoro está empolgação com as coisas, com a tecnologia, com a vida vivida dia a dia.

Postagens mais visitadas deste blog

O que é Lógica de programação?

Este é o segundo de uma série de posts voltados aos leitores do blog que estão dando início à carreira de desenvolvimento de software. O assunto de hoje é a lógica de programação. Para ler antes: Entendendo como funciona a programação de computadores: linguagens de programação, lógica, banco de dados A lógica de programação é um pré-requisito para quem quer se tornar um desenvolvedor de software, independente da linguagem de programação que se pretende utilizar. Mas o que é de fato a Lógica de Programação e como saber se eu tenho esse pré-requisito? A lógica de programação nada mais é do que a organização coerente das instruções do programa para que seu objetivo seja alcançado. Para criar essa organização, instruções simples do programa, como mudar o valor de uma variável ou desenhar uma imagem na tela do computador, são interconectadas a estruturas lógicas que guiam o fluxo da execução do programa. Isso é muito próximo ao que usamos em nosso cotidiano para realizar atividad

TDC ONLINE: SUA PLATAFORMA DE PALESTRAS GRAVADAS DO TDC DISPONÍVEL

Além do conteúdo ao vivo transmitido online nas edições do TDC, agora você pode ter acesso à centenas de palestras gravadas, através da nossa nova plataforma de vídeos - o TDC Online, que reúne todas as Trilhas premium, Stadium e Salas dos Patrocinadores das edições anteriores de 2022, TDC Innovation e TDC Connections.  Para acessar, basta clicar na edição em que você participou ( TDC Innovation ou TDC Connections ); Fazer o mesmo login (com e-mail e senha) cadastrados na hora de adquirir ou resgatar o seu ingresso no TDC; E clicar na Trilha de sua opção, e de acordo com a modalidade do seu ingresso. Logo em seguida, você será direcionado para a seguinte página com a lista de todas as palestras por Trilha: Pronto! Agora você tem acesso à centenas de palestras gravadas da sua área de interesse, para assistir como e quando quiser! Caso tenha esquecido a senha, clique na opção "Esqueci a senha" , insira o e-mail que você realizou para o cadastro no evento, e aparecerá a op

JavaMail: Enviando mensagem HTML com anexos

Introdução Depois do post "JavaMail: Enviando e-mail com Java" , que apresentava como enviar um e-mail com Java, resolvi complementar a assunto apresentando como enviar uma mensagem formatada, em HTML , e também como realizar o envio de anexos. Bibliotecas Além da biblioteca JavaMail, veja mais no post anterior , é necessário incluir o JavaBeans Activation Framework (JAF), apenas se a versão utilizada for anterior ao JSE 6.0 , que já tem o JAF incluso. O JAF está disponível em http://www.oracle.com/technetwork/java/javase/downloads/index-135046.html , e neste download encontramos, alguns exemplos na pasta demo , documentação, incluindo javadocs, na pasta docs e a biblioteca activation.jar , que deve ser acrescentada no classpath da aplicação para versões anteriores ao JSE 6.0. Exemplo Primeiramente devemos realizar a configuração da javax.mail.Session e da javax.mail.internet.MimeMessage , estes passos podem ser vistos no post anterior . Agora vamos montar um

10 reasons why we love JSF

1. One-slide technology: it's so simple that I can explain basic JSF with one slide. 2. Easy to extend: components, listeners, render kit, Events, Controller, etc. 3. Real-world adoption: JBoss, Exadel, Oracle, IBM, ... 4. Architecture model: you can choose between more than 100 different architecture. 5. Open-mind community: using JSF you are going to meet very interesting people. 6. We are using JSF the last 5 years and we found very good market for JSF in Brazil 7. Progress: look to JSf 1.1 to JSF 1.2, JSF 1.2 to JSF 2.0. People are working really hard! 8. Many professionals now available 9. It's a standard. It's JCP. Before complain, report and help! 10. Ed Burns, spec leader, is an old Globalcode community friend! EXTRA: My wife is specialist in JSF. She's my F1 for JSF :) Nice job JSF community! -Vinicius Senger

Devo fazer um curso ou ler um livro?

Acredito que todos os instrutores ou professores, independentemente da área, escola ou centro de treinamento, já devam ter recebido essa pergunta alguma vez na vida: devo fazer um curso ou ler um livro? Para responder a essa pergunta, precisamos avaliar os prós e contras de cada opção. Trabalho com treinamento há algum tempo e, hoje, recebi essa pergunta de um aluno. Não adianta responder a ou b sem argumentar, demonstrando as opções conforme a situação do aluno. O conteúdo, a forma de transmissão e a capacidade de assimilação do indivíduo são chaves para haver benefício maior de aprendizado. Tanto em um bom curso quanto em um bom livro, o conteúdo é a premissa básica . Por conteúdo entendemos: se está organizado; se respeita pré-requisitos; se promove o aprendizado guiado e incremental; se aborda de forma satisfatória os principais pontos; se tem bom balanço entre teoria, exemplos e prática (favorecendo exemplos e prática); se tem como premissa a acessibilidade possível (e cabível) pa

TDC BUSINESS, chega a São Paulo com novas trilhas de Inteligência Artificial e Inovação

Maior conferência de profissionais de tecnologia do Brasil abordará temas em alta no momento como, por exemplo, Inteligência Artificial, Segurança, Ciência de Dados e Inovação O TDC BUSINESS, a 17° edição do The Developer's Conference na cidade de São Paulo, que acontece entre os dias 19 e 21 de Setembro, reunirá profissionais e especialistas da área para troca de experiência, compartilhamento de conteúdos e networking. Com o tema central: “Tecnologia para negócios transformadores”, o evento será totalmente híbrido, ocorrendo presencialmente no espaço Pro Magno, e com transmissão simultânea e atividades de network pela internet. A expectativa é reunir mais de 14.000 pessoas, somando a participação presencial e online.   Segundo Yara Mascarenhas, Fundadora e Host do Evento, “nosso objetivo com o TDC é inspirar a colaboração entre os profissionais e empresas para construir uma nova realidade para o mercado de TI.  Vamos juntar tecnologia e negócios com as trilhas técnicas, oferecen