Android - Preparando o ambiente de desenvolvimento para o Android 4.4 (KitKat)


Olá amigos do The Club, este artigo se direciona aos associados que desejam preparar o ambiente de trabalho do Android 4.4 utilizando o pacote “ADT Bundle for Windows” contendo a última versão do Eclipse, junto com seu kit de ferramentas SDK e o JDK com as ferramentas necessárias para desenvolvimento de aplicações utilizando o Java. É importante ressaltar que possuímos um artigo do mês 11 de 2011 com o título “Primeiros passos com o Android”. Na época este artigo fez uma abordagem ampla destas ferramentas citadas anteriormente. Como a tecnologia está sempre criando novas versões e ferramentas a nossa equipe achou necessário criar um artigo específico para quem deseja usar os últimos recursos para programação Android. Surgiram também inúmeras dúvidas de nossos associados a respeito da instalação e configuração destas novas ferramentas, tais como: onde encontrá-la? Qual versão devo usar? Como instalá-la? Resumindo, este artigo irá se basear no nosso antigo artigo com todas as atualizações necessárias para um bom funcionamento. Ao decorrer do artigo gostaria de abordar algumas das principais características do Android 4.4 seguido da instalação e configuração dos softwares necessários para o bom funcionamento.

 

Principais características do Android 4.4

De acordo com minha pesquisa que realizei na internet em fóruns, blogs e sites específicos, pude reunir alguns dados importantes, como por exemplo:

1-) Menor uso de memória
- Processos do sistema consomem menos “heap”;
- A memória do sistema foi agressivamente mais protegida contra aplicações que consomem grandes quantidades de memória;
- O “ActivityManager.isLowRamDevice()”permite que aplicações fiquem atentas ao serem executadas em dispositivos com pouca quantidade de memória, o que as permitem desativar algumas das funcionalidades que consomem grande quantidade de memória;

2-) Modo de Imersão
- Permite executar as aplicações usando a tela cheia, incluindo a área dos três botões (Back, Home e Menu) através dos uso das flags “View.SYTEM_UI_FLAG_IMMERSIVE” e “View.SYTEM_UI_FLAG_IMMERSIVE_STICKY”.

3-) Implementação de novos frameworks, tais como:
Fornecedor de SMS/MMS - padronização na API para todas as aplicações tratarem as mensagens SMS/MMS.
Impressão: Fornece suporte embutido, API e caixa de diálogo de impressão para encontrar, configurar e imprimir através do Wi-Fi, em uma impressora local ou impressão em nuvem, e permite a impressão de diversos tipos de documentos.
Armazenamento: Integra as instalações de armazenamento local ou baseadas na nuvem do usuário, e oferece uma maneira padronizada de acesso a documentos entre aplicativos e fornecedores de armazenagem. O fornecedor de armazenagem pode incluir um provedor de documentos em sua própria aplicação Android, sendo automaticamente integrado no framework quando a aplicação for instalada no dispositivo, disponibilizando o serviço para todas as aplicações.
Transições: Os desenvolvedores podem usar este novo framework para animar as transições entre várias cenas das suas interfaces de usuário, escolhendo a transição de um conjunto pré-definido de transições, ou criando as suas próprias animações.

Java SE 7u45 - JDK

 

Destacamos as alterações que impactam usuários finais para cada release do Java. De acordo com o site oficial http://www.java.com/pt_BR/download/faq/release_changes.xml, este último foi datado no mês de Outubro de 2013.

 

Abaixo algumas delas:

- Restaurar Prompts de Segurança: foi implementado um novo botão disponível no Painel de Controle do Java para remover decisões confiáveis lembradas anteriormente.
- Proteções contra Redistribuição Não Autorizada das Aplicações Java: A partir da versão 7u45, os desenvolvedores de aplicações podem especificar novos atributos de arquivo de Manifesto JAR que:

Um tópico importante que devemos lembrar é que a data de expiração para esta última versão é no mês de Fevereiro de 2014, sendo que após esta data o Java irá fornecer advertências e lembretes adicionais para atualizar para a versão mais recente.

Segue a seguir o link para realizar o download deste kit, Ver Figura 01.
http://www.oracle.com/technetwork/java/javase/downloads/index.html

Figura 01: Download do JDK.

Clique no item “Java Platform (JDK) 7u45” e na próxima tela clique em “Accept License Agreement” para aceitar os termos de licença e escolha a opção “Windows x86” – jdk-7u45-windows-i586.exe ” para sistemas 32 bits e “Windows x64” – “jdk-7u45-windows-x64.exe ” para os de 64 bits. No meu caso utilizarei o de 32 bits. Ver Imagem 02.

