Observe que em “Mininum SDK” é especificada a versão mínima do Android instalada para desenvolvimento das aplicações, que neste caso é a versão 4.0.3 que instalamos através do Android SDK. Deixaremos esta opção selecionada (até porque também só existe essa opção).
Na próxima tela (clicando em “Next”) é aberto o seguinte formulário abaixo :
54
Criando uma nova Activity
Toda classe (arquivos “.java”) na plataforma Android, que representa uma aplicação, é considerada uma “atividade” (Activity). Para isso, precisamos definir uma atividade que vai representar a nossa aplicação Android. Para isso vamos criar uma nova atividade “em branco” (Blank Activity), conforme a opção selecionada na figura acima.
Com a opção “Blank Activity” selecionada, vamos clicar no botão “Next” e surgirá a seguinte tela abaixo :
55
Informações da Activity
Na seção acima definimos o nome da nossa atividade (Activity Name) assim como o nome do arquivo XML que vai representar a tela da nossa aplicação (Layout Name), o título que será exibido na aplicação (Title) e o nome do arquivo que irá gerenciar os itens de menus a serem exibidos na aplicação (Menu Resource Name). Por padrão o nome da “Activity” é “MainActivity”, e o nome do arquivo de layout é “activity_main”. Vamos alterar as informações conforme os dados abaixo :
Activity Name : HelloActivity
Layout Name : activity_hello
Title : Hello Android
Menu Resource Name : menu_hello
Vamos conferir como ficou na figura seguinte :
56
Informações da Activity
Por padrão, como na primeira seção, quando mudamos o conteúdo do campo “Activity Name”, o campo “Layout Name” é alterado automaticamente. Caso deseje você poderá escolher outros nomes para o campo alterado “automaticamente” sem afetar o nome da atividade.
Depois disso, clique em “Finish” para nosso projeto possa ser gerado. O resultado você confere na figura seguinte:
57
Projeto criado
Se por caso for exibido a seguinte mensagem abaixo :
Mensaegem de erro
Feche esta caixa de diálogo e prossiga para a próxima etapa.
58
Conhecendo a estrutura geral de um projeto no Android Studio
A primeira coisa que visualizamos que nos chama atenção é a tela do dispositivo com a frase “Hello world”, conforme podemos conferir na figura seguinte:
Visualização da tela do dispositivo
Se observamos a figura anterior, ao lado da tela do dispositivo temos uma paleta de componentes disponíveis que podemos utilizar para construir as nossas aplicações. Explicarei mais em detalhes no próximo capítulo.
Se visualizarmos o lado esquerdo, existe uma seção chamada “Project”, onde nela existe uma pasta chamada “app” (que é o nosso projeto), constituído por vários subdiretórios , que por sua vez, possui seus respectivos arquivos, conforme demonstra a figura seguinte:
59
Visualização dos diretórios do projeto
Irei comentar agora toda a estrutura de um projeto Android. Ele é composto por várias pastas e arquivos, cada um com uma finalidade em especifico.
O diretório “app” (application)
Vamos começar conhecendo primeiramente o diretório “app” (application). Dentro desse diretório temos todos os arquivos principais de nossa aplicação, distribuído pelos seus diretórios. Ao expandirmos o diretório “app” temos as pastas “manifest” e “java”. Dentro da pasta “manifest” temos o arquivo “AndroidManifest.xml”, com o seguinte código abaixo :
60
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.usuario.helloandroid" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".HelloActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Esse arquivo é considerado o “sistema nervoso” do Android, é através dele que definimos todas as permissões e configurações primordiais de nossa aplicação para que a mesma seja executada (não iremos fazer nenhuma modificação nesse arquivo).
Dentro da pasta “java” temos as nossas classes (arquivos “.java”) que fazem parte da nossa aplicação. Observe que dentro da nossa pasta existem dois pacotes de mesmo nome (“android.usuario.helloandroid”), sendo o último voltado para testes, onde dentro dele existe uma classe chamada “AndroidTest.java” , com o seguinte conteúdo abaixo :
Visão geral do arquivo “ApplicationTest.java”
61
No primeiro pacote existe um arquivo chamado “HelloActivity.java” , que é a classe principal do programa, que é através dela que definimos todos os ações da nossa aplicação :
Visão geral do arquivo “HelloActivity.java”
O arquivo aberto acima (HelloActivity.java) possui o seguinte conteúdo:
package android.usuario.helloandroid;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class HelloActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hello);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is
//present.
getMenuInflater().inflate(R.menu.menu_hello, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
62
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Diferentemente das aplicações comuns em Java (J2SE), toda classe que representa uma aplicação Android deve ser derivada da classe Activity (atividade), conforme você pode ver através do seguinte trecho de código:
public class HelloActivity extends Activity {
:
A classe “HelloActivity” possui como método principal o onCreate. A primeira linha de código presente neste método faz chamada ao método onCreate da classe base (a classe Activity), conforme podemos conferir abaixo:
super.onCreate(savedInstanceState);
Logo após esse método vem o método setContentView, responsável por exibir a tela da minha aplicação baseado nos layouts “xml". Por padrão ele chama o arquivo “activity_hello.xml”.
O diretório “res” (resources)
Dentro da estrutura de um projeto Android existe um diretório chamado “res” (resources), onde dentro dele colocamos todos os recursos que podemos utilizar em um programa Android (como imagens, sons, músicas e etc). Vamos conhecer os subdiretórios existentes dentro dessa pasta e a finalidade de cada um deles.
O diretório “drawable”
O diretório “drawable” presente dentro da pasta “res” do nosso projeto possui uma única finalidade : armazenar imagens que serão visualizadas dentro de uma aplicação Android. Uma coisa que precisa ser reforçada aqui é que os arquivos de imagens presentes nessa pasta não podem estar escritos de qualquer forma. Os arquivos a serem copiados dentro desse diretório devem possuir somente letras minúsculas (de “a” até “z”), números (de “0” a “9”) e underline (“_”).
63
O diretório “layout”
O diretório “layout” armazena todos os arquivos referentes as telas de uma aplicação Android, que normalmente são arquivos “.xml”. Para aqueles que conhecem a programação de HTML com JavaScript para a construção de páginas Web, no Android é similar, é a combinação de Java com XML para a construção de aplicativos Mobile.
O diretório “values”
Um dos recursos que o Android permite que usemos na construção das telas de nossa aplicação são “constantes”. Como bom programador que todos nós somos, sabemos que uma “constante” nada mais é do que um endereço de memória que vai armazenar um determinador valor, que será único até o fim da execução do programa. Mas, o que isso tem a ver com as telas da nossa aplicação ? Vou explicar.
Normalmente usamos constantes para armazenar valores fixos que, naturalmente, estarão presentes na maior parte do seu programa. É muito comum criarmos um título como nome de uma aplicação (como por exemplo : “Alpha Software”), que vai estar presente na maioria das telas (ou em todas) da sua aplicação. Imagine você digitar “manualmente” o nome de seu software em todas as telas da sua aplicação, seria um processo trabalhoso você não acha ? Agora imagine “futuramente” que você precise “mudar” o nome de sua aplicação ? Você terá novamente o mesmo trabalho para digitar em cada tela o nome da nova aplicação, sem dúvida. Usando constantes, você não terá esse trabalho.
Dentro dessa pasta temos os seguintes arquivos:
- “strings.xml” : Esse arquivo guarda constantes relacionadas à nossa aplicação em geral (como o nome da aplicação, o título que vai aparecer na aplicação e etc.).
- “dimen.xml” : Esse arquivo guarda constantes relacionadas as dimensões que podemos utilizar em nossa aplicação.
- “styles.xml” : Esse arquivo guarda constantes relacionadas à estilos que podemos utilizar em nossa aplicação.
64
O diretório “mipmap”
O diretório “mipmap” possui a mesma características do diretório “drawable” ( armazenar imagens) , porém, o mesmo foi destinado a armazenar nesta pasta somente imagens referentes ao ícone da nossa aplicação Android, que possa se comportar em várias resoluções de tela.
O diretório “menu”
Nesse diretório é armazenado o arquivo responsável por gerenciar e exibir os itens de menu em noss aplicação. Por padrão o arquivo que contem os itens de menu possui a seguinte estrutura abaixo :
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".HelloActivity">
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100" android:showAsAction="never" />
</menu>
Os itens de menu podem ser adicionados através do uso das tags específicas do XML para esse propósito (veremos isso mais adiante).
Visão geral da ferramenta de desenvolvimento
Acabamos de entender e conhecer acima toda a estrutura de diretórios de um projeto Android no Android Studio. Agora vamos dar uma visão geral na nossa ferramenta de desenvolvimento (IDE) para a plataforma Android.
65
Visão geral da ferramenta de desenvolvimento
Vamos entender as numerações indicadas na figura anterior :
Na indicação (1) temos a paleta de componentes onde os mesmos estão separados por seções. As seções são : Widgets , Text Fields, Layouts , Containers, Date e Time , Expert e Custom (Componentes personalizados, normalmente criados pelo usuário e entre outros recursos).
Na indicação (2) temos um preview de como ficará a interface da nossa aplicação quando a mesma for executada, nessa interface podemos arrastar e soltar os componentes (indicados por (1)) , construindo assim a nossa aplicação.
Na indicação (3) temos as propriedades do componente (Properties). Quando selecionamos um componente, as suas propriedades são visualizadas e assim, conforme nossa necessidade, podemos alterá-las.
Na indicação (4) temos uma seção chamada “Component Tree”. Nessa seção podemos ver , de forma hierárquica, todos os componentes que estão presentes na tela da nossa aplicação
Na indicação (5) podemos alternar entre o modo gráfico (“Design”, onde temos a visualização da tela da aplicação) e o modo XML (“Text”, onde visualizamos o
(1)
(2)
(3)
(4)
(5)
(6)
66
código XML do arquivo, que corresponde a estrutura que forma a tela de nossa aplicação).
Na indicação (6) podemos alterar os temas que podemos utilizar em nossa aplicação Android, orientação da tela do dispositivo (retrato ou paisagem), resolução da tela do dispositivo e etc. A maioria das opções disponíveis nessa seção só terá efeito em tempo de projeto. É necessário configurar as mesmas opções para que elas aconteçam em tempo de execução (quando você executa o emulador ou dispositivo real), de acordo com a necessidade.
Executando a nossa aplicação
Agora que já tivemos uma visão geral da ferramenta de desenvolvimento e do projeto em Android (com toda a sua estrutura de diretórios e arquivos), podemos a partir de agora executarmos a nossa aplicação. Mas antes de executarmos a nossa aplicação, irei fazer alguns comentários. Observe que quando criamos um projeto em Android, na tela do dispositivo já tem um componente TextView (situado na paleta de componentes , dentro da seção “Widgets”) onde nele é exibida a frase “Hello world”. Quando executarmos a nossa aplicação através do emulador, ela sairá idêntica como está sendo exibida no projeto (uma tela “em branco” com a frase “Hello world”).
Como fazer para executarmos a nossa aplicação ? Para executarmos a nossa aplicação basta irmos no menu “Run” / “Run ‘app’ " (ou pressionar as teclas SHIFT+F10) . Uma outra forma também é clicando no botão pressente na barra de ferramentas :
Botão “Run” do Android Studio
Feito isso será aberta a seguinte caixa de diálogo em seguida :
67
Caixa de diálogo – Choose device
Para executarmos a nossa aplicação iremos fazer uso de um dispositivo virtual (conhecido como “Android Virtual Device”), porém, esse dispositivo virtual não está criado (lembre-se : simplesmente baixamos através do Android SDK a imagem do sistema Android 4.0.3 ,mas, ainda não efetuamos nenhuma configuração e criação de dispositivo).

Comentários
Postar um comentário