Control de usuario
Patrocinadores
Estadísticas
Miembros:
334.637
Online:
1.612
Hilos:
1.380.664
Mensajes:
24.883.656
Stats

Índice de foros Otras Consolas Desarrollo

Mi aplicacion android funciona en eclipse pero no en el movil

Dedicado al desarrollo de software casero para videoconsolas

Moderador: jiXo

cidsev
Novato
 
Mensajes: 8
Registrado: 30 Abr 2011

Mi aplicacion android funciona en eclipse pero no en el movil

Mensajepor cidsev 17 Jun 2011 14:31

Hola a todos!! os pongo el problemas que tengo: Tengo una aplicacion practicamente terminada. Al cual le hice una pequeña modificacion para que dandole a un boton "consulta" me iniciara otra vista en la que me mostrara la base de datos, mostrandome unicamente la primera columna de cada registro.

Hasta la creacion de la base de datos me iva bien sin ningún problemas y podia recorrerla sin problemas e ir sacando y metiendo datos.

El problema me vino cuando hice la modificación para que una vez recogido todas las primeras columnas de cada registro , me los mostrara por pantalla en una listview que iva inflando. Esto parte me funciona a la perfeccion en el emulador de eclipse pero en el samsung galaxy del que dispongo no , y en cambio si me iva en el movil hasta justo antes de hacer esta última modificacion. Os pongo el codigo:
Primero os he puesto el codigo completo de la clase que me ha dado problemas , a continuacion las modificaciones (extractos de la clase completa) para que leais mas rapido y por ultimo los archivos xml uno para la clase y otro para el listview que voy inflando.


Alguna idea de porque no va en ell movil y si en el eclipse?


Codigo completo:

Código: Seleccionar todo
package com.sevilla;

import java.util.ArrayList;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;


public class ConsultarCancionero extends Activity {
private    ArrayList<String> cancioneros;
   



public void onCreate(Bundle savedInstanceState) {
   
   super.onCreate(savedInstanceState);
    setContentView(R.layout.consultarcancionero);
   
   
    //Creo el array sobre el que ire guardando los titulos de las canciones
   cancioneros=new ArrayList<String>();
   
   
    //Abro la base de datos y la configuro para leer
   
    UsuariosSQLiteHelper cancionero;
    SQLiteDatabase baseDeDatos = null;
    cancionero =new UsuariosSQLiteHelper(this,"Cancionero",null,1);
    cancionero.openDataBase();
    baseDeDatos=cancionero.getReadableDatabase();
   
   
    //Creo un cursor y apunto a la primera entrada de la base de datos
    Cursor r=   baseDeDatos.query("Cancionero", new String[]{"titulo"} , null, null,null, null,null);
    r.moveToFirst();
   
   
   
   
    //Guarda en la lista todas las lista de canciones
    int i= r.getCount()-1;
    int j=0;
    for(j=0;j<=i;j++){
       String s=r.getString(0);
       cancioneros.add(s);
       r.moveToNext();
    }
   
   
 
   
    //Modifico el adaptador de vistaCancioneros
   
   AdaptadorTitulares adaptador = new AdaptadorTitulares(this);
   ListView vistaCancioneros = (ListView)findViewById(R.id.LstOpciones);
   vistaCancioneros.setAdapter(adaptador);
   
   
}



//Creo la clase AdaptadorTitulares para modificar como quiero que salga ListView creandome mi propio adaptador

class AdaptadorTitulares extends ArrayAdapter {
   
   Activity context;
   
   AdaptadorTitulares(Activity context) {
      super(context, R.layout.listitem_titular, cancioneros);
      this.context = context;
   }
   
   public View getView(int position, View convertView, ViewGroup parent) {
      
      LayoutInflater inflater = context.getLayoutInflater();
      View item = inflater.inflate(R.layout.listitem_titular, null);
      
      TextView lblTitulo = (TextView)item.findViewById(R.id.LblTitulo);
      lblTitulo.setText(cancioneros.get(position));
      
      
      
      return(item);
   }
}   
}



Modificacion para inflar el listview

Código: Seleccionar todo
   AdaptadorTitulares adaptador = new AdaptadorTitulares(this);
   ListView vistaCancioneros = (ListView)findViewById(R.id.LstOpciones);
   vistaCancioneros.setAdapter(adaptador);



Array adapter


Código: Seleccionar todo
class AdaptadorTitulares extends ArrayAdapter {
   
   Activity context;
   
   AdaptadorTitulares(Activity context) {
      super(context, R.layout.listitem_titular, cancioneros);
      this.context = context;
   }
   
   public View getView(int position, View convertView, ViewGroup parent) {
      
      LayoutInflater inflater = context.getLayoutInflater();
      View item = inflater.inflate(R.layout.listitem_titular, null);
      
      TextView lblTitulo = (TextView)item.findViewById(R.id.LblTitulo);
      lblTitulo.setText(cancioneros.get(position));
      
      
      
      return(item);
   }
}



listitem_titular.xml


Código: Seleccionar todo
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:orientation="vertical">
 
<TextView android:id="@+id/LblTitulo"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:textStyle="bold"
   android:textSize="20px" />
   

   
</LinearLayout>



concultar cancionero

Código: Seleccionar todo
<?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"
               android:padding="10px">

         
                   
             <ListView android:id="@+id/LstOpciones"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content" />   

</LinearLayout>





Gracias de antemano!!!

Davpk
Avatar de usuario
MegaAdicto!!!
 
Mensajes: 676
Registrado: 20 Jul 2004
Ubicación: Barcelona.

Mensajepor Davpk 18 Jun 2011 18:20

Buenas!

A mi me ha pasado alguna vez lo que comentas de que funciona en el emulador pero luego en el dispositivo físico no. Pero siempre que me he ha pasado, al fijarme en el LogCat, me aparecía que la aplicación había petado internamente, pero como tenia puesto un catch "genérico" que imprimía el StackTrace, el programa no "petaba".

Así que fíjate en el LogCat que no te haya petado por algún lado al cargarlo en el móvil y si no es el caso dedícate a poner Logs por todos los lados imprimiendo información (como lo que vas a meter en la lista, para ver que hasta allí "llega" bien la misma).

Espero que te sirva de ayuda :)

Un Saludo ;)
Soy Ti-Ra-Nog


cidsev
Novato
 
Mensajes: 8
Registrado: 30 Abr 2011

Mensajepor cidsev 23 Jun 2011 14:31

Gracias!!, voy a revisar todo el codigo viendo lo que has comentado, posteare por aquí en cuanto lo soluciones!!


saludos

cidsev
Novato
 
Mensajes: 8
Registrado: 30 Abr 2011

Mensajepor cidsev 15 Jul 2011 18:14

No me pregunteis como , pero se soluciono , el error pudo estar en al abrir la base de datos , la nombraba de otro modo o el nombre por defecto estaba mal.


Gracias por todo :) , ahora estoy con otro pequeño error que espero solucionar pronto si no acudire a vosotros.


Volver a Desarrollo

¿Quién está conectado?

Usuarios navegando por este foro: No hay usuarios registrados visitando el foro y 0 invitados