Pular para o conteúdo principal

Android SDK Tools (r21) e suas novas ferramentas

Há pouca mais de uma semana, foi lançada a nova versão do Android SDK para o Jelly Bean, o Android 4.2. Com ele, também foi atualizada a versão do ADT (Android Developer Tools). As novas features são muito interessantes, agilizam o desenvolvimento e fornecem novos meios de combater a fragmentação de hardware da plataforma. Sendo assim, vou demonstrar algumas das principais novidades aqui neste breve artigo.

Novos Templates

Nas primeiras versões do ADT existia um número muito limitado de templates de interfaces gráficas que poderíamos utilizar. No Revision 20 já foram adicionados dois itens: uma interface máster-detail com uso de fragments e, uma tela em branco, somente com a barra superior e uma área central onde inserimos nossas widgets.

E, mais recentemente, na Revision 21, foram adicionados mais três templates muito úteis.

Um deles é uma tela de preferências. Segundo o comentário na classe PreferenceActivity gerada pelo ADT: uma preferenceactivity que apresenta um conjunto de configurações da aplicação. Em dispositivos handset, configurações são apresentadas em uma lista. Em tablets, configurações são divididas em categorias, com o cabeçalho das categorias mostrada a esquerda da lista de configurações. Veja uma representação na Figura 1:

Figura 1: template de configurações.

Outro template cria uma tela para visualização de imagem ou vídeo. Ela fica full-screen até que o usuário clique na tela, neste momento, a barra de status é exibida por alguns segundos. Veja na Figura 2 uma representação. Na Figura 3 o aplicativo criado com o template sendo testado em um Galaxy Ace e, na Figura 4, o instante em que o usuário tocar a tela do Ace.

Figura 2: representação

Figura 3: aplicativo

Figura 4: aplicativo após toque na tela.

E isso não é tudo. O próprio ADT já cria três classes auxiliares: SystemUiHider, SystemUiBase e SystemUiHiderHoneycomb. Com estas classes é possível mostrar e esconder certos componentes de UI que só estão presentes em versões mais recentes do sistema operacional Android.

Veja o que a documentação da classe SystemUiHider nos diz: Uma classe utilitária que ajuda a mostrar e esconder UI do sistema, como a barra de status e a barra de sistema/navageação. Esta classe utiliza técnicas de compatibilidade com versões anteriores, para garantir que dispositivos rodando qualquer versão do Android OS sejam suportados.

O último template refere-se a uma típica de tela de login, com um campo de usuário e senha e um botão para verificar a autenticidade do mesmo. Veja na Figura 5 sua representação:

Figura 5: template de tela de login.

O template é tão bem feito que a classe Acitivyt apresenta um esqueleto completo, com uma classe AsyncTask para uma possível verificação de senha mais demorada e utilização da ViewPropertyAnimator API, disponível a partir do Honeycomb MR2. Veja este código de animação abaixo:


if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
 int shortAnimTime = getResources().getInteger(android.R.integer.config_shortAnimTime);

 mLoginStatusView.setVisibility(View.VISIBLE);
 mLoginStatusView.animate().setDuration(shortAnimTime)
  .alpha(show ? 1 : 0)
  .setListener(new AnimatorListenerAdapter() {
   @Override
   public void onAnimationEnd(Animator animation) {
    mLoginStatusView.setVisibility(show ? View.VISIBLE
        : View.GONE);
   }
 });

 mLoginFormView.setVisibility(View.VISIBLE);
 mLoginFormView.animate().setDuration(shortAnimTime)
  .alpha(show ? 0 : 1)
  .setListener(new AnimatorListenerAdapter() {
   @Override
   public void onAnimationEnd(Animator animation) {
    mLoginFormView.setVisibility(show ? View.GONE
        : View.VISIBLE);
   }
  });
} else {
// The ViewPropertyAnimator APIs are not available, so simply show
 // and hide the relevant UI components.
 mLoginStatusView.setVisibility(show ? View.VISIBLE : View.GONE);
 mLoginFormView.setVisibility(show ? View.GONE : View.VISIBLE);
}


