Monteiro João Bosco - Google Android: crie aplicações para celulares e tablets стр 15.

Шрифт
Фон

referências para os dois EditText, através do método findViewById.

public class BoaViagemActivity extends Activity {

private EditText usuario;

private EditText senha;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.login);

61

3.1. LinearLayout

Casa do Código

usuario = (EditText) findViewById(R.id.usuario);

senha = (EditText) findViewById(R.id.senha);

}

}

Note que foi passado para o

findViewById

uma referência para

R.id.usuario e em seguida para R.id.senha. Essas são referências para

os EditText que criamos anteriormente na tela e demos o nome de usuario e

senha.

Com esses componentes recuperados, agora podemos descobrir qual é o texto

que está neles quando o método entrarOnClick for invocado:

public void entrarOnClick(View v) {

String usuarioInformado = usuario.getText().toString();

String senhaInformada = senha.getText().toString();

if("leitor".equals(usuarioInformado) &&

"123".equals(senhaInformada)) {

// vai para outra activity

} else{

// mostra uma mensagem de erro

}

}

}

No caso de falha na autenticação, deve-se exibir uma mensagem para o usuário, através do widget Toast, que serve para apresentar uma notificação rápida para o usuário, informando o resultado de alguma operação. É possível definir por quanto tempo a mensagem ficará visível, através de uma duração Toast.LENGTH_SHORT

ou Toast.LENGTH_LONG.

if("leitor".equals(usuarioInformado) &&

"123".equals(senhaInformada)) {

// vai para outra activity

}

else {

String mensagemErro = getString(R.string.erro_autenticao);

Toast toast = Toast.makeText(this, mensagemErro,

Toast.LENGTH_SHORT);

toast.show();

}

62

Casa do Código

Capítulo 3. Domine os principais elementos de Interface Gráfica

Repare que recuperamos a mensagem de erro em um arquivo strings.xml,

através de R.string.erro_autenticacao, ou seja, temos nesse arquivo uma

mensagem cujo nome é erro_autenticacao:

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

2 <resources>

3

<!-- mensagens padrão -->

4

5

<string name="erro_autenticacao">Usuário ou senha inválidos</string> 6 </resources>

A única coisa que falta agora é redirecionar o usuário para outra acti-

vity caso a autenticação seja feita corretamente.

Para isso, criaremos uma

DashboardActivity que vamos implementar nas próximas seções e falar que, ao

autenticar, essa activity será iniciada:

if("leitor".equals(usuarioInformado)

&&

"123".equals(senhaInformada)){

startActivity(new Intent(this,DashboardActivity.class));

} else {

String mensagemErro = getString(R.string.erro_autenticao);

Toast toast = Toast.makeText(this, mensagemErro,

Toast.LENGTH_SHORT);

toast.show();

}

3.2

RelativeLayout

O próximo passo é criar o layout e a atividade para exibir a tela de opções da nossa aplicação, o dashboard. Para esta tela, utilizaremos uma combinação do

LinearLayout, que acabamos de ver, com o RelativeLayout. É bastante co-

mum, e muitas vezes necessário, aninhar diversos tipos de layout.

O RelativeLayout, um dos mais poderosos e versáteis disponíveis na plata-

forma Android, permite posicionar um elemento em um local relativo a outro componente. É possível, por exemplo, posicionar uma imagem abaixo de um botão, que fica à esquerda de um TextView. Vamos criar um novo arquivo XML de layout chamado dashboard.xml. O objetivo é que tenhamos, além da tela de login, uma

nova tela com as ações que podemos fazer na aplicação, como na imagem 3.3.

63

3.2. RelativeLayout

Casa do Código

Figura 3.3: Tela de login e dashboard da aplicação

Para construirmos essa nova tela, vamos adicionar o RelativeLayout que

deve ocupar todo o espaço restante deixado pelo LinearLayout:

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

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="#333333"

android:orientation="vertical">

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:text="@string/app_name"

android:textAppearance="?android:attr/textAppearanceLarge" />

<RelativeLayout

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="#015488">

64

Casa do Código

Capítulo 3. Domine os principais elementos de Interface Gráfica

<!-- Vamos adicionar elementos aqui -->

</RelativeLayout>

</LinearLayout>

Para representar cada opção da dashboard, vamos utilizar TextViews que serão

alinhados de forma relativa aos demais elementos na tela. Para posicionar o primeiro elemento da dashboard no canto superior esquerdo, incluiremos um TextView que define um tamanho de margem esquerda ( layout_marginLeft) e para o topo

(layout_marginTop).

Este elemento não possui nenhuma informação específica de layout relativo,

apenas de margens, mas servirá de referência para o próximo TextView. Este,

por sua vez, ficará no canto superior direito. Então, iremos colocá-lo ao lado direito do seu componente-pai (o próximo RelativeLayout), utilizando o atributo layout_alignParentRight=true. Também é preciso alinhar o seu topo com

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке