JOAOSANTACRUZ.COM

Desenvolvimento de aplicações nativas para a Plataforma Android

Desenvolvimento de aplicações nativas para a Plataforma Android

1. Introdução

Nos últimos anos tenho vindo a evitar a utilização da linguagem Java, procurando na maioria dos casos, arranjar uma desculpa razoavél para a substituir por outra tecnologia.

O Android veio mudar esta situação!

Com seis anos dedicados a tecnologias “web”, decidi recentemente desviar um pouco a minha rota, na direção das aplicações “Mobile”. O meu objectivo é especializar-me no desenvolvimento de aplicações nativas para plataformas móveis.

 

Quando  olhei  pela primeira vez para o programa deste mestrado (M.O.S.S.) e verifiquei que dele constava uma cadeira de Java pensei: “é a minha oportunidade de aprender Java e ir em frente com o Android”. Assim foi, as aulas começaram, a matéria foi aparecendo, o objectivo/projecto final foi traçado e em casa os trabalhos foram iniciados. No final, a descoberta de uma linguagem fantástica e a minha primeira aplicação em Java para Android.

 

Nos próximos capítulos tento resumir aquilo que aprendi no decorrer deste desenvolvimento.

 

2. Plataforma Android

Foi em 2005 que a Google se interessou por uma empresa chamada Android, Inc, uma startup Californiana que tinha como principal core o desenvolvimento de aplicações/software para dispositivos moveis. Rapidamente o interesse se materializou em aquisição. A Google pretendia desenvolver um aparelho que oferecesse serviços baseados em localização, sendo que para tal precisava de um sistema, procurando por isso importar know - how e tecnologia para o mesmo.    

Dois anos e meio depois, a 5 de Novembro de 2007, a Google  anuncia o seu novo sistema operativo para dispositivos móveis baseado em Linux. Foi também referenciado que seria Open Source.

No mesmo ano e mês foi formada a Open Handset Alliance, que incluía empresas tão diversas como a Google, HTC, Motorola, Intel, Qualcomm, Sprint Nextel, T-Mobile, e NVIDIA. Era pretendido com a aliança o desenvolvimento de padrões abertos para dispositivos móveis. Em 2008 o Android passa a ser disponibilizado à comunidade como full Open Source. O primeiro dispositivo data de Setembro de 2008 e chamava-se de G1 tendo sido lançado pela T-Mobile. O Android é baseado na licença Apache, que é uma licença BSD (sem necessidade de após modificação ter de a redistribuir).

 

Histórico de versões:

 

João Silva e Dinis Monteiro  in “Android Vs Meego - FSOCA, M.O.S.S. 2010/11”

 

As aplicações para Android são escritas em Java. O código Java compilado,  juntamente com todos os dados e ficheiros necessários para a aplicação são fornecidos pela ferramenta AAPT num pacote de Android, um ficheiro com a extensão APK. É este o ficheiro que será utilizado na distribuição da aplicação e finalmente na sua instalação em dispositivos de consumidor final.

Ver mais em: http://developer.android.com/guide/topics/fundamentals.htm

 

3. Instalação

