1 public class MainActivity extends Activity {
2
3
@Override
4
public void onCreate(Bundle savedInstanceState) {
5
super.onCreate(savedInstanceState);
6
setContentView(R.layout.activity_main);
7
}
8
9
@Override
10
public boolean onCreateOptionsMenu(Menu menu) {
11
getMenuInflater().inflate(R.menu.activity_main, menu);
12
return true;
13
}
14 }
Para criar uma atividade, basta fazer
com que nossa classe estenda a
classe
Activity do Android, como pode ser visto na linha 1.
Já na li-
nha 6, passamos para o método setContentView o identificador do layout,
R.layout.activity_main, que deve ser carregado para construir a interface grá-
fica da nossa Activity. É bastante comum e também recomendado que as infor-
mações referentes a layouts e interfaces gráficas estejam externalizadas em arquivos 22
Casa do Código
Capítulo 1. Construa sua primeira aplicação
XML, separados do código da aplicação. Essas e outras boas práticas nós aprenderemos no decorrer do livro.
Vamos prosseguir verificando o arquivo activity_main.xml, que se encon-
tra no diretório res/layout/ do projeto.
1 <RelativeLayout
2
xmlns:android="http://schemas.android.com/apk/res/android"
3
xmlns:tools="http://schemas.android.com/tools"
4
android:layout_width="match_parent"
5
android:layout_height="match_parent" >
6
7
<TextView
8
android:layout_width="wrap_content"
9
android:layout_height="wrap_content"
10
android:layout_centerHorizontal="true"
11
android:layout_centerVertical="true"
12
android:padding="@dimen/padding_medium"
13
android:text="@string/hello_world"
14
tools:context=".MainActivity" />
15
16 </RelativeLayout>
Recursos gráficos do ADT
Quando abrimos um arquivo de layout no Eclipse com o ADT ins-
talado, ele é apresentado em um visualizador de layouts (aba Graphical
Layout), no qual é possível verificar como o layout está ficando além de
contar com opções para configurar diversos atributos. Também é possí-
vel utilizar esse recurso para adicionar elementos de layout e de entrada
de dados. Para ver o XML resultante selecione a outra aba que possui o
nome do arquivo. Para conhecer mais sobre os recursos disponíveis no
ADT visite http://developer.android.com/tools/help/adt.html.
Neste arquivo de definição de layout temos dois elementos declarados, o
RelativeLayout e o TextView, com seus respectivos atributos. Como o nome
sugere, o RelativeLayout (linha 1) é um elemento para organização do layout da tela, permitindo configurar a sua altura e largura.
23
1.4. Conheça a estrutura do projeto
Casa do Código
Já o TextView é um widget utilizado para apresentar na tela uma informa-
ção textual. O valor a ser exibido por este elemento está especificado através do atributo text. Repare que na linha 13 o valor que TextView deve exibir é
@string/hello_world. Aqui temos novamente um caso no qual a externaliza-
ção é recomendada principalmente para facilitar a internacionalização da aplicação, suportando vários idiomas diferentes e para até mesmo reaproveitar mensagens.
O valor que será utilizado no
TextView
será na verdade o con-
teúdo da
string que possui o identificador
hello_world.
No arquivo
res/values/strings.xml é possível observar como isso foi definido:
1 <resources>
2
<string name="app_name">HelloAndroid</string>
3
<string name="hello_world">Hello world!</string>
4
<string name="menu_settings">Settings</string>
5
<string name="title_activity_main">MainActivity</string> 6 </resources>
Na linha 3, declaramos uma string com o nome hello_world cujo valor é
Hello World!. Por convenção, o arquivo strings.xml é onde definimos recursos do tipo string, ou seja, textos que queremos exibir de alguma maneira em nossa aplicação. Para finalizar, altere o valor da string hello_world para "Hello Android!" e execute a aplicação novamente. O resultado desta alteração pode ser visto na imagem 1.21
Dica: Acessando o AVD Manager e SDK Manager pelo
Eclipse
Após a instalação e configuração do ADT, através do menu Window
é possível fazer um acesso rápido ao AVD Manager e SDK Manager para
baixar novas versões do Android e também criar novos dispositivos vir-
tuais!
24
Casa do Código
Capítulo 1. Construa
sua primeira aplicação
Figura 1.21: Hello Android
1.5
Hello World 2.0
Para melhorar a nossa aplicação, iremos incluir mais algumas coisas e aproveitar para entender alguns pontos fundamentais do desenvolvimento Android. Em nossa versão melhorada do Hello World, o usuário informará seu nome em uma caixa de texto, pressionará um botão e a aplicação apresentará uma saudação personalizada.
A aplicação ficará com a seguinte aparência:
25
1.5. Hello World 2.0
Casa do Código
Figura 1.22: Versão melhorada
Podemos modificar o layout activity_main.xml já existente, para incluir
um campo onde o usuário irá informar o seu nome. Esse campo pode ser criado
utilizando um widget do tipo EditText, no qual podemos inclusive indicar que o mesmo receberá o foco da aplicação:
<EditText
android:id="@+id/nomeEditText"