Figura 02: Escolhendo a Opção de Download.

 

A instalação do JDK não possui segredos, basta executar o instalador e ir executando o clássico Next, Next, Next e Install. Por padrão o JDK será instalado no diretório “C:\Program Files\Java\jdk1.7.0_45”.

 Ver Imagem 03.

Figura 03: Instalando o Java.

 

 

ADT Bundle for Windows (Android SDK e Eclipse)

 

Diferente do artigo anterior, o Android SDK fornece as bibliotecas da API e ferramentas de desenvolvimento necessárias para construir, testar e depurar aplicativos para o Android. Tudo já vem pré-configurado, uma novidade que facilita e muito a vida de nós programadores. Ele inclui os componentes essenciais do Android SDK e uma versão do Eclipse IDE com built-in ADT (Android Developer Tools) para agilizar o desenvolvimento de aplicativos Android.

 

Ou seja, com um único download, o pacote ADT inclui tudo que você precisa para começar a desenvolver aplicativos, sendo:

- Última versão do Eclipse + ADT Plugin;
- Android SDK Tools;
- Android Platform-tools;
- A mais recente plataforma Android (Versão 4.4);
- A imagem do sistema mais recente do Android para o emulador.

 

Para baixá-lo utilize o link (Ver Imagem 04)

 http://developer.android.com/sdk/index.html


Figura 04: Download do ADT Bundle for Windows.

 

Clique no botão “Download the SDK”. Na próxima tela terá a opção para escolher 32 ou 64 bits. No meu caso escolhi a primeira. O arquivo terá um tamanho de aproximadamente “500 Mb” no formato “.rar”. Ao descompactar o arquivo possuirá uma pasta com as seguintes sub-pastas:


Figura 05: Sub-pastas do pacote de instalação.

 

Eclipse: A pasta onde está localizada a última versão do Eclipse.
Sdk: Todas as ferramentas necessárias para desenvolvimento utilizando o Android.
SDK Manager.exe: Aplicativo para instalação automática de pacotes de outras versões do Android.(Por padrão estamos utilizando a versão 4.4)

 

Depois de muitos testes, chegamos à conclusão que a forma mais rápida e fácil para configurar o JDK para que trabalhe corretamente em conjunto com estas ferramentas seria copiando o diretório:

C:\Program Files\Java\jdk1.7.0_45\jre

 

Para dentro da pasta do eclipse:

C:\adt-bundle-windows-x86-20131030\eclipse

 

Na primeira execução da ferramenta Eclipse devemos receber uma tela idêntica ao da Imagem 06.

 

Figura 06: Definindo o “WorkSpace”.

 

Devemos definir o local padrão para armazenar os aplicativos desenvolvidos. Escolha a opção “Use this as the default and do not ask again” para que esta janela não apareça novamente ao iniciar.

 

 

Criando o Dispositivo Virtual

 

É importante relembrar que para criar e testar aplicações Android não é preciso ter em mãos um aparelho com o Android. Depois de termos efetuado as configurações iniciais o passo seguinte é configurar o dispositivo Virtual. Um AVD (Android Virtual Device) é um conjunto de configurações usadas pelo Android Emulator. Ao criar um AVD nós podemos definir características de hardware e software que estão presentes no emulador. Para isto clique no ícone “Android Virtual Device manager”, conforme ilustra a Imagem 07.


Figura 07: Criando um AVD.

 

Na próxima tela, na primeira aba são listados todos os dispositivos virtuais existentes. Podemos conferir configurações como o nome, a plataforma, a API e o tipo de processador. Na aba “Device Definitions” temos a possibilidade de criar definições específicas de dispositivos, respeitando o tamanho da tela em polegadas, o tipo de resolução, presença ou não de sensores de proximidade, GPS, se possui ou não câmeras frontais ou traseiras, tipo de teclado, quantidade de Memória RAM entre outras configurações.

Para este artigo iremos utilizar dispositivos que já estão pré-configurados, para isto volte para a primeira aba e na região direita localize o botão “New” para configuração de um novo AVD. Ver Imagem 08.

Figura 08: Dispositivos Virtuais.

 

As configurações deverão seguir de acordo com a Tabela 01 a seguir.

 

Propriedade

Valor

Descrição

AVD Name

Android4.4

Nome do dispositivo

Device

4.0’’ WVGA (480 x 800: hdpi)

Tipo do Dispositivo

Target

Android 4.4 – API Level 19

