Вы находитесь на странице: 1из 5

PROJETO 01 PARE E ANDE

PROJETO PARE E ANDE


No gosto muito dos projetos iniciados por HelloWorld, vamos fazer algo diferente, um HelloWorld
melhorado.
Chega de conversa e vamos iniciar o projeto.
Clique em file\new\project e escolha Android Application Project e preencha com os dados abaixo e avance
para prxima tela.

Avance at finalizar com os dados desta da tela abaixo.

Layout Principal
Acesse a pasta res/layout e abra o arquivo activity_vermelho com clique duplo. O seu
editor ser aberto atravs de um editor grfico chamado Graphical Layout, selecione
a aba ao lado activity_vermelho para trabalharmos no seu cdigo fonte.
Faa as seguintes alteraes no cdigo fonte.
<LinearLayout
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=".VermelhoActivity"
android:gravity="center"
android:background="@color/vermelho"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</LinearLayout>

Prof Fabiano Albers | PROJETO 01 PARE E ANDE

A primeira propriedade indica que todos os elementos internos so centralizados, e a segunda define a cor de fundo
desta janela ( mostrado um erro informando que no existe este recurso).
Arquivo de Recursos
Selecione a pasta values e na barra de ferramentas clique em New
e nomei como cores e clique em finish.
Vamos trabalhar com o arquivo XML ao invs do Editor de Recursos. Na aba inferior clique em cores.xml.
Modifique este arquivo com a seguinte codificao.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="vermelho">#F00</color>
</resources>

Os arquivos de recursos contem um elemento que possui o nome do recurso a ser utilizado (neste caso uma
cor (color) ), um atributo com seu nome (name) e no contedo do elemento, seu valor, no caso da cor um padro
hexadecimal RGB.
Construo do Layout Vermelho
Retornando ao arquivo activity_vermelho, podemos checar que a linha que estava com erro foi corrigida.
Modifique o elemento TextView:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="20dp"
android:textColor="@color/preto"
android:text="@string/pare" />

As propriedades layout_width e layout_height definem como o elemento mostrado no layout em relao a


largura e altura, respectivamente. Existem duas possibilidades:
 fill_parent: significa que deve ocupar todo o espao disponvel;
 wrap_content: ocupar somente o espao necessrio definido.
A propriedade paddingbottom refere-se a distncia inferior que deve se encontrar o prximo objeto. Relativo
a essa distncia, poderiamos ainda utilizar os seguintes atributos:
 paddingLeft: referente esquerda;
 paddingRight: referente direita;
 paddingTop: referente acima;
 padding: o mesmo valor para as quatro propriedades;
A propriedade textColor define a cor da letra do objeto.
Adicione o seguinte elemento no arquivo cores.xml:
<color name="preto">#000</color>

Abra o arquivo strings.xml, que se encontra na pasta values. Na aba inferior, selecione strings.xml e observe
que j existem dois elementos. Modifique este arquivo de recursos conforme a seguinte codificao.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Pare e Ande</string>
<string name="action_settings">Settings</string>
<string name="pare">Ateno: PARE</string>
</resources>

Retorne ao arquivo activity_vermelho e adicione o elemento abaixo do elemento TextView, conform a


seguinte codificao:
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/btTrocar"
android:text="@string/btTrocar"
/>

Prof Fabiano Albers | PROJETO 01 PARE E ANDE

No elemento Button indicamos atravs do atributo layout_width que o elemento ocupa todo o espao
horizontal, e no atributo layout_height definimos que o elemento possui uma largura conforme o seu contedo.
A propriedade id indica um identificador para esse elemento, ao usarmos o prefixo @+id, indicamos ao
Android Tools que esse identificador no existe e que deve ser criado na classe R. A propriedade text define o texto
dentro do boto. Insira o seguinte elemento no arquivo strings.xml.
<string name="btTrocar">Trocar Cor</string>

Nosso primeiro Layout est finalizado. Retorne para o arquivo activity_vermelho, e clique na aba Graphical
Layout e veja como ficou.
Construo do Layout Verde
Vamos criar outro layout que corresponde a cor verde. Selecione a pasta layout e clique no boto New
nomeie verde e clique em finish. Modifique esse layout conforme a seguinte codificao:

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="center"
android:background="@color/verde"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="20dp"
android:textColor="@color/preto"
android:text="@string/ande"
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@id/btTrocar"
android:text="@string/btTrocar"
/>
</LinearLayout>

