Arquivo de ‘Android’

Otimizando sua aplicação para o Android Go

No Google I/O 2018 foi apresentado o Oreo – a nova versão do Android. Com ele, também veio o Android Go, uma versão do sistema operacional otimizada para dispositivos de entrada, com pouca memória e menor capacidade de processamento.

Android Go

Ok, mas como desenvolvedor de aplicações android, por que devo me preocupar com isso? 

Além das otimizações no sistema operacional, o Google também divulgou uma série de recomendações para os desenvolvedores de aplicações para esta verão da plataforma. São elas:

Conectividade

Um dos objetivos do Android Go é levar o acesso a smartphones a regiões mais pobres, onde a infraestrutura de rede nem sempre consegue entregar uma conexão estável. Por isso, uma aplicação otimizada deve se preocupar em sempre tratar os cenários de erro de rede, seja por falta de conexão ou por lentidão no recebimento de dados. Sempre que possível, ofereça conteúdo offline para o usuário.

Outro fator importante é a quantidade de dados recebidos/enviados pela rede. Sua …

Qualidade de software Android: Annotations

Olá pessoal!

Dando continuidade à série Desenvolvendo para Android, irei falar sobre algumas maneiras para garantir a qualidade de software de seu projeto. Uma das mais efetivas técnicas é o uso de Annotations.

Annotations são marcações no código que definem certos comportamentos de métodos e variáveis. Por exemplo, você pode indicar que um parâmetro de seu método não pode ser null  utilizando a seguinte marcação:

    
public String meuMetodo(String nome, @NonNull Context contexto) {
    return null;
}

Com essa definição de método, se você fizer uma chamada em que context tem valor null, o Android Studio irá automaticamente mostrar um erro:

erro annotation

Ferramentas de análise estática de código como o Lint também utilizam as annotations para indicar erros.

– Mas Felipe, eu sei que não posso chamar o meu método desse jeito!

Sim! mas um programador que tenha que alterar seu código daqui a alguns meses pode não saber. Inclusive você pode não se lembrar 🙂

Adicionando a biblioteca de Annotations ao

Android M – Novidades da nova versão da plataforma apresentados no Google I/O 2015

Ontem (dia 29 de maio de 2015) o Google anunciou a nova versão da plataforma Android. Ainda sem nome (tal como aconteceu no ano passado), a nova versão traz diversas melhorias e algumas boas novidades. Abaixo uma lista das mais importantes, e o impacto delas no desenvolvimento de aplicações Android.

Android M novidades

Novo modelo de permissões

A partir da nova versão, algumas permissões poderão ser solicitadas no momento em que são utilizadas pela aplicação. Por exemplo, o sistema irá perguntar ao usuário se ele permite que aplicação acesse o GPS apenas quando o usuário entrar em uma tela que utiliza este recurso. Particularmente gosto deste modelo (muito parecido com o que acontece em iOS) pois permite que o usuário saiba exatamente para quê a aplicação irá utilizar as permissões.

Em termos de desenvolvimento, agora o desenvolvedor terá que ter um cuidado a mais ao utilizar APIs que acessam tais recursos: Sempre existirá a possibilidade o usuário não permitir o acesso a …

O que esperar do Google I/O 2015

Como a maioria de vocês deve saber, amanhã (28 de maio) começa o Google I/O, evento anual em que o Google apresenta suas novidades.

Google I/O 2015

Neste ano, é esperado o anúncio da nova versão de Android (cujo nome ainda não foi divulgado, e por isso está sendo chamado apenas de Android M) que, segundo rumores, traz diversas melhorias relacionadas à “trabalho” ou mais especificamente, melhorias para usar um telefone Android em seu ambiente de trabalho.

Especulações à parte, é sempre importante estar atento às novas funcionalidades. Por isso, após o evento eu irei colocar no site um resumo das novidades em Android.

 

Para quem puder participar, o evento que terá transmissão ao vivo neste link: https://events.google.com/io2015/

Como o Android MonkeyTest pode ajudar em seu projeto

Você já usou o monkey test em seu projeto Android?

Se não, está perdendo uma chance de encontrar bugs em sua aplicação sem muito trabalho. O Monkey Test é uma das ferramenta do SDK Android e seu intuito é fazer testes aleatórios em uma aplicação.

Android monkey test

Mas como funciona?

O monkey test tool envia para a aplicação eventos de interface com usuário (toques na tela e digitação de textos) totalmente aleatórios sequencialmente. Ou seja, é como se sua aplicação estivesse sendo testada por um macaco (ou por um usuário que não tenha a mínima noção do que está fazendo 🙂 ) .

Mas por que eu iria querer esse tipo de teste na minha aplicação?

Bem, à primeira vista este tipo de teste parece não servir para muita coisa, mas ele é sim útil para encontrar alguns tipos específicos de bugs. Por exemplo, bugs relacionados a alguma race-condition, como o clique em um botão antes de algum componente essencial ser …

Broadcast Receiver – sua aplicação respondendo a eventos

Após aprendermos sobre Activities, Content Providers e Services, resta um dos principais componentes de Android para estudarmos: os Broadcast Receivers.

Os Broadcast Receivers são componentes responsáveis por receber e tratar eventos (ou broadcasts) provenientes do sistema ou de outras aplicações.

Por exemplo, estes são alguns broadcasts do sistema que podem ser tratados por qualquer aplicação:

● android.intent.action.ACTION_BOOT_COMPLETED: indica que o telefone acabou de ser ligado
● android.intent.action.ACTION_POWER_CONNECTED: indica que o carregador foi conectado
● android.intent.action.ACTION_BATTERY_LOW: indica que o nível de bateria está baixo.

Tipos de Broadcast

Existem dois tipos principais de broadcasts:

Ordered broadcast: nesse tipo de broadcast os receivers são invocados respeitando-se a prioridade que é definida ao registrá-los. Usando esta técnica também é possível abortar o broadcast após tratá-lo em sua aplicação.

Normal broadcast: ao contrário do ordered broadcast, os broadcasts “normais” não respeitam a prioridade dos receivers e não podem ser abortados. Porém, sua performance é bastante superior.

Interface

Os …