jueves, 13 de febrero de 2014

Hilos

****MAIN ACTIVITY*******

public class MainActivity extends Activity {
private Button btnSinHilos;
private Button btnHilo;
private Button btnAsyncTask;
private Button btnCancelar;
private Button btnAsyncDialog;
private ProgressBar pbarProgreso;
private ProgressDialog pDialog;
private MiTareaAsincrona tarea1;
private MiTareaAsincronaDialog tarea2;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnSinHilos = (Button)findViewById(R.id.btnSinHilos);
        btnHilo = (Button)findViewById(R.id.btnHilo);
        btnAsyncTask = (Button)findViewById(R.id.btnAsyncTask);
        btnCancelar = (Button)findViewById(R.id.btnCancelar);
        btnAsyncDialog = (Button)findViewById(R.id.btnAsyncDialog);
        pbarProgreso = (ProgressBar)findViewById(R.id.pbarProgreso);
        
        btnSinHilos.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//obtener la hora actual
/*Calendar c = Calendar.getInstance();
Date hstar = c.getTime();*/
pbarProgreso.setMax(100);
pbarProgreso.setProgress(0);
for(int i=1; i<=20; i++) { //cambio el contador a 20 dado que ahora es el doble que antes (al progresar de 5 la barra)
tareaLarga();
pbarProgreso.incrementProgressBy(5); //El aumento de la barra es de 5 puntos por cada vez
}
Toast.makeText(MainActivity.this, "Tarea finalizada!", Toast.LENGTH_SHORT).show();
}
});
        
        btnHilo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new Runnable() {
   public void run() {
    pbarProgreso.post(new Runnable() {
    public void run() {
    pbarProgreso.setProgress(0);
    }
    });
    //obtener la hora actual
Calendar c = Calendar.getInstance();
final Date hstar = c.getTime();
   
    for(int i=1; i<=20; i++) { //cambio el contador a 20 dado que ahora es el doble que antes(al progresar de 5 la barra)
   
tareaLarga();
pbarProgreso.post(new Runnable() {
    public void run() {
    pbarProgreso.incrementProgressBy(5); //Incrementamos la barra cada vez en 5
    }
    });
}
   
    runOnUiThread(new Runnable() {
       public void run() {
        //obtener la hora de finalizacion
        Calendar ca = Calendar.getInstance();
        final Date hfinhis = ca.getTime();
        //imprimo la hora en la que empieza y la que finaliza
           Toast.makeText(MainActivity.this,"Tarea empezada a las "+ hstar+"--Tarea finalizada a las "+hfinhis, Toast.LENGTH_SHORT).show();
       }
    });
   }
}).start();
}
});
        
        btnAsyncTask.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
tarea1 = new MiTareaAsincrona();
tarea1.execute();
}
});
        
        btnCancelar.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
tarea1.cancel(true);
}
});
        
        btnAsyncDialog.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
pDialog = new ProgressDialog(MainActivity.this);
pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pDialog.setMessage("Procesando...");
pDialog.setCancelable(true);
pDialog.setMax(100);
tarea2 = new MiTareaAsincronaDialog();
tarea2.execute();
}
});
}
private void tareaLarga()
    {
    try { 
    Thread.sleep(1000); 
    } catch(InterruptedException e) {}
    }

@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;
}

private class MiTareaAsincrona extends AsyncTask<Void, Integer, Boolean> {
   
    @Override
    protected Boolean doInBackground(Void... params) {
    //obtener la hora actual
Calendar c = Calendar.getInstance();
final Date hst = c.getTime();
   
    for(int i=1; i<=20; i++) { //cambio el contador a 20 por que ahora tarda el doble.
tareaLarga();
publishProgress(i*5); //ahora progresa de 5
if(isCancelled())
break;
}
   
    return true;
    }
   
    @Override
    protected void onProgressUpdate(Integer... values) {
    int progreso = values[0].intValue();
   
    pbarProgreso.setProgress(progreso);
    }
   
    @Override
    protected void onPreExecute() {
    pbarProgreso.setMax(100);
    pbarProgreso.setProgress(0);
    }
   
    @Override
    protected void onPostExecute(Boolean result) {
String hst = null;
    //obtener la hora de finalizacion
    Calendar ca = Calendar.getInstance();
    Date hfinhi = ca.getTime();
   
if(result)
    Toast.makeText(MainActivity.this, "Tarea empezada a las "+ hst+"--Tarea finalizada a las "+hfinhi, Toast.LENGTH_SHORT).show();
    }
   