Tipo de arquitetura

CPU/ABI

ARM (armeabi-v7a)

Processador

Keyboard

Hardware keyboard present

Presença de teclado

Skin

Display a skin with hardware controls

Estilo compatível com o Hardware

Front Câmera

None

Câmera frontal

Back Camera

Nome

Câmera Traseira

Memory Options

Ram: 512, VM Heap: 32

Quantidade de Memória RAM

Internal Storage

200 Mb

Armazenamento Interno

SD Card

Valor vazio

Presença de Cartão de Memória

Tabela 01: Valores da Máquina Virtual.

 

Ver Imagem 09 para maiores detalhes. Para concluir clique no botão “OK”.

Figura 09: Configurações de nossa Máquina Virtual.

 

Para iniciar clique no botão “Start” e na próxima tela deixaremos as opções de arranque como padrão. Normalmente quando emulamos uma máquina virtual o processo por padrão é um pouco lento, demandando muito do processador e do uso da memória RAM. É altamente recomendável possuir um Computador com uma configuração alta quando se trata de desenvolvimento para Android. Podemos conferir na Imagem 10 nossa máquina virtual funcionando.

Figura 10: Android 4.4.

 

 

Criando um Exemplo Prático

Clique no menu “File/New/Android Application Project” e teremos uma tela inicial com as seguintes configurações. Ver Tabela 02 e Imagem 11.

 

Propriedade

Valor

Descrição

Application Name

ExemploAndroid4

Nome da Aplicação

Project name

ExemploAndroid4

Nome do Projeto

Package Name

com.example.exemploandroid4

Nome do Pacote

Minimum Required SDK

API 19: Android 4.4 (KitKat)

Mínimo requerido

Target SDK

API 19: Android 4.4 (KitKat)

Alvo

Compile With

API 19: Android 4.4 (KitKat)

Compilar com

Theme

Holo Light with Dark Action Bar

Tema padrão

Tabela 02: Configurações Iniciais.

Figura 11: Configurações Iniciais no Projeto de Exemplo.

 

Na próxima tela iremos manter as configurações padrões, com as propriedades abaixo checadas, sendo:
“Create Custom Lancher icon” para criar um ícone de inicialização customizado, “Create Activity” para criar a Atividade com os métodos padrões e a definição do local onde será armazenado o aplicativo. Clique em “Next” para as próximas configurações. Na próxima tela temos também a possibilidade de alterar os estilo de tela padrão, como cor de fundo, tipo de escala entre outros tipos de lay-outs. Fiquem a vontade para configurar do jeito que acharem melhor. Para finalizar esta etapa definimos algumas outras configurações de acordo com a tabela 03. (Ver Imagem 12)

 

Propriedade

Valor

Descrição

Activity Name

MainActivity

Nome da Atividade

Layout Name

Activity_main

Nome do Layout

Navigation Type

None

Tipo de navegação

Tabela 03:Configurações Finais.

 

 

Figura 12: Configurações Finais.

 

Teremos o projeto localizado na região esquerda em “Package Explorer” com o título de “ExemploAndroid4”. Como é de costume, a Atividade Principal está situada no caminho “ExemploAndroid4/src/com.example.exemploandroid4/MainActivity.java”. Dê um duplo clique nesta classe e por padrão teremos o código conforme a listagem 01,

 

package com.example.exemploandroid4;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity
{

     @Override
     protected void onCreate(Bundle savedInstanceState)
     {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
     }

     @Override
     public boolean onCreateOptionsMenu(Menu menu)
     {
// Inflate the menu; this adds items to the action bar if it is present.
         getMenuInflater().inflate(R.menu.main, menu);
         return true;
     }
}

Listagem 01: Código da Atividade.

 

Podemos observar que foi implementado automaticamente dois métodos, o primeiro estamos acostumados, o “OnCreate()” já o segundo, o “OnCreateOptionsMenu” é um método sobrescrito que já vem  pronto para ser implementado, sendo responsável por Inflar o menu, o que adiciona itens para a barra de ação se ela estiver presente. Abrindo o arquivo de Lay-out situado na árvore “ExemploAndroid4/res/layout/activity_main.xml” poderemos observar diversas novidades na paleta de componentes, específicos da plataforma da versão 4 em diante. Ver Figura 13.


Figura 13: Palheta de Componentes.

 

Podemos conferir nesta versão um estilo muito mais elegante e organizado em minha opinião. Por exemplo, o padrão do Layout principal de nossa tela vem configurado como “relativeLayout” (Possibilita uma melhor flexibilidade e movimentação dos componentes na tela).

