viernes, 15 de noviembre de 2013

ListWiev CODIGO

----Clase principal******
import dam.clase.asteroide.AcercaDe;
import dam.clase.asteroide.R;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
   
    public static AlmacenPuntuaciones almacen=new AlmacenPuntuacionesArray();
   

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

    }

    /*@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }*/
   
    public void lanzarAcercaDe(View view){

          Intent i = new Intent(this, AcercaDe.class);

                startActivity(i);

        }
   
    @Override public boolean onCreateOptionsMenu(Menu menu) {
           super.onCreateOptionsMenu(menu);
           MenuInflater inflater = getMenuInflater();
           inflater.inflate(R.menu.menu, menu);
           return true; // true -> el menú ya está visible
        }
       /*
        @Override public boolean onOptionsItemSelected(MenuItem item) {
                 switch (item.getItemId()) {
                 case R.id.acercaDe:
                        lanzarAcercaDe(null);
                        break;
                 }
                 return true; // true -> consumimos el item, no se propaga
        }
        */
    public void lanzarPuntuaciones(View view) {

        Intent i = new Intent(this, Puntuaciones.class);

        startActivity(i);

        }
}

------CLASE PUNTUACIONES******

import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;

public class Puntuaciones extends ListActivity {
    @Override public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.puntuaciones);
        setListAdapter(new ArrayAdapter<String>(this,
                               android.R.layout.simple_list_item_1,MainActivity.almacen.listaPuntuaciones(10)));
    }
}


-------CLASE AlmacenPuntuacionesArray*****
import java.util.Vector;

public class AlmacenPuntuacionesArray implements AlmacenPuntuaciones{

    private Vector<String> puntuaciones;

    public AlmacenPuntuacionesArray() {

         puntuaciones= new Vector<String>();

         puntuaciones.add("123000 Pepito Domingez");

         puntuaciones.add("111000 Pedro Martinez");

         puntuaciones.add("011000 Paco Pérez");

    }

    @Override public void guardarPuntuacion(int puntos,
  String nombre, long fecha) {

         puntuaciones.add(0, puntos + " "+ nombre);

    }

    @Override public Vector<String> listaPuntuaciones(int cantidad) {

         return  puntuaciones;

    }

}

-----CLASE AlmacenPuntuaciones******

import java.util.Vector;

public interface AlmacenPuntuaciones {
    public void guardarPuntuacion(int puntos,String nombre,long fecha);

    public Vector<String> listaPuntuaciones(int cantidad);
}

------PUNTUACIONES:XML*******

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:text="Puntuaciones"
       android:gravity="center"
       android:layout_margin="10px"
       android:textSize="10pt"/>
<FrameLayout
       android:layout_width="fill_parent"
       android:layout_height="0dip"
       android:layout_weight="1">
       <ListView
              android:id="@android:id/list"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:drawSelectorOnTop="false" />
       <TextView
              android:id="@android:id/empty"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:text="No hay puntuaciones" />
</FrameLayout>
</LinearLayout>

ListWiev WORD



Ejercicio paso a paso: Un ListView que visualiza una lista de Strings (I)
Crear una interface
En ella introducimos el siguiente código
public void guardarPuntuacion(int puntos,String nombre,long fecha);
 public Vector<String> listaPuntuaciones(int cantidad);



Añadimos una nueva clase llamada AlmacenPuntuacionesArray.java, con el siguiente código
package dam.clase.asteroide;

import java.util.Vector;

public class AlmacenPuntuacionesArray implements AlmacenPuntuaciones{

    private Vector<String> puntuaciones;

    public AlmacenPuntuacionesArray() {

         puntuaciones= new Vector<String>();

         puntuaciones.add("123000 Pepito Domingez");

         puntuaciones.add("111000 Pedro Martinez");

         puntuaciones.add("011000 Paco Pérez");

    }

    @Override public void guardarPuntuacion(int puntos,
  String nombre, long fecha) {

         puntuaciones.add(0, puntos + " "+ nombre);

    }

    @Override public Vector<String> listaPuntuaciones(int cantidad) {

         return  puntuaciones;

    }

}

En el MainActivity.java deberos crear la variable global con las puntuaciones
public static AlmacenPuntuaciones almacen= new AlmacenPuntuacionesArray();


Crear la nueva clase Puntuaciones.java
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;

public class Puntuaciones extends ListActivity {
    @Override public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.puntuaciones);
        setListAdapter(new ArrayAdapter<String>(this,
                               android.R.layout.simple_list_item_1,MainActivity.almacen.listaPuntuaciones(10)));
    }
}
Inscribir la nueva actividad


Ahora ya funciona
Ejecución