Essa janela quase um espelho da outra, sendo que os cdigos so identicos, salvo a troca do valor dos
atributos. Enquanto a primeira janela mostra a cor vermelha de fundo, esta mostra a cor verde. Na primeira, o
TextView indica pare, e aqui indica ande.
Outro diferena esta no boto deste layout que no possui o @+id. Isso ocorre porque este identificador foi
criado para o projeto, e no devemos criar outro com o mesmo nome. So mostrados nesse arquivo dois erros
indicando que faltam elementos. Adicione um elemento no aquivo cores.xml.
<color name="verde">#0F0</color>

Adicione outro elemento no arquivo strings.xml.


<string name="ande">Ande com cuidado</string>

Finalizamos nosso layout.

Prof Fabiano Albers | PROJETO 01 PARE E ANDE

Modificar a Atividade Principal


Uma atividade pode estar associada a um ou vrios layouts, sendo uma classe em liguagem java.
Na pasta src selecione o pacote com.projeto.pareande e abra o arquivo VermelhoActivity.java com um duplo
clique. Uma atividade herda suas funcionalidades da classe android.app.Activity, ao ser criada, ela chama o mtodo
onCreate() . Modifique o mtodo onCreate conforme a seguinte codificao:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_vermelho);
Button btTrocar = (Button)findViewById(R.id.btTrocar);
btTrocar.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
chamarOutra();
}
});
}

Posicione o curso sobre o erro na classe view e clique em import, para importar os pacotes necessrios.
Inicialmente enviamos a instncia do estado desta atividade para a classe Pai. O mtodo setContentView()
associa a atividade ao layout atravs do seu identificador, encontrado na classe R (criado manualmente pela
AndroidTools).
Criamos um objeto da classe Button e o associamos ao elemento Button, que est no layout atravs do
retorno do mtodo findViewById() que recebe o identificador do elemento a associar. Um evento uma ao que
um elemento executa, neste caso um pressionamento. criado um objeto que implementa a interface Listener e,
definido que quando ocorrer o evento de ao, disparada a instruo de chamar um mtodo chamarOutra().
Criar uma Nova Atividade
Vamos dar um tempo nesta atividade (provavelmente est com erra na linha da chamada do mtodo, pode
deix-la assim, em breve corrigiremos). Selecione o pacote com.projeto.pareande clique com o boto direito e
selecione New/Class.
Agora preencha com os dados abaixo e clique em finish.
Insira o mtodo OnCreate() conforme a seguinte
codificao:
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.verde);
Button btTrocar =
(Button)findViewById(R.id.btTrocar);
btTrocar.setOnClickListener(new
View.OnClickListener(){
public void onClick(View v){
chamarOutra();
}
});
}

Agora devemos indicar sua existncia no arquivo


AndroidManifest.xml. Insira um novo elemento activity
conforme a seguinte codificao :

</activity>
<activity
android:name=".VerdeActivity"
android:label="@string/app_name"
></activity>
</application>

Prof Fabiano Albers | PROJETO 01 PARE E ANDE

Para adicionar uma nova atividade criamos um novo elemento activity, e informamos qual a classe desta
atividade (CUIDADO: comea com . De modo a juntar com o nome do pacote) no atributo android:name e no
ttulo a janela no atributo android:label. Retorne para a classe VermelhoActivity e complete-a com o mtodo
chamarOutra(). Coloque-o abaixo do mtodo OnCreate();
private void chamarOutra(){
startActivity(new Intent(this, VerdeActivity.class));
}
Obs:Caso aparea algum erro no Intent, posicione o curso sobre e clique em import.

Para chamar outra atividade usamos o mtodo startActivity(). Este mtodo recebe um objeto contendo a
nossa inteno. Uma inteno um objeto classe android.content.Intent que corresponde a qualquer ao que
pretendemos que o aparelho realize, neste caso chamar outra atividade. O construtor recebe dois parmetros: o
objeto da classe origem e classe de destino.
Na classe VerdeActivity complete-a com o mtodo chamarOutra() colocando-o abaixo do mtodo OnCreate()
conforme a seguinte codificao:
private void chamarOutra(){
finish();
}

Essa instruo finaliza a atividade.


Resumidamente: a classe VermelhoActivity chama a classe VerdeActivity, isso a coloca por cima numa pilha
de atividades, e ao ser pressionado o boto dessa classe, realizada a finalizao desta atividade, retornando, assim,
para a atividade anterior.
Executando o Projeto
Pressione o boto direito do mouse sobre o projeto e selecione a opo Run As / Android Application.
Pronto, projeto finalizado e funcionando.
Faa, refaa, vrias vezes e tente criar outros projetos nesta linha de aprendizado para ir conhecendo e
aprendendo mais sobre os arquivos de recursos, atividade, fazer uma atividade chamar outra, finalizar uma
atividade.

Pensamento do dia !!!

Por causa da pressa, a mosca nasceu sem osso.


Prof Fabiano Albers | PROJETO 01 PARE E ANDE

Вам также может понравиться