Outra facilidade que percebi (isto pelo fato do eclipse estar em uma versão bem atualizada) é que na região direita inferior temos as “Properties” (Propriedades) dos componentes, facilitando no desenvolvimento. Continuando o exemplo, iremos colocar alguns componentes na tela, Ver Tabela 04.

 

Palheta

Componente

Forms Widgets

Textview

Text Fields

Autocomplete

Time & Date

Digital Clock

Other

TextClock

Tabela 04: Componentes.



Abaixo o código XML correspondente:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

    <AutoCompleteTextView
        android:id="@+id/autoCompleteTextView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="16dp"
        android:ems="10"
        android:text="AutoCompleteTextView" >

        <requestFocus />
    </AutoCompleteTextView>

    <requestFocus
        android:layout_alignRight="@+id/autoCompleteTextView1"
        android:layout_below="@+id/autoCompleteTextView1"
        android:layout_marginRight="36dp"
        android:layout_marginTop="16dp" />

    <DigitalClock
        android:id="@+id/digitalClock1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/autoCompleteTextView1"
        android:layout_below="@+id/autoCompleteTextView1"
        android:layout_marginTop="31dp"
        android:text="DigitalClock" />

    <TextClock
        android:id="@+id/textClock1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/digitalClock1"
        android:layout_below="@+id/digitalClock1"
        android:layout_marginTop="28dp"
        android:text="TextClock" />

</RelativeLayout>

Agora sim podemos compilar e executar o exemplo pelo item menu “Run/Run” ou pela tecla de atalho. O resultado será idêntico ao da Imagem 14.

Figura 14: Exemplo em “Run-Time”.

 

Como instalar outras versões do Android?

Dentro do pacote de instalação “ADT Bundle for Windows” temos um aplicativo para instalação automática de pacotes de outras versões do Android, chamado “SDK Manager”, como foi dito no início do artigo. Vamos supor que o desenvolvedor precise desenvolver um aplicativo para celulares ou tablets mais antigos com a versão 2.2? Fazendo o uso deste aplicativo podemos resolver facilmente este problema. Para isto, dê um duplo clique para carregar uma tela idêntica ao da Figura 15.

Figura 15: SDK Manager.

Podemos observar que temos todas as versões do Android disponíveis para download e instalação. Para ficar mais claro, cada nível da API identifica a revisão da estrutura de uma versão da plataforma Android, no caso da Versão 2.2 estamos fazendo o uso da API 8. No site oficial podemos consultar todas as informações referentes às versões já lançadas.
http://developer.android.com/guide/topics/manifest/uses-sdk-element.html

Ao checar o item Android 2.2 (API 8), habilitará os sub-itens: “SDK Platform” (a Plataforma em si),  “Samples for SDK” (Exemplos prontos desta plataforma) e “Google APIs” (Plataforma específica para trabalhar com o Google). Basta clicar em “Install package...” e esperar alguns minutos para concluir este processo.

 

Conclusões

Procurei neste artigo explicar todas as etapas para preparar o ambiente de trabalho para a versão mais atualizada do Android até esta presente data (Versão 4.4 KitKat). Trabalhamos com a versão 7.45 do Java SE e configuramos o conjunto de ferramentas “ADT Bundle for Windows”, o que facilitou e muito a vida de nós programadores. Aproveitei também para criar um Dispositivo Virtual (AVD) totalmente compatível com o Android 4.4 seguido de um exemplo de utilização. Outra dica importante que achei necessário salientar é a instalação e configuração de outras versões da plataforma Android.
Espero que tenham gostado deste artigo, e ressalto que estamos abertos a novas sugestões para artigos futuros.
Um forte abraço e até o mês que vem!

 

Referencias
http://developer.android.com/

 


 

Sobre o Autor

Thiago Cavalheiro adora aprender novas tecnologias. � tecn�logo, formado pela Faculdade de Tecnologia de Botucatu � SP (FATEC) foi consultor t�cnico do The Club, j� desenvolveu softwares utilizando a plataforma .NET, Delphi junto com Banco de Dados SQL Server e Firebird. Atualmente trabalha no Centro de Processamento de Dados da Prefeitura Municipal de Ita�-SP. Possui as seguintes certifica��es: MCP - Microsoft Certified Professional, MCTS - Microsoft Certified Technology Specialist, MCAD - Microsoft Certified Application Developer e MCSD - Microsoft Certified Solution Developer.

E-mail: thiago@theclub.com.br

The Club - O Maior Clube de programadores do Brasil