Pular para o conteúdo principal

Hello Android!

Faz muito tempo (bem mais do que eu gostaria)  que eu comecei a falar sobre o Android, naquela ocasião eu dei uma noção sobre o comportamento do sistema, alguns componentes e recursos e agora codificaremos nossa primeira aplicação.
Antes de codificar precisamos conhecer um pouco de nossa ferramenta, o Eclipse, precisamos saber de suas dependências, de como ele organiza os recursos da aplicação. Além disso codificaremos nosso primeiro projeto e o testaremos no emulador.

O que é o Eclipse?

  • Ambiente de desenvolvimento integrado para Java e C/C++ que surgiu em 2001;
  • 65% de tudo desenvolvido em Java é feito com Eclipse;
  • Conta com mais de 200 projetos open source eu cobrem diferentes aspectos de desenvolvimento;

O que é o Android SDK ?

  • Conjunto de bibliotecas e ferramentas para construir, testar e “debugar” aplicações para o Android;

Requisitos

  • Java Development Kit (JDK) versão 6;
  • Pacote Google com o Eclipse e o SDK Android (adt-bundle-windows-x86);

Instalando

  • O eclipse basta ser descompactado, evitar diretórios com caracteres especiais e espaços;
  • Crie um atalho para o arquivo “eclipse.exe” para a área de trabalho, em seguida execute;
  • Nesse momento se o JDK não estiver instalado um erro irá ocorrer, se isso ocorrer instale-o seguindo as configurações default;

Eclipse executando

A primeira coisa a fazer é definir o workspace, que é simplesmente o local onde os projetos ficarão;
image

Depois de iniciado será apresentada uma tela de boas vindas, feche-a para ver a tela inicial:
image

Para alterar a aparência: Window → Preferences → General → Appearance.
image

Perspectivas são áreas que nos permitem ver recursos além do código, como por exemplo os passo do debug:
image

Criando o primeiro programa Java no Eclipse:

  • File → New → Java Project;
  • Defina “HelloEclipse” como nome do projeto em seguida pressiona “finish”;
  • Nosso projeto foi criado com uma área padrão definida “src”;
  • Vamos criar nosso primeiro pacote clique com o direito em src, depois New → Package, com o nome “com.hello”;
  • Pacotes servem para organizar as classes, é uma forma de agrupar códigos que dizem respeito a processos idênticos;
Para criar uma classe:
  • Clique com o direito sobre nosso pacote “com.hello”, depois New → Class, vamos chama-la de “hello” e selecionar a opção “public static void main” em seguida clique no botão “finish”;
O Eclipse conta com a funcionalidade de “auto completar”, basta iniciar a digitação de um pacote e a ferramenta oferece possíveis funcionalidades:
image

O conteúdo de nossa classe deverá ser o seguinte:

image

Para testar nosso primeiro programa base pressionar o botão “Run”, seta verde, se o código ainda não foi salvo será oferecida uma tela para tal;
Percebam que será aberta uma “área” chamada console onde o resultado de nosso programa será apresentado;
Essa “área” é uma das visões do Eclipse, as visões podem ser habilitadas em Window → Show View;
 

Primeiro projeto Android

  • File → New → Android Application Project;
  • Depois definimos o nome da aplicação, do projeto e do pacote (além de estrutura física no desenvolvimento será como nossa aplicação será conhecida no Android);
  • Ainda é preciso definir os requisitos de SDK, o mínimo o alvo e o de compilação;
  • Também podemos definir um tema inicial para nosso projeto, um conjunto de características visuais que nossos componentes compartilharão;
image
  • Nos passos seguintes podemos manter o padrão:
  • Em “New Android Application” deixaremos marcados as caixas para criar uma imagem padrão para o sistema, criar uma atividade e criar o projeto no “workspace” padrão;
  • Em ”Configure Launcher icon” continuaremos com a imagem padrão;
  • Em “Create Activity” deixaremos marcado para criar uma atividade e usaremos uma atividade em branco;
  • Em “Blank Activity” definimos o nome da classe java e o nome do layout de nossa atividade, e para o tipo de navegação deixaremos o valor padrão “None”;
/res/layout/activity_main.xml:
  • Os arquivos na pasta layout são responsáveis por definir a interface gráfica de nossas telas;
  • Por padrão nosso arquivo possui um “RelativeLayout” para organizar os elementos da tela e um “TextView” para apresentar um texto;