    @Override
    protected void onCancelled() {
    Toast.makeText(MainActivity.this, "Tarea cancelada!", Toast.LENGTH_SHORT).show();
    }
    }
    
    private class MiTareaAsincronaDialog extends AsyncTask<Void, Integer, Boolean> {
   
    @Override
    protected Boolean doInBackground(Void... params) {
   
    for(int i=1; i<=20; i++) {//cambio el contador a 20 por que ahora tarda el doble.
tareaLarga();
publishProgress(i*5);//ahora progresa de 5
if(isCancelled())
break;
}
   
    return true;
    }
   
    @Override
    protected void onProgressUpdate(Integer... values) {
    int progreso = values[0].intValue();
   
    pDialog.setProgress(progreso);
    }
   
    @Override
    protected void onPreExecute() {
   
    pDialog.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
MiTareaAsincronaDialog.this.cancel(true);
}
});
   
    pDialog.setProgress(0);
    pDialog.show();
    }
   
    @Override
    protected void onPostExecute(Boolean result) {
    if(result)
    {
    pDialog.dismiss();
    Toast.makeText(MainActivity.this, "Tarea finalizada!", Toast.LENGTH_SHORT).show();
    }
    }
   
    @Override
    protected void onCancelled() {
    Toast.makeText(MainActivity.this, "Tarea cancelada!", Toast.LENGTH_SHORT).show();
    }
    }
}

*****ACTIVITY MAIN XML*******


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/progreso" />

    <ProgressBar
        android:id="@+id/pbarProgreso"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dip"
        android:layout_marginLeft="5dip"
        android:layout_marginRight="5dip"
        android:max="100" />

    <Button
        android:id="@+id/btnSinHilos"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/sin_hilos" />

    <Button
        android:id="@+id/btnHilo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/nuevo_hilo" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <Button
            android:id="@+id/btnAsyncTask"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/nuevo_asynctask" />

        <Button
            android:id="@+id/btnCancelar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/cancelar" />

    </LinearLayout>

    <Button
        android:id="@+id/btnAsyncDialog"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/asynctask_dialog" />

</LinearLayout>

Animacion

****Main ACTIVITY****

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.TextView;

public class MainActivity extends Activity {

@Override public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);   
      TextView texto = (TextView) findViewById(R.id.textView);
      Animation animacion = AnimationUtils.loadAnimation(this, 
                                                                                            R.anim.animacion);
      texto.startAnimation(animacion);
}

@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;
}

}

****DENTRO DE UNA CARPETA ANIM animacion.xml******

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        android:duration="2000"
        android:fromXScale="2.0"
        android:fromYScale="2.0"
        android:toXScale="1.0"
        android:toYScale="1.0" />
    <rotate
        android:startOffset="2000"
        android:duration="2000"
        android:fromDegrees="0"
        android:toDegrees="360"
        android:pivotX="50%"
        android:pivotY="50%"/>
    <translate
        android:startOffset="4000"
        android:duration="2000"
        android:fromXDelta="0"
        android:fromYDelta="0"
        android:toXDelta="50"
        android:toYDelta="100" />
    <alpha
        android:startOffset="4000"
        android:duration="2000"
        android:fromAlpha="1"
        android:toAlpha="0" />  
</set>


******VISTA XML *********


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world"
android:id="@+id/textView"
        />

</RelativeLayout>


Base de datos (vista)

