Para aqueles que ainda estão assimilando essa aquisição, se pensarmos bem, essa aquisição da Lenovo faz muito mais sentido do que a aquisicao da Nokia (comprada pela microsoft ano passado).
android
BdB Recomenda – Photaf Panorama
Hoje o BdB Recomenda vai abordar um aplicativo para celular, mais especificamente Android com uma funcionalidade, no minimo, sensacional. O Photaf panorama é um aplicativo para tirar fotos, contudo, ele possui a inteligencia de criar fotos panorâmicas, isto é, fotos de até 360º. Entretanto, não existe mágica, por processamento de imagem, ele analisa e te ajuda a tirar fotos seguidas de forma alinhada, tanto vertical quanto horizontalmente.
Ao fim de todo processo, depois de todas as fotos tiradas, basta apertar o botão “Finish” e ele irá fazer a união das fotos, formando a imagem panorâmica.
Ele também possui algumas outras funcionalidades, tais como compartilhar as suas fotos com seus amigos no facebook, ferramentas de zoom na imagem do panorama, converter seu panorama para um papel de parede. Além disso seu panorama pode aparecer no site oficial do aplicativo, onde existe uma galeria com as fotos dos usuários dos quatro cantos do mundo. Para os usuários Android, esse aplicativo não pode faltar nos passeios e viagens!
Como Automatizar Testes de aplicações Android – Parte 2
Olá pessoal. Estou de volta para dar continuidade a meu último post sobre automação de testes para aplicações Android e neste post vou detalhar como implementei a nossa calculadora fajuta do Bdb para que possamos entender os conceitos básicos de Android e depois conseguirmos automatizar o testes para esta plataforma.
Primeiramente, como falei no post anterior temos que alinhar o ambiente de desenvolvimento que estamos usando. No meu caso eu uso o Eclipse Classic 3.6.2 instalei o plugin ADT. Para mais detalhes de como configurar seu ambiente, veja aqui.
Como todo começo de projeto, vamos no menu principal do eclipse: File->New->Other… e la na janela wizard temos a opção Android Project que nos leva a seguinte tela que devemos colocar o nome do projeto (Calculadora). Depois de colocar o nome do projeto e clicarmos em Next, vamos para a tela que devemos selecionar o Build Target. Como todos devem saber o Android já evoluiu bastante desde do seu surgimento no mercado com a versão 1.5 mais conhecida como Cupcake até o mais recente e famosa versão 4.o ou Ice Cream Sandwich que promete integrar todo o ecosistema entre smartphones e tablets, mas isso não vem ao caso aqui. No caso da nossa calculadora, ela foi implementada para a versão 2.3.1 (API Level 9) e é o que eu recomendo para que todos usem no momento para que possamos ter um alinhamento das atividades aqui no post.
Depois que escolhermos o Build Target, vamos para a seguinte tela na qual definimos o nome do pacote no qual nossa activity principal ficará disponível e também já vamos ter uma sugestão do nome da activity principal que é o nome do projeto + a palavra Activity no final. Nesta última tela você verá também a opção de criar um projeto de teste para este projeto que você esta criando no momento, mas vamos deixar esta opção desmarcada e no próximo post vou mostrar como criamos um projeto de teste para esta aplicação.
Assim que o nome do projeto, o Build Target, nome do pacote e o nome da activity principal são definidos, o projeto Calculadora vai ser criado com a seguinte estrutura:
Nosso primeiro passo vai ser no arquivo main.xml dentro de res/layout que é o arquivo responsável pela interface visual da activity que vamos implementar. No Android a estrutura da aplicação é dividida em algumas camadas e a camada de interface com o usuário é mais comumente definida no xml. O primeiro passo é selecionar o layout que vamos trabalhar na nossa aplicação, no nosso projeto a layout definido não vai fazer muita diferença, portando fica de livre escolha de vocês qual usar, no nosso código, definimos o relative layout. Para mais detalhe de cada layout suportando no Android, leiam aqui. No nosso projeto de calculadora vamos trabalhar com duas activities e dois xml de layout o primeiro xml (main.xml) temos um TextView (Nome da aplicação), dois editText (Campos para usuario digitar os operandos) e 4 buttons (um botão para cada operador básico). O segundo xml (result.xml) de layout temos apenas um textView que é para exibir o resultado da operação selecionada pelo usuário na tela anterior.Obviamente poderíamos exibir o resultado na mesma tela mas fizemos dessa forma com um próposito que veremos no próximo post quando formos falar das 2 maneiras de automatizar os testes dessa calculadora.
Para ver como ficou os arquivos xml e também os arquivos .java que vou explicar nos parágrafos seguintes, baixe o código da nossa aplicação neste link .
Depois de definido o layout vamos para a implementação em si. Primeiramente, vamos ao básico e criamos uma classe chamada Operators.java com todos os métodos de cada operação básica da nossa calculadora, esta classe será instanciada pela activity principal e seus métodos serão chamados de acordo com os eventos que a nossa activity principal tratar.
Na primeira activity, que é a nossa activity principal (CalculadoraActivity.java) definimos qual layout vamos usar (main.xml) e definimos também alguns atributos que vamos utilizar para pegar as instancias dos Views (componentes visuais, Ex: Buttons) que definimos no main.xml e no qual vamos tratar os eventos que serão gerados pelos usuários ao interagir com estes views, como por exemplo o clique no botão (OnClick). A nossa segunda activity (ResultActivity.java) é a tela que simplesmente pega o resultado “empacotado” pela primeira activity e exibe no textview que esta definida pelo layout result.xml.
Um último detalhe e não menos importante é o arquivo strings.xml que fica dentro da pasta res/values. Nesse arquivo definimos algumas “variáveis” no qual podemos ter acesso de várias parte do cógido, como nos arquivos de layout, no código das activities, etc…
No nosso caso definimos o o valores para todos os views utilizados pela aplicação, como por exemplo o nome na aplicação que é definido no arquivo mais.xml para o TextView esta setado no arquivo strings.xml como app_name e seu respectivo valor é Calculadora.
Após todo esse trabalho a nossa calculadora fajuta do Bdb vai ficar com essa cara como na imagem aqui abaixo:
Bem, por enquanto já temos o suficiente para nos divertimos um pouco durante a semana e no nosso próximo post eu vou finalmente revelar como podemos fazer alguns testes automáticos para esta nossa calculadora fajuta. Aproveitem o restante da semana para por em prática os conceitos básicos passados aqui e brinquem de alterar o código para entender um pouco mais como a coisa toda funciona. Uma ótima semana para todos e até o próximo post.
Guia Android Design para Ice Cream Sandwich
Recentemente, numa sexta-feira 13 (sim, bem pertinente), a google lançou mais uma novidade para o seu sistema operacional, o Android Ice Cream Sandwich (4.0). Dessa vez, entretanto, a surpresa fica por conta de um guia de estilos para promover novas interações e o novo “look and feel” da versão nova.
A ideia geral por trás desse guia de estilos é tentar unificar a plataforma no que se diz respeito à interface. Além disso, existe uma preocupação por parte do google de tentar criar padrões visuais mais fortes e consistentes. Isso, entretanto não é novidade para, por exemplo, a Apple que sempre teve guias de design bem atrelados à plataforma.

