Ops! - Reciclando meu primeiro aplicativo Nokia para publicar na Loja Android

Hoje de madrugada terminei uma primeira versão do "Latão ou Latinha?" para Android. Então, só para aprender o processo de publicação, antes de melhorar a interface do aplicativo (tive umas ideias novas), resolvi pagar minha licença (US$25,00) e publicá-lo logo.

Aí vão algumas imagens dele rodando num celular emprestado:




Eis que resolvo buscar por algo parecido no Android Market e encontro:



Excelente o aplicativo. Design show de bola, tanto o título quanto a marca, e ainda tem um vídeo bem legal. Profissional mesmo. Ah, a empresa é daqui de Recife :)



Bom, no momento que vi, pensei "já era o meu app". Eu nunca tive uma grande expectativa em relação ao sucesso dele mesmo, era mais como um "Hello World" para eu aprender o básico do Android, mas eu queria que no mínimo fosse uma ideia nova.

Só que nem tudo está perdido. O aplicativo "Acertando NA LATA" tem um propósito bem específico: comparar cervejas. No entanto, o problema "comparar preços de produtos com volumes diferentes" existe para qualquer outro produto que possua volume: água, refrigerantes, azeite, detergente, água sanitária e por aí vai.

O desafio está em criar um aplicativo desse, com propósito geral (qualquer tipo de produto), mas que consiga um apelo comercial razoável, assim como um aplicativo relacionado a cerveja.

O apelo comercial de qualquer aplicativo relacionado a cerveja é bem alto. Em todo lugar existem vários apreciadores e fãs deste líquido/produto. Para muitas pessoas, qualquer coisa com "cerveja" em uma Loja de Apps já recebe uma atenção extra.

Uma funcionalidade que o "Acertando NA LATA" não tem é customizar os volumes. Provavelmente é para deixar a UI mais simples, mas isso implica na necessidade de a equipe sempre estar atualizando o aplicativo. A última atualização dele foi em 2011 e já há vários reviews pedindo para adicionar novos valores de volumes.



O meu app desde o início teve esse "plus". Ele dificulta um pouco a interação (você tem que ler o volume no produto e digitá-lo), mas acrescenta a possibilidade de torná-lo universal e comparar qualquer produto.

Bom, vou atrasar um pouco a publicação do meu primeiro app. Tentar dar uma recauchutada na apresentação e qualquer dia volto aqui com as novidades.

Atualização (07 de Outubro de 2012): Depois de mais de um mês postergando a publicação, decidi publicá-lo mesmo sem ter implementado as novidades que pretendia: https://play.google.com/store/apps/details?id=com.rodolfoferraz.android.lataooulatinha

Como montar um ambiente de desenvolvimento Android (no Linux)

Peguei emprestado o livro "Android Application Development for Dummies" e resolvi guardar aqui no /var/blog/ o quê e onde deve ser baixado os componentes do ambiente de desenvolvimento.

A criação de projetos, compilação, etc, eu imagino que eu vá decorar de tanto fazer, então não vou colocar aqui. Só a configuração do ambiente que talvez eu esqueça uns detalhes, então isto aqui é apenas para eu me lembrar quando precisar, e de quebra serve como guia para mais alguém.


1. Java JDK
http://www.oracle.com/technetwork/java/javase/downloads/



Baixe o .tar.gz

Instalando (fonte):
cd ~/Downloads
tar -vxf jdk-7u5-linux-i586.tar.gz
sudo mv ./jdk1.7.0_05 /usr/lib/jvm/jdk1.7.0

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0/bin/javaws" 1

sudo update-alternatives --config java
e escolha a opção que for do jdk1.7.0

cheque se a versão que você instalou está sendo chamada
java -version

depois:

sudo update-alternatives --config javac
e escolha a opção que for do jdk1.7.0

sudo update-alternatives --config javaws
e escolha a opção que for do jdk1.7.0

2. Android SDK
http://developer.android.com/sdk/index.html


Após baixar o .tgz, extraia:
tar -vxf android-sdk_r20.0.1-linux.tgz

e mova para uma pasta definitiva, por exemplo, no seu home.
mv android-sdk-linux/ ~/code/linux-dev-env/


No README desta pasta você verá que precisa rodar o executavel "android" para abrir o SDK Manager e baixar pelo menos uma versão da plataforma Android e o Platform-tools. Faça isso.

3. Eclipse IDE



Importante: Para ver a versão do Eclipse que o SDK Android suporta (Galileo, Ganymede, Helios, e esses nomes todos), vá na mesma página de Downloads do SDK Android e clique em "System Requirements". No momento, ele pede "Eclipse 3.6.2 (Helios) or greater". Só que você também tem que o pacote do Eclipse, que pode vir com o ambiente Java, C/C++ e várias outras opções. Segundo esta página recomenda-se o Eclipse Classic, ou então a versão Java ou RCP.

Resumindo: baixei o Eclipse Classic mais recente.
http://www.eclipse.org/downloads/

Extraia o .tar.gz:
tar -vxf eclipse-SDK-4.2-linux-gtk.tar.gz
e mova a pasta para onde você quer que o Eclipse fique.
exemplo:
mv eclipse ~/code/linux-dev-env/


Agora com tudo instalado, vamos configurar o Eclipse.

Abra o Eclipse e vá em Help -> Install New Software

Clique em Add para adicionar um novo repositório.
No nome do repositório, coloque Android ADT, e no endereço, coloque https://dl-ssl.google.com/android/eclipse/

