Android Open Source - ANA A N A






From Project

Back to project page ANA.

License

The source code is released under:

GNU General Public License

If you think the Android project ANA listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package net.guimi.ANA;
/*//from w ww .  j a  va  2 s . c  om
 * Copyright (c) 2004-2010 Luis Miguel Armendriz
 * http://guimi.net
 * 
 * Est permitido copiar, distribuir y/o modificar
 * los desarrollos bajo los trminos de la
 * GNU General Public License, Versin 2
 * 
 * Para obtener una copia de dicha licencia
 * visite http://www.fsf.org/licenses/gpl.txt.
 * 
 */

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class ANA extends Activity {
  /** Variable auxiliar que indica el paquete de la aplicacion */
  private static String paqueteAplicacion = "net.guimi.ANA";
    /** Variable auxiliar que indica la versin de la aplicacin */
    private static String versionAplicacion;

    /**
     * We serialize access to our persistent data through a global static
     * object.  This ensures that in the unlikely event of the our backup/restore
     * agent running to perform a backup while our UI is updating the file, the
     * agent will not accidentally read partially-written data.
     *
     * <p>Curious but true: a zero-length array is slightly lighter-weight than
     * merely allocating an Object, and can still be synchronized on.
     */
    static final Object[] sDataLock = new Object[0];
    static final String FICHERO_PUNTUACIONES = "ANA_puntuaciones";
    
  // Definimos los identificadores de los diferentes dilogos a mostrar
  static final int DIALOGO_ACERCA_DE = 0;
  static final int DIALOGO_AYUDA = 1;
  static final int DIALOGO_SALIR = 2;
    
  // Creamos los botones
    private Button botonInicio;
    private Button botonPreferencias;
    private Button botonAyuda;
    private Button botonAcercaDe;
    private Button botonPuntuaciones;
    //private Button botonMasJuegos;
    //private Button botonSalir;
    
    /**
     * Sobreescribimos la funcin de creacin de la actividad. 
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Indicamos la distribucin de pantalla (layout) a cargar (xml)
        setContentView(R.layout.main);
        // Obtenemos la versin de la aplicacin
        try {
          PackageInfo miPackageInfo = getPackageManager().getPackageInfo(paqueteAplicacion, 0);
            versionAplicacion = miPackageInfo.versionName;
        } catch (PackageManager.NameNotFoundException e) {
          versionAplicacion = "";
        }
      
        //************************************************************************
        //       BOTONES
        //************************************************************************
        // Definimos el botn de inicio
        botonInicio = (Button)findViewById(R.id.botonInicio);
        botonInicio.setOnClickListener(new OnClickListener() {
          public void onClick(View v) {
            lanzaJuego();
          }
        });

        // Definimos el botn de preferencias
        botonPreferencias = (Button)findViewById(R.id.botonPreferencias);
        botonPreferencias.setOnClickListener(new OnClickListener() {
          public void onClick(View v) {
            Intent actividadPreferencias = new Intent(getBaseContext(), Preferencias.class);
            startActivity(actividadPreferencias);
          }
        });

        // Definimos el botn de ayuda
        botonAyuda = (Button)findViewById(R.id.botonAyuda);
        botonAyuda.setOnClickListener(new OnClickListener() {
          public void onClick(View v) {
          showDialog(DIALOGO_AYUDA);
          }
        });

        // Definimos el botn de Acerca de...
        botonAcercaDe = (Button)findViewById(R.id.botonAcercaDe);
        botonAcercaDe.setOnClickListener(new OnClickListener() {
          public void onClick(View v) {
          showDialog(DIALOGO_ACERCA_DE);
          }
        });

        // Definimos el botn de puntuaciones
        botonPuntuaciones = (Button)findViewById(R.id.botonPuntuaciones);
        botonPuntuaciones.setOnClickListener(new OnClickListener() {
          public void onClick(View v) {
            Intent puntuacionesIntent = new Intent(ANA.this,Puntuaciones.class);
            startActivity(puntuacionesIntent);
          }
        });

        /*
        // Definimos el botn de ms juegos
        botonMasJuegos = (Button)findViewById(R.id.botonMasJuegos);
        botonMasJuegos.setOnClickListener(new OnClickListener() {
          public void onClick(View v) {
            Intent webIntent = new Intent(ANA.this,Web.class);
            startActivity(webIntent);
          }
        });
        */

        /*
        // Definimos el botn de salir
        botonSalir = (Button)findViewById(R.id.botonSalir);
        botonSalir.setOnClickListener(new OnClickListener() {
          public void onClick(View v) {
          showDialog(DIALOGO_SALIR);
          }
        });
        */

        
        //************************************************************************
        //       SPLASH
        //************************************************************************
    // Creamos un nuevo "Intent" para el "Splash"
    Intent splashIntent = new Intent(ANA.this,Splash.class);
        // Iniciamos la actividad "Splash"
    startActivity(splashIntent);

    }

    
    /**
     * Esta funcin se encarga de lanzar un nuevo juego
     */
    private void lanzaJuego() {
    // Creamos un nuevo "Intent"
    Intent inicioJuegoIntent = new Intent(ANA.this,ANAJuego.class);
    
    // Generamos un "fardo" (Bundle) con informacin para la actividad hija
        Bundle miBundle = new Bundle();
        miBundle.putString("versionAplicacion", versionAplicacion);
        inicioJuegoIntent.putExtras(miBundle);
        
        // Iniciamos la actividad que gestiona el juego
    startActivity(inicioJuegoIntent);
    }


    //************************************************************************
    //       PULSACIONES DE TECLAS DE SISTEMA (BACK, MENU...)
    //************************************************************************
    /**
     * Sobreescribimos la funcin onKeyDown para capturar la tecla "back"
     * y redirigir al dilogo "Salir"
     */
    /*
    @Override public boolean onKeyDown(int idTecla, KeyEvent evento) {
      if (idTecla == KeyEvent.KEYCODE_BACK) {
        showDialog(DIALOGO_SALIR);
        // No hacemos ms acciones como resultado de la pulsacin
          return true;
      }
 
      // Si no hemos gestionado el evento de tecla, lo propagamos
      return false;
    }
    */

    
    //************************************************************************
    //       MENU
    //************************************************************************
    /**
     * Sobreescribimos la funcin onCreateOptionsMenu para aadir nuestro men
     */
    @Override
    public boolean onCreateOptionsMenu(Menu miMenu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_inicio, miMenu);
        return true;
    }

    /**
     * Sobreescribimos la funcin onOptionsItemSelected para incluir opciones
     * en el men
     */
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.menuInicioJugar:
        lanzaJuego();
        break;
      case R.id.menuInicioPreferencias:
        Intent actividadPreferencias = new Intent(getBaseContext(), Preferencias.class);
        startActivity(actividadPreferencias);
          break;
      case R.id.menuInicioAyuda:
      showDialog(DIALOGO_AYUDA);
          break;
      case R.id.menuInicioAcercaDe:
      showDialog(DIALOGO_ACERCA_DE);
          break;
        /*
      case R.id.menuInicioMasJuegos:
        Intent webIntent = new Intent(ANA.this,Web.class);
        startActivity(webIntent);
          break;
          */
      case R.id.menuInicioPuntuaciones:
        Intent puntuacionesIntent = new Intent(ANA.this,Puntuaciones.class);
        startActivity(puntuacionesIntent);
        break;
        case R.id.menuInicioSalir:
          showDialog(DIALOGO_SALIR);
          //this.finish();
          break;
        }
        return true;
    }

    
    //************************************************************************
    //       DI??LOGOS
    //************************************************************************
  /** Funcin de creacin de dilogos llamada desde showDialog */
  protected Dialog onCreateDialog(int idDialogo) {
      Dialog miDialogo = null;
      
      switch(idDialogo) {
        case DIALOGO_AYUDA:
          // Generamos un constructor para el dilogo "Ayuda"
        AlertDialog.Builder dialogoAyuda = new AlertDialog.Builder(this);
        dialogoAyuda.setMessage(R.string.menuAyudaTexto)
          .setCancelable(false)
          .setNeutralButton(R.string.menuBotonCerrar, new DialogInterface.OnClickListener() {
                     public void onClick(DialogInterface miDialogo, int id) {
                       miDialogo.dismiss();
                       //miDialogo.cancel();
                     }
          });
        AlertDialog miDialogoAyuda = dialogoAyuda.create();
        // Titulo del dilogo
        miDialogoAyuda.setTitle(R.string.menuAyudaTitulo);
        // Icono para el dilogo
        miDialogoAyuda.setIcon(R.drawable.ic_menu_help);
        // Asignamos el dilogo recien creado al que devolver la funcin
        miDialogo=miDialogoAyuda;
          break;
        case DIALOGO_ACERCA_DE:
          // Generamos un constructor para el dilogo "Acerca de..."
        AlertDialog.Builder dialogoAcercaDe = new AlertDialog.Builder(this);
        dialogoAcercaDe.setMessage(R.string.menuAcercaTexto)
          .setCancelable(false)
          .setNeutralButton(R.string.menuBotonCerrar, new DialogInterface.OnClickListener() {
                     public void onClick(DialogInterface miDialogo, int id) {
                       miDialogo.dismiss();
                       //miDialogo.cancel();
                     }
          });
        AlertDialog miDialogoAcercaDe = dialogoAcercaDe.create();
        // Titulo del dilogo
        miDialogoAcercaDe.setTitle(getResources().getString(R.string.menuAcercaTitulo)+" "+versionAplicacion);
        // Icono para el dilogo
        miDialogoAcercaDe.setIcon(R.drawable.icono);
        // Asignamos el dilogo recien creado al que devolver la funcin
        miDialogo=miDialogoAcercaDe;
          break;
        case DIALOGO_SALIR:
          // Generamos un constructor para el dilogo "Salir"
        AlertDialog.Builder dialogoSalir = new AlertDialog.Builder(this);
        dialogoSalir.setMessage(R.string.menuSalirTexto)
          .setCancelable(false)
          .setPositiveButton(R.string.menuBotonSi, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface miDialogo, int id) {
              finish();
                  }
          })
          .setNegativeButton(R.string.menuBotonNo, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface miDialogo, int id) {
              miDialogo.cancel();
            }
          });
        AlertDialog miDialogoSalir = dialogoSalir.create();
        // Titulo del dilogo
        miDialogoSalir.setTitle(R.string.menuSalirTitulo);
        // Icono para el dilogo
        miDialogoSalir.setIcon(R.drawable.icono);
        // Asignamos el dilogo recien creado al que devolver la funcin
        miDialogo=miDialogoSalir;          
          break;
        default:
          miDialogo = null;
      }
      return miDialogo;
  }
  
}




Java Source Code List

net.guimi.ANA.ANAHilo.java
net.guimi.ANA.ANAJuego.java
net.guimi.ANA.ANA.java
net.guimi.ANA.AcelerometroGestor.java
net.guimi.ANA.AcelerometroInterfaz.java
net.guimi.ANA.Grafico.java
net.guimi.ANA.Pantalla.java
net.guimi.ANA.Preferencias.java
net.guimi.ANA.Puntos.java
net.guimi.ANA.Puntuaciones.java
net.guimi.ANA.SQLiteGestor.java
net.guimi.ANA.Splash.java
net.guimi.ANA.Tienda.java
net.guimi.ANA.Web.java