Uma coisa bem interessante sobre o guia é que ele tentou focar não somente nos desenvolvedores da plataforma mas também nos usuários, com dicas, padrões e e documentos que vão auxiliar em todo o processo, da criação à implementação. A primeira versão do portal pode ser encontrada em Android Design e já contém algumas coisas bem interessantes.
O guía é dividido em seções como Estilo, onde encontramos linhas gerais sobre interface como detalhes sobre cores, feedback, ícones e até tipografia e padrão de escrita. Já em Padrões, conseguimos identificar toda a parte de interação da plataforma, como estrutura da aplicação, gestos, compatibilidade e conceitos de interação. Por fim, temos os Blocos, onde podemos identificar os componentes e seus tipos e sub-tipos.
A consulta ao site é uma coisa bem válida para todos que estão começando a desenvolver, bem como para aqueles que já têm experiência com a plataforma. Lembrando que a ideia é que esse guia seja atualizado com novidades da plataforma. É, parece que agora, ninguém mais tem desculpa para desenvolver aplicações feias.
Como Automatizar Testes de aplicações Android – Parte 1 (O desafio)
Olá pessoal, este ano vou começar com uma pequena série de posts e um pouco DIFERENTE dos posts habituais para falar mais uma vez de teste na prática. Obviamente para ser diferente eu vou deixar este primeiro post um desafio para todos assim como eu tive um desafio no final do ano passado para preparar e ministrar uma disciplina de teste de software para uma turma de desenvolvedores que estava participando de um curso de desenvolvimento para Android. Preocupado em deixar as aulas de teste mais interessantes, eu arrisquei adaptar meu material para algo que fosse bastante prático e relevante para essa turma e por isso dei uma estudada no Android e como desenvolver aplicações e criar testes automáticos para o mesmo e acabei descobrindo algumas coisas que o SDK disponibiliza que gostaria de compartilhar com vocês.
Antes de começarmos a desenvolver testes para o Android, preciso passar algumas informações relevantes para que todos possam conseguir ter um entendimento completo de como automatizar alguns testes para aplicações em Android e também consigam completar o desafio que deixarei neste post.
Para podermos automatizar testes para aplicações Android, precisamos entender alguns de seus componentes básicos, que são: Activities, Services, Content Providers e Broadcast Receivers.
Activities – Uma activity é um dos componentes do Android mais usados nas aplicações pois ele é que fornece uma tela com a qual os usuários podem interagir. Por exemplo dicar um número de telefone, escrever uma sms, ou visualizar um mapa. Para cada activity é dada uma “janela” na qual “desenhamos” uma interface de usuário. As “janelas” normalmente preenche toda a tela, mas também podem ser menores do que a tela e flutuar em cima de outras “janelas”.
Services – São componentes de aplicação que podem executar operações de longa duração em segundo plano, portanto não fornecem uma interface de usuário. Um serviço pode ser iniciado por uma aplicação e ele continuará a ser executado em segundo plano, mesmo se o usuário trocar para outra aplicação.
Content Providers – Como o nome já explica, Content Providers é componente responsável por armazenar e recuperar os dados e torna-los acessível para todas as aplicações, ou seja são os provedores de conteúdo. A única forma de compartilhar dados entre aplicações no Android é através de content providers, pois não existe área de armazenamento comum que todos os pacotes Android podem acessar.
Broadcast Receivers – É um componente que responde a anúncios de todo o sistema de broadcast. Muitos brodcast provenientes do sistema, como um broadcast anunciando que a bateria está fraca ou uma sms foi recebida. As aplicações também podem iniciar os broadcast, por exemplo, para permitir que outras aplicações saibam que alguns dados foram disponibilizados para eles usarem. Os broadcast receivers também não possuem interface de usuário, mas eles podem criar uma notificação de barra de status para alertar o usuário quando um evento de broadcast ocorreu.
Nome: Aplicativo Calculadora Fajuta
[REQ001] Tela principal deve possuir dois campos (EditTexts) para inserir valores e um botão (Button) de cada funcionalidade da calculadora, que são:
– SOMAR
– SUBTRAIR
– MULTIPLICAR
– DIVIDIR
[REQ002] A operação SOMAR só efetua soma de números entre 0 e 10, pois a calculadora é fajuta. O resultado deve ser mostrado em um texto (TextView) no canto inferior da tela.
[REQ003] A operação SUBTRAIR é um pouco mais evoluída e consegue efetuar a subtração de números entre 0 e 50. O resultado deve ser mostrado em um texto no canto inferior da tela e caso seja um resultado negativo, o mesmo deve estar na cor vermelha.
[REQ004] A operação MULTIPLICAR deve multiplicar apenas números pares.
[REQ005] A operação DIVIDIR, da mesma forma da operação Somar, só efetua a divisão de números entre 0 e 10.
E claro que qualquer dúvida por mais simples que seja, podem comentar aqui neste post e terei o prazer de responder o mais rápido possível. Para os mais tímidos, podem me mandar um email que tem no meu perfil aqui do Bdb. Boa sorte a todos !!! 🙂
Android: Vale a pena estudar?
Eu decidi (nesses últimos dias) estudar android (quem acompanhou meu twitter deve ter visto). A motivação para que eu começasse a estudar é bastante simples, o android foi criado pelo google, e o google não entra para brincar em nada.
Aqui vão alguns outros pontos importantes a respeito do android é que o sistema está em constante evolução, e a última versão 2.2 foi lançada em Julho/2010. Além disso um ponto MUITO importante e TOTALMENTE relevante é o Android market que possui diversas aplicações desenvolvidas para android, muitas delas free, e desde fevereiro de 2009 começou também a aceitar aplicações pagas. Somente 9 países suportavam aplicações pagas, e desde o mês passado o google ampliou o suporte a aplicações pagas para mais 20 países (incluindo o Brasil).
E as boas notícias não param por aí, o android market que no início de 2010 tinha cerca de 20.000 aplicações acabou de alcançar a marca de 100.000 aplicações no mês passado (out/2010). Quer um maior sinal de que o android realmente está começando (começando ou consolidando) a garantir o seu lugar ao sol no mercado mobile?
Eu vou dar um sinal ainda maior já que você quer 😛 Como vocês sabem o android não está preso a um determinado hardware, nem a um determinado manufacturer, isso é bom pois aumenta o leque de escolhas do consumidor. Os smartphones equipados com android superaram as vendas do iPhone nos USA em agosto desse ano. E não é só um fenômeno acontecendo nos EUA, houve um aumento de 886% (isso mesmo…. oitocentos e oitenta e seis porcento) da produção mundial de dispositivos com android em relação ao ano anterior.
Eventualmente você vai se ver em um futuro próximo trabalhando com algo relacionado a android, seja desenvolvendo aplicações, modificando alguma versão do android para utilizar em algum dispositivo móvel, ou simplesmente sendo usuário de um celular com android!
Essa é a motivação inicial para aprender android. O próximo post para android será mais técnico, aguardem!