Aguarde um pouco até a lista de softwares aparecer e marque a linha "Developer Tools". Depois é só "Next>Next>Finish".

Depois de reiniciar o Eclipse, provavelmente ele pedirá a localização do Android SDK. Caso contrário, vá em Windows->Preferences e escolha "Android" no painel esquerdo

O diretório é aquele que você colocou o SDK no passo 2 desse post.

Pronto Eclipse configurado. Você está pronto para desenvolver.

-------------------

Caso você queira rodar/debugar seu aplicativo em um dispositivo real, em vez de utilizar o emulador no Eclipse, é necessário realizar o seguinte procedimento:(retirado de http://developer.android.com/tools/device.html )

Crie o seguinte arquivo:
/etc/udev/rules.d/51-android.rules
Com o conteúdo:
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"

Onde você deve substituir o 0bb4 pelo código da marca do dispositivo que você irá testar. A tabela de marcas/códigos encontra-se na página http://developer.android.com/tools/device.html



Depois execute
chmod a+r /etc/udev/rules.d/51-android.rules

Pronto. Se você tiver mais de um dispositivo para testar, adicione novas linhas no arquivo mencionado.

Software para smartphones e software dos anos 90, qual a diferença?

Assim que começou a febre dos smartphones, tudo era interessante. Uma sabre de luz sendo exibida na tela do celular, que ao ser balançado, emitia sons do Star Wars era motivo para baixar e mostrar aos amigos. Outro sucesso era um aplicativo que simplesmente tinha um botão que fazia som das Vuvuzelas da Copa do Mundo de 2010.

Isso lembra a época que computador pessoal era novidade.

Qualquer besteira era motivo para se empolgar. Os jogos que exibiam vídeos de filmagens reais, por exemplo, mesmo com uma qualidade horrível, já eram mais divertidos.(veja um vídeo de MegaRace 2!) Você jogava curioso para ver o vídeo seguinte. Também era normal encontrar revistas que vinham com um CD contendo "300 Jogos para Windows". Todos ávidos por instalar, instalar e instalar. Quanto mais programas no computador melhor!

Papel de parede do Windows 95. Nessa época, em que olhar a parte brilhante em baixo de um CD era interessantíssimo, esse papel de parede de alguma forma fazia eu me sentir em um futuro distante. Era muita modernidade pra uma imagem só.

Hoje em dia, para o usuário comum, é raro instalar um software novo no PC. A maioria das coisas que fazemos é através do browser. No entanto, em smartphones é normal ver pessoas que instalam tudo que vêem pela frente. Coisas que deixaram de ser interessantes há 15 anos atrás, voltaram a ser motivo de alegria, com o aparecimento dos smartphones.

O que mudou?

O que causava alegria nos anos 90 era a novidade visual e interativa. Pelo menos para mim, com 10 anos. Uma tela exibindo efeitos que nem na TV você via, e que você podia interagir, era fantástico. Hoje, a parte visual não é o atrativo principal do smartphone. O empolgante é ter tudo isso a qualquer momento, à sua mão. Mobilidade significa que aquela besteirinha quase sem graça que você baixou, pode ser usada para passar o tempo numa viagem de ônibus, numa fila de banco, ou então para decidir se abastece com Gasolina ou Álcool, utilizando um aplicativo bem simples, que num Desktop não serviria para quase nada, distante do posto de combustível.

O fato de você ter softwares ao seu lado a toda hora, marca o momento em que o homem se torna um bocado mais tecnológico e consequentemente mais poderoso. Assim como o homem do paleolítico, que com um pedaço de pau, tornou-se mais eficaz em suas caçadas.

http://en.wikipedia.org/wiki/File:Glyptodon_old_drawing.jpg
O desafio humano atual já não é mais a sobrevivência e sim a interconexão com os outros. O smartphone seria a pedra lascada dessa nova fase, e finalmente, quando não precisarmos mais levar nada em nosso bolso, e incorporarmos tudo isso ao nosso corpo, teremos chegado na pedra polida.

Seguindo a analogia, ainda vem a idade dos metais, mas deixo a correspondente contemporânea a cargo da sua imaginação.

Aula sobre Transistor Bipolar de Junção

Descobri há alguns meses um aplicativo para iPad (Educreations - é de graça!) que venho utilizando para estudar as disciplinas da graduação. Assim que aprendo algo que acho que vou esquecer, faço uma aula do que aprendi usando esse aplicativo.

Não só reforça o aprendizado, como você pode reaprender no futuro, ensinado por você mesmo. Ele não publica no Youtube (a ideia do aplicativo é eles terem o site próprio), mas descobri que tem como embutir em outros sites (eles fornecem o embedding code).

Bom, aí vai uma aula sobre o funcionamento de um Transistor. Eu tinha acabado de entender o assunto e não tinha intenção de compartilhar com ninguém, então fiz altas simplificações na explicação. Algumas podem até estar erradas, foi mais para eu entender o básico do funcionamento. Eu não cheguei a falar da teoria toda sobre transistor, sobre o PNP, foi apenas como funciona a polarização e a curva (gráfico), que era o que eu mais tinha dúvidas.

Eu tenho outras duas aulas publicadas no Educreations, mas sobre Sinais e Sistemas. Talvez eu coloque aqui no Blog depois.

Recomendo ver em FULLSCREEN!



E o meu perfil de lá é este: http://www.educreations.com/profile/757693/