****ACTIVITY MAIN XML*****

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <EditText
        android:id="@+id/nom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView1"
        android:layout_marginLeft="14dp"
        android:ems="10"
        android:inputType="textPersonName" >

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/ape"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView2"
        android:layout_below="@+id/textView2"
        android:ems="10"
        android:inputType="textPersonName" />

    <EditText
        android:id="@+id/dni"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView3"
        android:layout_below="@+id/textView3"
        android:ems="10"
        android:inputType="textPersonName" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/nom"
        android:layout_alignParentTop="true"
        android:text="@string/nombre" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/textView1"
        android:layout_below="@+id/nom"
        android:text="@string/apellido" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/nom"
        android:layout_below="@+id/ape"
        android:text="@string/dni" />

    <Button
        android:id="@+id/consulta"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/bactualizar"
        android:layout_below="@+id/bactualizar"
        android:layout_marginTop="20dp"
        android:text="@string/consulta" />

    <Button
        android:id="@+id/bborrar"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/consulta"
        android:layout_alignRight="@+id/dni"
        android:layout_marginRight="30dp"
        android:text="@string/borrar" />

    <Button
        android:id="@+id/bactualizar"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toLeftOf="@+id/insertar"
        android:text="@string/actualizar" />

    <Button
        android:id="@+id/insertar"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/consulta"
        android:layout_alignBottom="@+id/consulta"
        android:layout_alignRight="@+id/bborrar"
        android:text="@string/insertar" />

    <TextView
        android:id="@+id/tex"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/consulta"
        android:layout_marginTop="14dp"
        android:text="Accion" />

    <TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tex"
        android:layout_marginTop="14dp"
        android:layout_toRightOf="@+id/textView3"
        android:text="nombre: " />

    <TextView
        android:id="@+id/text2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/text1"
        android:layout_below="@+id/text1"
        android:layout_marginTop="14dp"
        android:text="apellido:" />

    <TextView
        android:id="@+id/text3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/text2"
        android:layout_below="@+id/text2"
        android:layout_marginTop="18dp"
        android:text="DNI" />

</RelativeLayout>

-*****DATOS XML *******

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="28dp"
        android:layout_marginTop="29dp"
        android:text="Nombre" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView1"
        android:layout_alignBottom="@+id/textView1"
        android:layout_centerHorizontal="true"
        android:text="Apellido" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView2"
        android:layout_alignBottom="@+id/textView2"
        android:layout_alignParentRight="true"
        android:layout_marginRight="43dp"
        android:text="DNI" />

    <TextView
        android:id="@+id/datosTodos"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="17dp"
        android:text="TextView" />

</RelativeLayout>

Base de datos (Java)

---Parte de java

*****alumnos java***********

public class Alumnos {
    private String nombre;
    private int dni;
    private String apelido;
 
    // Constructor de un objeto Contactos
    public Alumnos(String nombre, String apelido, int dni) {
    this.dni = dni;
    this.nombre = nombre;
        this.apelido = apelido;
    }
  
 
    // Recuperar/establecer NOMBRE
    public String getNOMBRE() {
        return nombre;
    }
    public void setNOMBRE(String nombre) {
        this.nombre = nombre;
    }
 
    // Recuperar/establecer dni
    public int getDNI() {
        return dni;
    }
    public void setDNI(int dni) {
        this.dni = dni;
    }
 
    // Recuperar/establecer apellido
    public String getAPELLIDO() {
        return apelido;
    }
    public void setAPELLIDO(String apelido) {
        this.apelido = apelido;
    }
}

***********MAIN ACtivity****

