Leer desde una base de datos en android a un arraylist

Soy muy nuevo al desarrollo de androide y no puedo entender cómo leer de mi database/table en un arrayList. Ahora mismo tengo:

  Cursor c = myDB.rawQuery("SELECT * FROM " + TableName , null); int Column1 = c.getColumnIndex("Field1"); int Column2 = c.getColumnIndex("Field2"); // Check if our result was valid. c.moveToFirst(); if (c != null) { // Loop through all Results do { String Name = c.getString(Column1); int Age = c.getInt(Column2); Data =Data +Name+"/"+Age+"\n"; }while(c.moveToNext()); } TextView tv = new TextView(this); tv.setText(Data); setContentView(tv); } catch(Exception e) { Log.e("Error", "Error", e); } finally { if (myDB != null) myDB.close(); } 

¿Cómo puedo leer esto en un arraylist?

Este es un código que muestra cómo obtener ArrayList desde la consulta de base de datos.

 public ArrayList<String> GetAllValues(String aTable,String[] aColumn) { ArrayList<String> list = new ArrayList<String>(); Cursor cursor = sqlDB.query(aTable, aColumn, null, null, null, null, null); if (cursor.moveToFirst()) { do { list.add(cursor.getString(0)); } while (cursor.moveToNext()); } if (cursor != null && !cursor.isClosed()) { cursor.close(); } return list; } 

Si proporciona null en "aColumn", le dará todas las columnas. Espero que ayude.

 //ArrayList of Calllog class objects ArrayList<CallLog> arrCallLogs = null; Cursor curCalllog = myDB.rawQuery("SELECT * FROM " + TableName , null); if(curCalllog != null && curCalllog.moveToFirst()) { arrCallLogs = new ArrayList<CallLog>(); while (curCalllog.isAfterLast() == false) { //Calllog is a class with list of fileds CallLog callLog = new CallLog(); callLog.setId(curCalllog.getLong(curCalllog.getColumnIndex(KEY_ROWID))); callLog.setName(curCalllog.getString(curCalllog.getColumnIndex(KEY_NAME))); callLog.setNumber(curCalllog.getString(curCalllog.getColumnIndex(KEY_NUMBER))); callLog.setNumberType(curCalllog.getInt(curCalllog.getColumnIndex(KEY_NUMBERTYPE))); callLog.setCallType(curCalllog.getInt(curCalllog.getColumnIndex(KEY_CALLTYPE))); callLog.setDatetime(curCalllog.getLong(curCalllog.getColumnIndex(KEY_DATETIME))); callLog.setDuration(curCalllog.getLong(curCalllog.getColumnIndex(KEY_DURATION))); callLog.set_new(curCalllog.getInt(curCalllog.getColumnIndex(KEY_NEW))); arrCallLogs.add(callLog); curCalllog.moveToNext(); } } curCalllog.close(); myDB.close(); 

Este es el ejemplo de cómo puede crear una arrayList desde Cursor.

Aquí hay un nombre de la clase Calllog que tiene una lista de fileds y setter y métodos getter. Aquí yo tenía hacer un ArrayList de Calllog objetos utilizando Cursor

  • La aplicación se bloquea si el cursor SQLite no tiene resultados
  • SQLiteOpenHelper onUpgrade () Confusión Android
  • ¿El cursor permanecerá vivo después de cerrar la base de datos?
  • Calcular la distancia entre dos puntos directamente en SQLite
  • Cifrar la base de datos sqlite Android:
  • Cómo leer la base de datos de otra aplicación
  • Base de datos sqlite pre-relleno android
  • Cómo eliminar tablas y bases de datos con Sqiltehelper en android
  • Cómo leer una columna específica de SQLiteBatabase existente en Android?
  • Android MediaStore obtiene distintas carpetas de archivos de música
  • Android, Diacritic Insensitive SQLite Búsqueda
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.