Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 10/10/11, 23:52:52
Avatar de Colymore
Colymore
Usuario invitado
Mensajes: n/a
 
Mensajes: n/a
Mencionado: comentarios
Tagged: hilos
nullpointerexception obteniendo datos de BBDD

Intentando rellenar un listview desde sqlite obtengo un nullpointerexception, os copio a ver si alguien sabe ayudarme

Código:
public class DataBaseHelper extends SQLiteOpenHelper {
	
    private static String DB_PATH = "/data/data/com.rbrlnx.lugares/databases/";
	private static final String DATABASE_NAME="db.db";
	SQLiteDatabase db;

	 String CREATE_TABLE = "CREATE TABLE IF NOT EXISTS lugares (" +
         "_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
         "nombre text," +
         "descripcion text,"+
         "latitud real," +
         "longitud real," +
         "foto String);";
	 
	 /*Primero se crea constructor, funcion onCreate, onUpgrade,Abrir y Cerrar*/

     public  DataBaseHelper(Context context){
    	super(context,DATABASE_NAME,null,1);
  
     }
     
     public void onCreate(SQLiteDatabase db){
    	 try {
             openDataBase();
             db.execSQL(CREATE_TABLE);
         } catch (Exception e) {
            // handle exception
         }           
     }
     
  	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  		  
 	}
    public void openDataBase() throws SQLException{
    	 
    	//Open the database
        String myPath = DB_PATH + DATABASE_NAME;
    	db = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE);
 
    }    

	 public void close(){
		 db.close();
	 }

 
	/*Despues metodos para añadir y obtener datos*/
	 
    public long addNombre(String nombre){
			
    ContentValues cv = new ContentValues();
    cv.put("nombre", nombre);
    return db.insert("lugares", null, cv);  		 
    }
    
    	 public long addDescripcion(String descripcion){
			
    		 ContentValues cv = new ContentValues();
    	        cv.put("descripcion", descripcion);
    	        return db.insert("lugares", null, cv);  		 
    		 
    	 }
    	 public long addLatitud(double latitud){
 			
    		 ContentValues cv = new ContentValues();
    	        cv.put("latitud", latitud);
    	        return db.insert("lugares", null, cv);  		 
    		 
    	 }
    	 public long addLongitud(double longitud){
  			
    		 ContentValues cv = new ContentValues();
    	        cv.put("longitud", longitud);
    	        return db.insert("lugares", null, cv);  		 
    		 
    	 }
    	 
    	 public long addFoto(String foto) {
 			
       		 ContentValues cv = new ContentValues();
       	        cv.put("foto", foto);
       	        return db.insert("lugares", null, cv);  		 
       		 			
    		}
    	 
    	/* public Cursor getNombres(){
    		 
    		 SQLiteDatabase db = this.getWritableDatabase();
    		 Cursor cur= db.rawQuery("SELECT nombre FROM lugares",null);
    		 return cur; 		 
    		 
    		 
    	 }
    	 */
    	 public Cursor getNombres(){
    	       Cursor respuesta = db.rawQuery("select nombres from lugares", null);
    	       
    	       return respuesta;
    	       
    	   }
    	/* public long addImagen(Uri directorioimagen){
    		 
    		 //Obtenemos el string del patch de la imagen
    		 String imagen = getRealPathFromURI(directorioimagen);    		 
    		ContentValues cv = new ContentValues();
 	        cv.put("foto", imagen);
 	        return db.insert("lugares", null, cv);  		 
 		 
    		     		 
    	 }
    	 
    	
    	 /*Metodo que conveierte una uri de imagen clickeada en gallery a patch
    	 public String getRealPathFromURI(Uri contentUri, Context ctx) {
    	        String[] proj = { MediaStore.Images.Media.DATA };
    	        Cursor cursor = getContentResolver().query(contentUri, proj, null, null, null);
    	        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
    	        cursor.moveToFirst();
    	        return cursor.getString(column_index);
    	    }
    */

		


			
		}
Código:
public class listatab extends ListActivity{	
	
	    Context context;
        ListView listanombres;
 	    DataBaseHelper ayudabbdd;

        
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);     
         ayudabbdd = new DataBaseHelper(this);
         Cursor nombresC;
         
         nombresC = ayudabbdd.getNombres();  
         startManagingCursor(nombresC);
         if(nombresC!=null){
         ListAdapter adapter = new SimpleCursorAdapter(this, R.layout.listatab, nombresC, new String[] { "nombre" }, new int[] { R.id.lista });
         this.setListAdapter(adapter);
         this.getListView().setTextFilterEnabled(true);  
        
         }
	  }
      @override
  	protected void onDestroy() {
  		super.onDestroy();
  		if (ayudabbdd != null) {
  			ayudabbdd.close();
  		}
}
}
Error:
Código:
10-10 23:39:02.620: ERROR/AndroidRuntime(2086): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.rbrlnx.lugares/com.rbrlnx.lugares.listatab}: java.lang.NullPointerException
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at android.app.ActivityThread.startActivityNow(ActivityThread.java:1487)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:654)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at android.widget.TabHost.setCurrentTab(TabHost.java:326)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:132)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:456)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at android.view.View.performClick(View.java:2485)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at android.view.View$PerformClick.run(View.java:9080)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at android.os.Handler.handleCallback(Handler.java:587)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at android.os.Handler.dispatchMessage(Handler.java:92)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at android.os.Looper.loop(Looper.java:130)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at android.app.ActivityThread.main(ActivityThread.java:3683)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at java.lang.reflect.Method.invokeNative(Native Method)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at java.lang.reflect.Method.invoke(Method.java:507)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at dalvik.system.NativeStart.main(Native Method)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086): Caused by: java.lang.NullPointerException
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at com.rbrlnx.lugares.DataBaseHelper.getNombres(DataBaseHelper.java:104)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at com.rbrlnx.lugares.listatab.onCreate(listatab.java:23)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
10-10 23:39:02.620: ERROR/AndroidRuntime(2086):     ... 18 more
Responder Con Cita


Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 11:07:07 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007