O JDK, o SDK do Android, o Eclipse e a configuração do plugin ADT, compõem o ambiente de desenvolvimento necessário à criação de aplicações.

  1. Instalar o Java SE Development Kit (http://www.oracle.com/technetwork/java/javase/downloads/index.html)
  2. Instalar o Eclipse (http://www.eclipse.org/downloads/)
  3. Instalar o Android SDK (http://developer.android.com/sdk/index.html)
  4. Instalar o ADT Plugin (http://developer.android.com/sdk/eclipse-adt.htmll)


Ver mais em: http://developer.android.com/sdk/eclipse-adt.html#installing

 

 

4. Primeiro projecto

Para criar a primeira aplicação para Android existe um “Projecto de teste” que pode ser iniciado da seguinte forma: Eclipse >> File > New > Project > Android > Android Test Project

 

Depois de selecionar “Android Test Project”, configurar o projecto de modo equivalente ao seguinte:

Depois de finalizar(“Finish”) a criação do projecto, ficamos com a seguinte estrutura de ficheiros:




Ao correr a aplicação teremos o seguinte resultado:


 

5. Interfaces gráficas

Na plataforma Android as interfaces com o utilizador, são definidas em XML, podendo também ser criadas em “runtime” através da programação (JAVA).

Uma ferramenta importante para a criação de interfaces gráficas, é a vista em “Layout” que faz parte do plugin ADT, é a (ver capítulo 3. Instalação).

 

Como construir uma primeira interface?

  1. Abrir o ficheiro “main.xml”(ponto 1)

  2. Selecionar a vista de “Layout” (ponto 2)

  3. Arrastando elementos de UI (ponto 3) para o “canvas” (ponto 4)

  4. Definir as propriedades dos elementos no separador propriedades (ponto 5)

 

6. Correr uma aplicação

Podemos correr uma aplicação de duas formas, através do Simulador ou utilizando um dispositivo real.

Para inciar a aplicação: Run > Run As > Android Application

Sempre que o simulador é iniciado, é feito um “startup” do sistema operativo(Android). Este é um processo algo lento por isso, o simulador não deverá ser encerrado, dessa forma apenas será lançada uma nova instância da aplicação por cada “Run”.


A forma mais rápida de “correr” uma aplicação é utilizando um dispositivo real, no meu caso, o HTC Legend, com o Android 2.2 "Froyo".


 

4. Debug

 

Um sistema de  “logs” permite ao programador fazer o debug da aplicação. Na API do Android existe uma class específica para fazer “log”: Classe Log (android.util.Log).

 

Estão disponíveis as funções Log.v(), Log.d(), Log.i(), Log.w(), r Log.e(), que diferem no nível de “log”:

 

Todas as anteriores funções recebem como parâmetros duas strings:

 

TAG - Todas as aplicações imprimem o “log” no mesmo “stream”, definindo uma tag podemos facilmente encontrar/filtrar a informação de “log” da nossa aplicação.

É uma boa prática definir a TAG como uma string constante:

private static final String TAG = "MOSS";

 

MSG - O segundo parâmetro  é  a  mensagem  que  queremos imprimir.

Para imprimir um log de DEBUG basta usar a linha abaixo:

Log.d(TAG, "O M.O.S.S. este aqui!");  


 

Análize de “logs” no Logcat

Para abrir o separador do “Logcat”: Window > Show View > Others > Android -> LogCat

 

Ponto 1     Seleccionar o nível de log pretendido

Ponto 2.1     Criar Filtro por TAG ou filtragem livre (ex: MOSS)

Ponto 2.2     Criar Filtro por TAG ou filtragem livre (ex: MOSS)

Ponto 3     Listagem dos logs resultantes do filtro efectuado

Ponto 4     Filtragem livre não permanente

 

Atenção!

A existência de um filtro que não retorna quaisquer resultados, cria a ilusão de  funcionamento incorrecto  do “LogCat”.

A elevada utilização de logs, poderá influenciar a performance da aplicação, especialmente quando colocados dentro de ciclos.

 

5. Marketing

Fortemente implementado no mercado de consumo, o “marketing”, é muitas vezes desvalorizado pela indústria do software. Até à data, o número de aplicações para disponíveis atingiu o valor de meio milhão. Obnubiladas, por esta imensidão de aplicativos, as empresas de software, principalmente as mais pequenas, sentem enorme dificuldade em concentrar atenções.

O “marketing” de produtos envolve estudo de mercado, planeamento, estratégia, posicionamento, lançamento e sustentação de um produto  no mercado de consumo.    

Como programador e parte interessada no estudo desta temática, acredito que se compreendidas e aprofundadas, estas premissas podem conduzir ao sucesso de uma aplicação.

 

João Silva in “Ensaio de dissertação - M.O.S.S.  MNESCA, 2010/11” 

Aspectos a considerar:

  1. Usabilidade

  2. Interface gráfica

  3. Iconografia

  4. Imagem do produto

  5. Campanhas de promoção


Para a minha aplicação, resolvi criar uma página de apoio que poderá ser consultada em: http://joaosantacruz.com/jz5/uk/songmemo

 

 

Continua (Capítulo 6, 7 e 8) ...