/res/values/strings.xml:
  • Nesse arquivo existem as mensagens da aplicação, todos os textos de nosso aplicativo devem ficar aqui, o que nos permitirá alterar valores de forma rápida para mudar expressões ou mesmo traduzir o sistema;
/res/values/styles.xml:
  • É nesse arquivo que devemos agrupar características comuns que os componentes de nossa aplicação irão compartilhar, como cores, tamanhos, alinhamento entre outros;
/res/drawable-???:
  • É nesse diretório que as imagens utilizadas pelo sistema devem ficar, existem vários diretórios onde cada um deve possuir imagens em especificas resoluções, de acordo com os tamanhos de tela que desejamos que nossa aplicação funcione;

Máquina Virtual

Para testarmos nossa aplicação será necessário um ambiente Android, por isso devemos configurar uma maquina virtual:


image

Em “Android Virtual Device Manager” devemos criar nossa maquina virtual, ao clicar em “New...”iremos definir o nome de nossa maquina virtual, o tipo de dispositivo, a versão do Android, o total de memoria RAM que ele terá, o total de armazenamento interno e, se necessário o total de memoria de um possível cartão de memoria;
image

Ao clicar no botão “Run” (seta verde) pela primeira vez devemos escolher como “rodar” nossa aplicação, nesse caso deve ser “Android Application”:
image

Nesse momento nossa aplicação será enviada para a maquina virtual, lá ela será instalada e iniciada assim conseguiremos usa-la como qualquer outra aplicação do Android:
image

Fonte:


















Comentários

Mais visitadas

Iniciar e Parar Serviços do Windows (Delphi)

Em certas ocasiões nos deparamos com a necessidade de manipular determinadas atividades do SO, como iniciar ou parar um banco de dados, ou qualquer outro serviço que esteja funcionando no momento. Segue abaixo um código que encontrei na Internet para tal finalidade (não me recordo à fonte, assim que eu a encontrar colocarei). Iniciar Serviço: uses WinSvc; // // start service // // return TRUE if successful // // sMachine: //   machine name, ie: \SERVER //   empty = local machine // // sService //   service name, ie: Alerter // function ServiceStart(   sMachine,   sService : string ) : boolean; var   //   // service control   // manager handle   schm,   //   // service handle   schs   : SC_Handle;   //   // service status   ss     : TServiceStatus;   //   // te...

Listar arquivos existentes em diretório (Delphi)

Mostraremos uma maneira simples e prática para listar o conteúdo de um diretório com a opção de incluir nessa listagem os arquivos de seus subdiretórios. No exemplo abaixo temos um Edit para receber o diretório a ser pesquisado um CheckBox para indicar se os subdiretórios entrarão na pesquisa um botão para efetuar a pesquisa e um Memo para listar os arquivos encontrados, no final um Edit que receberá o cálculo final (em bytes) da soma do tamanho dos arquivos. procedure TForm1.Button1Click(Sender: TObject); begin   tamanhoTotal := 0;   memLista.Lines.Clear;   ListarArquivos(edtDiretorio.Text, chkSub.Checked);   Edit1.Text := IntToStr( tamanhoTotal ); end; procedure TForm1.ListarArquivos(Diretorio: string; Sub:Boolean); var   F: TSearchRec;   Ret: Integer;   TempNome: string; begin   Ret := FindFirst(Diretorio+'\*.*', faAnyFile, F);   try     while Ret = 0 do ...

Centralizar Texto em Edit

Como todos sabemos o Edit mantém todo texto digitado a esquerda, o que não fica bem quando o usamos para a entrada de números, pois bem, o exemplo abaixo apresenta uma alternativa para centralizar um determinado valor dentro de um Edit: procedure EditChange(Sender: TObject); var vl_label : TLabel; //variável do tipo Label begin vl_label := TLabel.Create(self); //criamos um label WITH vl_label DO BEGIN Font.Name := TEdit(sender).Font.Name; //pegamos a fonte usada no edit Caption := TEdit(sender).Text; //pegamos o conteúdo do edit SendMessage(TEdit(sender).Handle, EM_SETMARGINS, EC_LEFTMARGIN, (TEdit(sender).Width-vl_label.Width) div 2); //centraliza no label e retorna para o edit END ; vl_label.Free; end ;