Editor de UI poderoso

Quando vamos editar um arquivo XML que representa uma Activity de nossa aplicação, podemos fazer isso via código ou, através de uma representação gráfica e com ajuda do drag-and-drop. Na nova versão do ADT esta ferramenta recebeu aporte de novas e interessantes features.

Quando optamos pelo Graphical Layout, agora temos uma opção que fica no canto superior esquerdo, chamado de “Configuration to render this layout with in Eclipse”. Dentro das opções listadas por esta ferramenta, podemos escolher “Preview Representative Sample”. Sendo assim, veremos o layout que estamos construindo em diferentes tipos representativos de telas. Veja a Figura 6:

Figura 6: Graphical layout.

Desta forma, fica muito mais fácil gerenciarmos nossa interface gráfica do usuário nas diferentes versões de tela que o Android possui. Além disso, esta feature apresenta outra opção valiosa. Na opção Preview Layout Versions veremos para quais versões de tela nós estamos criando um layout. Ou seja, suponhamos que no meu aplicativo eu tenha criado um layout específico com a pasta layout-v11. Vou ver no Graphical Layout a Figura 7:

Figura 7: Graphical layout com minhas versões de tela.

E não para por aí não. O Graphical Layout apresenta um ícone de um globo, onde podemos especificar para uma versão de tela específica qual a localidade que estamos simulando.



Criação de AVD´s

O processo de criação de um Android Virtual Device também sofreu mudanças. Agora, é possível indicar em qual aparelho ele se baseará. Veja a Figura 8 e a caixa de seleção Device:

Figura 8: Criação de AVD.

Além disso, o novo ADT ainda nos fornece ferramentas como o UI Automator Test Framework, uma ferramenta gráfica para scanear e analisar os componentes de uma aplicação Android, mais uma biblioteca com APIs para criar funcionalidades automatizadas de testes e uma engine para automatizar e rodar testes em vários dispositivos físicos.

E, finalmente, conta com um instalador de SDK com somente 1 clique, baixando todos os componentes do SDK, como Tools, Platform Tools, Eclipse ADT e imagens de sistema. Tudo isso de forma muito mais conveniente.

O próximo passo é só começar a desenvolver.

Comentários

Matheus Gomes disse…
Cara, sensacional... para quem não sabe design é uma mão na roda!
Yara Senger disse…
Parabens Ricardo! Muito legal o post!
Unknown disse…
Muito bom o post!! Parabéns!

Postagens mais visitadas deste blog

TDC BUSINESS, chega a São Paulo com novas trilhas de Inteligência Artificial e Inovação

Maior conferência de profissionais de tecnologia do Brasil abordará temas em alta no momento como, por exemplo, Inteligência Artificial, Segurança, Ciência de Dados e Inovação O TDC BUSINESS, a 17° edição do The Developer's Conference na cidade de São Paulo, que acontece entre os dias 19 e 21 de Setembro, reunirá profissionais e especialistas da área para troca de experiência, compartilhamento de conteúdos e networking. Com o tema central: “Tecnologia para negócios transformadores”, o evento será totalmente híbrido, ocorrendo presencialmente no espaço Pro Magno, e com transmissão simultânea e atividades de network pela internet. A expectativa é reunir mais de 14.000 pessoas, somando a participação presencial e online.   Segundo Yara Mascarenhas, Fundadora e Host do Evento, “nosso objetivo com o TDC é inspirar a colaboração entre os profissionais e empresas para construir uma nova realidade para o mercado de TI.  Vamos juntar tecnologia e negócios com as trilhas técnicas...

12 ESQUENTAS TDC ESPERANDO POR VOCÊ

