wtorek, 23 października 2012

Opis aktywności Zgadula


Na początku jak zawsze import bibliotek i pakietów

package pl.net.turka.android.develop.przyklad_04;
import pl.net.turka.android.develop.przyklad_04.Gra;
import pl.net.turka.android.develop.przyklad_04.R;
import pl.net.turka.android.develop.przyklad_04.Ustawienia;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

Definicja klasy Zgadula informacja że będziemy korzystać z OnClickListener



public class Zgadula extends Activity implements OnClickListener {
Definicje stałych i zmiennych

static final private int ALERT_DIALOG_INFO = 1;
private static final String ZNACZNIK = "Zgadula" ;
private Button koniec;
private Button info;
private Button gra;
private Button ustaw;
Budowanie - wyświetlanie poszczególnych elementów ekranu i powiązanie ich z metodą onClick

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_zgadula);
     
        koniec = (Button) findViewById(R.id.przycisk_koniec);
        koniec.setOnClickListener(this);
        info = (Button) findViewById(R.id.przycisk_info);
        info.setOnClickListener(this);
        gra = (Button) findViewById(R.id.przycisk_gra);
        gra.setOnClickListener(this);
        ustaw = (Button) findViewById(R.id.przycisk_ustawienia);
        ustaw.setOnClickListener(this);
    }
 Metoda obsługująca przyciśnięcie przycisku i wywołanie odpowiedniej akcji
 
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.przycisk_info:
        showDialog(ALERT_DIALOG_INFO);
            break;
        case R.id.przycisk_gra:
        otworzDialogNowaGra();
            break;
        case R.id.przycisk_ustawienia:
        Intent intencja = new Intent(this, Ustawienia.class);
            startActivity(intencja);
        break;
        case R.id.przycisk_koniec:
            finish();
            break;
        }
    }    
Metoda wyświetlająca okno dialogowe z wyborem poziomu trudności i przekazanie wyboru następnej metody uruchomGre()

  
    private void otworzDialogNowaGra() {
        new AlertDialog.Builder(this)
            .setTitle(R.string.tytul_nowa_gra)
            .setItems(R.array.trudnosc,
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialoginterface, int i) {
                    uruchomGre(i);
                }
            })
            .show();
    }
Metoda uruchamiająca aktywność Gra i przekazanie jej parametru - informacje o poziomie trudności

    private void uruchomGre(int i) {
    Log.d(ZNACZNIK, "kliknięto " + i);
        Intent intencja = new Intent(this, Gra.class);
        intencja.putExtra(Gra.TRUDNOSC_KLUCZ, i);
        startActivity(intencja);
    }
Metody wyświetlające okno dialogowe

    @Override
    protected Dialog onCreateDialog(int id) {
switch (id) {
case ALERT_DIALOG_INFO:
return createPlainAlertDialog();
default:
return null;
}
}
    private Dialog createPlainAlertDialog() {
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
dialogBuilder.setTitle("Informacje");
String tekst_info = "Informacje o grze ";
dialogBuilder.setMessage(tekst_info);
return dialogBuilder.create();
}
}

I to by było na tyle na tym ekranie

Brak komentarzy:

Prześlij komentarz