Novidades do Android O para desenvolvedores

Não é novidade que a Google está a todo vapor para lançar o Android O, previsto para o terceiro trimestre deste ano (2017). Mesmo antes da Final Release, já é possível conferir as novidades que o robozinho verde traz para nós. Vejamos algumas delas para desenvolvedores.

Notificações

As notificações foram reestruturadas para oferecer uma forma mais fácil e uniforme de gerenciar e configurá-las.

Foram adicionados canais de notificação. Estes canais permitem criar um canal personalizável pelo usuário para cada tipo de notificação que for exibir. Assim os usuário podem gerenciar a maioria das configurações associadas a notificação usando uma UI do sistema. Todas as notificações que pertencem ao mesmo canal se comportarão da mesma forma e quando o usuário faz alguma modificação, ela se aplica ao canal da notificação. Como por exemplo uma mudança no som, luz, vibração, etc.

Agora os usuários também podem adiar as notificações para uma nova exibição mais tarde. Assim, elas reaparecem com o mesmo nível de importância da primeira exibição. Também é possível determinar um tempo limite na criação de uma notificação. Desta forma você pode especificar um período de tempo para que uma notificação seja cancelada.

Foi adicionado também a possibilidade de determinar uma cor de fundo para a notificação. A recomendação para utilizar este recurso é que seja implementado apenas para notificações de tarefas contínuas e essenciais em que o usuário deve ver rapidamente.

Acessibilidade

O Android O passa a oferecer os seguintes recursos para desenvolvedores que criam seus próprios serviços de acessibilidade:

  • Detecção de Idioma: Foi introduzida a classe TextClassificationManager que permite através do método detectLanguages() identificar os idiomas que a ferramenta Text-to-Speech (TTS) identificou em um intervalo de texto.

  • Botão de Acessibilidade: Agora é possível que seu serviço solicite que um botão de acessibilidade apareça na área de navegação do sistema. Esse botão oferece aos usuário uma maneira rápida de ativar a funcionalidade do seu serviço de qualquer tela do dispositivo.

  • Gestos de impressão digital: Os gestos de deslizamento direcionais (para cima, para baixo, para a esquerda e para a direita) juntamente com o sensor de impressão digital de um dispositivo, agora pode ser um mecanismo de entrada alternativo para seu serviço de acessibilidade.

  • Texto de dica: Através do método getHintText() da classe AccessibilityNodeInfo é possível acessar o texto de dica de um objeto EditText mesmo que o texto de dica não esteja exibido naquele momento.

  • Envio de gesto continuado: Com o Android O é possível também, especificar sequências de movimento que pertencem ao mesmo gesto programático.

Permissões

Agora é possível que aplicativos atendam a chamadas telefônicas recebidas programaticamente através da nova permissão introduzida: android.permission.ANSWER_PHONE_CALLS. Esta permissão é classificada como “dangerous”.

Aprimoramento de mídia

  • Métricas de mídia: Foi adicionado um novo método getMetrics() que retorna um objeto Bundle contendo informações de configuração e desempenho. Este método pode ser acessado através das classes: MediaPlayer, MediaRecorder, MediaCodec e MediaExtractor.

  • MediaPlayer: Para melhorar a forma como o seu app gerencia a reprodução de mídia, foi adicionado uma série de novos métodos à classe MediaPlayer, desta forma será possível aumentar a capacidade de desempenho controlando o comportamento de armazenamento de buffer, controle detalhado durante a busca de um quadro e a capacidade de reproduzir material protegido por DRM.

  • MediaRecorder: A partir de agora o MediaRecorder oferece suporte ao formato MPEG2_TS, para utilizar basta coloca-lo no formato de saída: mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_2_TS);. Através do MediaMuxer também foi adicionada a possibilidade de trabalhar com qualquer quantidade de streams de áudio e vídeo, não existe mais a limitação de uma faixa de áudio e/ou vídeo.

Dados em cache

O Android O ainda trouxe melhorias no sistema de cache para as aplicações. Agora, cada app recebe uma cota de espaço em disco para armazenar seu dados de cache.

Caso o sistema necessite de liberar espaço em disco, os arquivos em cache dos aplicativos que mais ultrapassaram a cota alocada serão os primeiros a serem excluídos. Assim, se os seus dados de cache sempre ficarem dentro da cota alocada, eles serão alguns dos últimos a serem excluídos pelo sistema (se necessário).

Foi incluído também dois novos comportamentos que podem ser ativados com base no diretório para controlar como o sistema libera seus dados em cache:

  • StorageManager.setCacheBehaviorAtomic(): pode ser usado para indicar um diretório e todo o seu conteúdo deverá ser excluído como uma só unidade atômica.

  • setCacheBehaviorTombstone(File, boolean): pode ser usado para indicar que, em vez de excluir arquivos dentro de um diretório, eles deverão ser truncados para terem 0 bytes de tamanho, deixando o arquivo vazio intacto.

Estas são apenas algumas das novidades já definidas para o novo sistema operacional, você pode conferir muito mais no site oficial Android O Developer Preview.

Um abraço e até a próxima!

Deixe seu comentário

Instrutor, Desenvolvedor Android, Mestrando em Bioinformática pela UFMG, MBA Executivo em Gerenciamento de Projetos pela UCAM, Graduado em Ciência da Computação pela FUNIP, Membro da SBC, ACM e AB3C.

JUNTE-SE A MAIS DE 150.000 PROGRAMADORES