O TDC nasceu do sonho de profissionais que valorizam o compartilhamento de conhecimento, experiências e oportunidades entre as comunidades de desenvolvedores.  Por isso, o crescimento do TDC nunca poderia ficar longe do crescimento das comunidades! Pensando nessa união, criamos um projeto quente: O ESQUENTA TDC ! Visando divulgar os meetups de comunidades que querem transformar e inspirar carreiras, foi co-criado este projeto lindo e cheio de apoio, onde o TDC abraça meetups de diversas comunidades espalhadas pelo Brasil e elas contribuem com a divulgação da edição regente.  O TDC Innovation vai rolar de 14 a 16 de JUNHO, mas até lá vão acontecer muitos encontros incríveis!  Fique por dentro das comunidades que vão participar, quais temas irão abordar e claro as datas e locais para você participar. 💥Esquentas TDC Innovation 2023: 24/05 - Esquenta TDC: Carreira e Desenvolvimento Presencial em Floripa das 19:00 as 21:30 com inscrição AQUI Comunidade: Google Developer...

Site da Globalcode: Design e integração com JSF, Facelets, RichFaces e JBossSeam

O site da Globalcode foi criado por uma agência e depois desenvolvido internamente, utilizando algumas das nossas tecnologias preferidas: - JavaServer Faces - Facelets - RichFaces - JPA - JBoss Seam (que não poderia faltar na nossa arquitetura). O site é abastecido com informações do sistema de gestão educacional, o GES ( Global Education System ). Na prática isto quer dizer que as turmas, o conteúdo dos cursos, o Orçamento Eletrônico , matrícula eletrônica em minicursos gratuitos, páginas Unidades Globalcode , tudo vem do GES. Ou seja, estes dados são alterados automaticamente quando alteramos os dados no GES e não precisa passar nas mãos de ninguém da área de TI. E o pessoal de vendas e negócios adora ficar livre do pessoal da TI. A utilização de Facelets gerou muitos benefícios e facilidades, e agora até o André Frota , que era mais designer que programador fica aflito para eliminar uma ou outra página 100% HTML, que não usa Facelets. Além dos muitos novos requisitos ...

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...

O que é Lógica de programação?

Este é o segundo de uma série de posts voltados aos leitores do blog que estão dando início à carreira de desenvolvimento de software. O assunto de hoje é a lógica de programação. Para ler antes: Entendendo como funciona a programação de computadores: linguagens de programação, lógica, banco de dados A lógica de programação é um pré-requisito para quem quer se tornar um desenvolvedor de software, independente da linguagem de programação que se pretende utilizar. Mas o que é de fato a Lógica de Programação e como saber se eu tenho esse pré-requisito? A lógica de programação nada mais é do que a organização coerente das instruções do programa para que seu objetivo seja alcançado. Para criar essa organização, instruções simples do programa, como mudar o valor de uma variável ou desenhar uma imagem na tela do computador, são interconectadas a estruturas lógicas que guiam o fluxo da execução do programa. Isso é muito próximo ao que usamos em nosso cotidiano para realizar atividad...

JavaOne Brasil, dicas para submissão de palestras

Não quero parecer pretensiosa dando dicas para submissão de palestras para o JavaOne Brasil, mas sim repassar os tantos conselhos e sugestões recebidas pelos vetaranos do JavaOne: Bruno Souza e Leonardo Galvão que revisaram dezenas de submissões para o JavaOne e ajudaram a aprovar tantas palestras, e também misturar um pouco da minha experiência na seleção de palestras nos eventos realizados pela Globalcode e SouJava . 10 anos de JavaOne: http://www.globalcode.com.br/noticias/Globalcode10AnosNoJavaOne Os palestrantes ganham a entrada! A submissão pode ser feita em português! O passo mais importante para ser aprovado como palestrante no JavaOne é sem dúvida nenhuma submeter pelo menos uma palestra. Então, independente de qualquer coisa, participe, arrisque, divulgue.  Mas, se quiser aumentar as suas chances...   1) Leve a sério: peça para amigos fazerem uma leitura crítica do texto, e claro uma boa revisão ortográfica. 2) Submissão de várias palestras ou variações do ...