quinta-feira, 9 de agosto de 2012

Primeira aplicação para o Android com botão

Deixando de lado detalhes de configuração do ADT Plugin Android no Eclipse, vamos explicar a anatomia da primeira aplicação com um botão para o Android.

Bibliotecas


//import android.app.Activity;
//import android.app.AlertDialog;
import android.app.*;
//import android.content.DialogInterface;
//import android.content.DialogInterface.OnClickListener;
import android.content.*;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
//import android.view.Menu;
//import android.view.View;
import android.view.*;
//import android.widget.Button;
//import android.widget.Toast;
import android.widget.*;

Atividade Principal (Ação principal)


Esta é a declaração default de MainActivity de uma aplicação Android

public class MainActivity extends Activity {

    private Button myButton;


@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
    // Outros métodos

}

Colocação de um botão


Na paleta de Form widgets selecionamos o Botão com o mouse e arrastamos para o Formulário. Damos a ele o Id de button1, e alteramos seu texto para "ClickMe".

O método PopIt

Como se trata de uma aplicação Java, cuja característica é a de provocar a escrita de muito código, vamos aproveitar um código que equivale a um Prompt (javascript) ou MessageBox (VBscript). Este código deverá ser utilizado para mensagens com opção de prosseguir e sair:


    public void PopIt( String title, String message ){
        new AlertDialog.Builder(this)
        .setTitle( title )
        .setMessage( message )
        .setPositiveButton("YES", new OnClickListener() {
            public void onClick(DialogInterface arg0, int arg1) {
                //do stuff onclick of YES
                finish();
            }
        })
        .setNegativeButton("NO", new OnClickListener() {
            public void onClick(DialogInterface arg0, int arg1) {
                //do stuff onclick of CANCEL
                Toast.makeText(getBaseContext(), "You touched CANCEL", Toast.LENGTH_SHORT).show();
            }
        }).show();
    }

Se você deseja escrever em Java, acostume-se com esta quantidade de código, ou então desista.

Declarando o evento do botão


    public void ClickBotao(View v){
    PopIt("Exit Application", "Are you sure you want to exit?");
    }



O evento de Click de button1 foi declarado nas propriedades deste botão como ClickBotao, e aqui declaramos que ele vai mostrar a janela PopIt.



Ajustando o início da aplicação


    protected void start(){
    myButton = (Button) findViewById(R.id.button1);
    }

O botão reside em R.java, que declara todos os identificadores de controles:


Código Completo


package com.example.berna1;

//import android.app.Activity;
//import android.app.AlertDialog;
import android.app.*;
//import android.content.DialogInterface;
//import android.content.DialogInterface.OnClickListener;
import android.content.*;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
//import android.view.Menu;
//import android.view.View;
import android.view.*;
//import android.widget.Button;
//import android.widget.Toast;
import android.widget.*;


public class MainActivity extends Activity {

    private Button myButton;


@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
    protected void start(){
    myButton = (Button) findViewById(R.id.button1);
    }
    public void ClickBotao(View v){
    PopIt("Exit Application", "Are you sure you want to exit?");
    }
    public void PopIt( String title, String message ){
        new AlertDialog.Builder(this)
        .setTitle( title )
        .setMessage( message )
        .setPositiveButton("YES", new OnClickListener() {
            public void onClick(DialogInterface arg0, int arg1) {
                //do stuff onclick of YES
                finish();
            }
        })
        .setNegativeButton("NO", new OnClickListener() {
            public void onClick(DialogInterface arg0, int arg1) {
                //do stuff onclick of CANCEL
                Toast.makeText(getBaseContext(), "You touched CANCEL", Toast.LENGTH_SHORT).show();
            }
        }).show();
    }
}





Nenhum comentário:

Postar um comentário