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

Saiba como programar para Arduino sem ter nenhum hardware disponível

O Arduino já é uma tecnologia muito difundida entre os amantes de tecnologia. É difícil encontrar um profissional da computação que não brincou um pouco com esta ferramenta de prototipagem ou, que gostaria de fazer isso. Porém, em alguns casos, o programador quer conhecer o arduino mas não dispõe de nenhum hardware, nem mesmo da placa. Como isso poderia ser resolvido? A primeira resposta seria aquela mais simples e direta: ir as compras. Isso pode ser feito em uma loja física ou pela internet. No meu caso, por exemplo, tive a felicidade de encontrar em um site (não me lembro qual) um kit arduino, com um conjunto de sensores e um DVD com 41 vídeo aulas. Mas digamos que o profissional não esteja passando por um bom momento financeiro, ou ainda, simplesmente não queira comprar o Arduino sem antes conhecê-lo um pouco melhor. Para a última situação também já existe uma resposta, e diga-se de passagem, uma excelente resposta. Trata-se do site 123D Circuits.io . Depois de criar seu u

Entendendo como funciona a programação de computadores: linguagens de programação, lógica, banco de dados

Nesse post, diferente dos últimos que foram mais enfáticos nas experiências com tecnologias, vou focar um pouco mais nos profissionais que estão começando, ou pretendem ingressar na área de desenvolvimento de software, falando sobre conceitos fundamentais relacionados a programação em geral . Mercado de trabalho para programação Conforme já sabemos, o mercado de desenvolvimento de software, especialmente no Brasil, continua em franca expansão, sendo que cada vez mais as empresas buscam desenvolver seus próprios sistemas usando as mais diferentes e novas tecnologias. Algumas matérias interessantes: As seis profissões mais valorizadas em 2010 no IDG Now! Muitas vagas e sensação de reaquecimento da economia Por isso, a área de desenvolvimento de software tem despertado interesse em muitos profissionais de outras áreas que desejam mudar de profissão, já que as oportunidades de trabalho tendem a ser maiores. Esse é um perfil presente em muitos dos clientes da Globalcode que acabou m

JSON fácil em Java com GSon !

Ola pessoal ! O formato JSON ( J ava S cript O bject N otation) vem se consagrando cada vez mais na comunicação de dados, principalmente nos dispositivos móveis devido a esse formato ser mais leve que o XML e também mais legível. Uma prova disso são as inúmeras bibliotecas que existem para manipular esse formato, e no caso do Android, o suporte ao JSON é nativo. Mas apesar de ter esse suporte nativo, algumas operações devem ser feitas manualmente e o código acaba ficando um pouco verboso e repetitivo, já que para cada objeto que se deseja transmitir é necessário fazer um método que lê as propriedades do JSON e faz as devidas atribuições no seu objeto Java. Vamos supor o seguinte objeto sendo transmitido em JSON: {   user: {     id: 123456,     name: "Neto Marin",     username: "netomarin",     email: "netomarin@globalcode.com.br"   } } Se você fosse tratar um Webservice que envia esse JSON para o seu aplicativo Android, além de criar a o