Back to project page ANA.
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.
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; } }