public class MainActivity extends Activity {
private Button bInsertar;
private Button bConsulta;
private Button buactualizar;
private Button borrar;
public static int OpcionElegida = 123;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//para crear una BD con la clase UsuariosSQLiteHelper
final UsuariosSQLiteHelper usdbh = new UsuariosSQLiteHelper(this, "DBUsuarios", null, 1);
//insertar datos nuevos en la BD 
bInsertar =(Button) findViewById(R.id.insertar);

bInsertar.setOnClickListener(new OnClickListener() {

                   public void onClick(View view) {
                  InsertarDato(usdbh);
                  }
        });
//Consulta en la BD
bConsulta =(Button) findViewById(R.id.consulta);

bConsulta.setOnClickListener(new OnClickListener() {

                   public void onClick(View view) {
                String ole = MostrarDato(usdbh);
                llamarSubActividad(ole);
                  }
        });
//Modificar en la BD
buactualizar =(Button) findViewById(R.id.bactualizar);

buactualizar.setOnClickListener(new OnClickListener() {

                  public void onClick(View view) {
                  ModificarDato(usdbh);
                 
                 }
       });
//Borrar en la BD
borrar =(Button) findViewById(R.id.bborrar);

borrar.setOnClickListener(new OnClickListener() {

              public void onClick(View view) {
              BorrarDato(usdbh);
                 
               }
});
}
//-----------***************************---------------------------
public void InsertarDato(UsuariosSQLiteHelper x){
//Abrimos la base de datos 'DBUsuarios' en modo escritura
        SQLiteDatabase db = x.getWritableDatabase();
 
        //Si hemos abierto correctamente la base de datos
        if(db != null)
        {
        //**************Obtenemos los datos***********************
       
        //Busco el campo donde inserto el nombre
    EditText RecogerNombre = (EditText) findViewById(R.id.nom);
    //Recojo los datos del campo RecogerNombre
    String nombre = RecogerNombre.getText().toString();
   
    //recojo el campo apellido
    EditText RecogerApellido = (EditText) findViewById(R.id.ape);
    String apellido = RecogerApellido.getText().toString();
   
    //recojo el campo DNI
    EditText RecogerDni = (EditText) findViewById(R.id.dni);
    String dni = RecogerDni.getText().toString();
   
    //---------------------------------------------------------
   
    if ( (nombre != null) && (!nombre.equals("")) && (apellido != null) && (!apellido.equals("")) ) {
    //Insertamos 1 usuario de ejemplo
               //Insertamos los datos en la tabla Usuarios
               db.execSQL("INSERT INTO Usuarios (nombre, apelido, dni) " +"VALUES ('" + nombre + "','" + apellido +"',"+dni+")");    
               System.out.println("Entro e inserto datos");
               
               TextView txt = (TextView)findViewById(R.id.tex);
        txt.setText("Datos insertados correctamente");
        //Pongo todos los campos en blanco
      TextView nom = (TextView)findViewById(R.id.text1);
      nom.setText("Nombre ");
      TextView ape = (TextView)findViewById(R.id.text2);
      ape.setText("Apellido: ");
      TextView dn = (TextView)findViewById(R.id.text3);
      dn.setText("Dni: ");
      //**********************************************
   
    }else{
    TextView txt = (TextView)findViewById(R.id.tex);
        txt.setText("Faltan campos por completar");
    }
       
            
            }
            //Cerramos la base de datos
            db.close();        
}
//*********************--------------------------------*********************************
public void ModificarDato(UsuariosSQLiteHelper x){
SQLiteDatabase db = x.getWritableDatabase();
//**************Obtenemos los datos***********************
   
    //Busco el campo donde inserto el nombre
EditText RecogerNombre = (EditText) findViewById(R.id.nom);
//Recojo los datos del campo RecogerNombre
String nombre = RecogerNombre.getText().toString();
//recojo el campo apellido
EditText RecogerApellido = (EditText) findViewById(R.id.ape);
String apellido = RecogerApellido.getText().toString();
//recojo el campo DNI
EditText RecogerDni = (EditText) findViewById(R.id.dni);
String dni = RecogerDni.getText().toString();
//---------------------------------------------------------
   ContentValues valores = new ContentValues();
   //comprobar si tengo que modificar nombre o no
   if ( (nombre != null) && (!nombre.equals("")) ) {
       // cadena no está vacía
    valores.put("nombre", nombre);
   }
   
   //comprobar si tengo que modificar apellido o no
   if ( (apellido != null) && (!apellido.equals("")) ) {
    valores.put("apelido", apellido);
   }
   valores.put("dni", dni);
   db.update("Usuarios", valores, "dni=" + dni, null);
   db.close();   
   
   TextView txt = (TextView)findViewById(R.id.tex);
    txt.setText("Datos Modificados correctamente");
    //Pongo todos los campos en blanco
    TextView nom = (TextView)findViewById(R.id.text1);
    nom.setText("Nombre ");
    TextView ape = (TextView)findViewById(R.id.text2);
    ape.setText("Apellido: ");
    TextView dn = (TextView)findViewById(R.id.text3);
    dn.setText("Dni: ");
  //**********************************************
}
//----------------------*************************************---------------------------
public void BorrarDato(UsuariosSQLiteHelper x){
 SQLiteDatabase db = x.getWritableDatabase();
 
 
//recojo el campo DNI
EditText RecogerDni = (EditText) findViewById(R.id.dni);
String dni = RecogerDni.getText().toString();
 
//Si hemos abierto correctamente la base de datos
       if(db != null)
       {
           //Borramos 1 usuario
        //Boramos datos de la tabla Usuarios
               db.execSQL("DELETE FROM Usuarios WHERE dni="+dni);  
               TextView txt = (TextView)findViewById(R.id.tex);
        txt.setText("Datos Borrados");
       //Pongo todos los campos en blanco
      TextView nom = (TextView)findViewById(R.id.text1);
      nom.setText("Nombre ");
      TextView ape = (TextView)findViewById(R.id.text2);
      ape.setText("Apellido: ");
      TextView dn = (TextView)findViewById(R.id.text3);
      dn.setText("Dni: ");
      //**********************************************
           }
           //Cerramos la base de datos
           db.close();       
}
//********************-----------------------------------********************************----
public String MostrarDato(UsuariosSQLiteHelper x){
//String de datos
String datos;
datos = "";
/*
//**************Obtenemos los datos***********************
//Busco el campo donde inserto el nombre
EditText RecogerNombre = (EditText) findViewById(R.id.nom);
//Recojo los datos del campo RecogerNombre
String nombre = RecogerNombre.getText().toString();
//recojo el campo apellido
EditText RecogerApellido = (EditText) findViewById(R.id.ape);
String apellido = RecogerApellido.getText().toString();
//recojo el campo DNI
EditText RecogerDni = (EditText) findViewById(R.id.dni);
String dni = RecogerDni.getText().toString();
//---------------------------------------------------------
TextView txt = (TextView)findViewById(R.id.tex);
    txt.setText("Resultado de la consulta");
*/
SQLiteDatabase db = x.getReadableDatabase();
  // String[] valores_recuperar = {"nombre", "apelido", "dni"};
/*
if(dni.equalsIgnoreCase("")){
dni="0";
}
if(apellido.equalsIgnoreCase("")){
apellido="";
}*/
   Cursor c =  db.rawQuery("SELECT * FROM Usuarios ", null);
 //Nos aseguramos de que existe al menos un registro
   if (c.moveToFirst()) {
        //Recorremos el cursor hasta que no haya más registros
        do {
        datos =datos+c.getString(0)+"\t\t\t\t\t\t "+c.getString(1)+"\t\t\t\t\t\t"+c.getInt(2)+"\n";
           //muestro los valores de la consulta 
      /*TextView nom = (TextView)findViewById(R.id.text1);
      nom.setText("Nombre "+nombrei);
      TextView ape = (TextView)findViewById(R.id.text2);
      ape.setText("Apellido: "+apellidoi);
      TextView dn = (TextView)findViewById(R.id.text3);
      dn.setText("Dni: "+dnii);*/
      //**********************************************
     
        } while(c.moveToNext());
   }
   db.close();
   c.close();
  
   return datos;

}
public void llamarSubActividad(String datos){
//___LLAmo a MostrarDatos--------------------

  Intent i = new Intent(this,MostrarDatos.class );//Creo un intent para lanzar la subactividad
         i.putExtra("datos",datos); //paso los datos a la nueva actividad
  startActivityForResult(i, OpcionElegida);//lanzo la activida con startActivityForResult y le paso el código que tiene que devolver si todo ha ido bien
         
  //____________________________________________________________________------------/////
}
protected void onActivityResult(int requestCode,int resultCode, Intent pData)            
    {
if (resultCode == Activity.RESULT_OK )//Si resultCode es igual a ok
        {
final String dato = pData.getExtras().getString(MostrarDatos.estadoSub );//Obtengo el string de la subactividad
            //Aquí se hara lo que se desee con el valor recuperado
            //contenido.setText(dato);//El valor recogido en dato es un string que será mostrado en el TextView de la actividad principal 
        }
                    
    }

@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;
}

}

*****MOSTRAR DATOS********

public class MostrarDatos extends Activity  {
public static final String estadoSub = "";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.datos);
//Busco el text view donde escribir el nombre
TextView name = (TextView) findViewById(R.id.datosTodos);
//recojo los datos que he enviado al llamar a esta actididad desde el MainActivity
Bundle extras = getIntent().getExtras();
String d =  extras.getString("datos");
//Modifico el texto a mostrar.
name.setText(d);
        
}
}


*******USUARIOS SQLITE ********

public class UsuariosSQLiteHelper extends SQLiteOpenHelper{
public UsuariosSQLiteHelper(Context contexto, String nombre,CursorFactory factory, int version) {
super(contexto, nombre, factory, version);
}

@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
//creo la tabla de la BD
String sqlCreate = "CREATE TABLE Usuarios (nombre TEXT NOT NULL, apelido TEXT NOT NULL, dni integer primary key)";
db.execSQL(sqlCreate);
}

@Override
public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) {
// TODO Auto-generated method stub
String sqlCreate = "CREATE TABLE Usuarios (nombre TEXT NOT NULL, apelido TEXT NOT NULL, dni integer primary key)";
db.execSQL(sqlCreate);
}
}

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