Enfoque para rellenar la vista de lista expandible con la base de datos SQlite local

Tengo una base de datos sqlite en mi aplicación. Quiero hacer una vista de lista ampliable con eso.

Estoy fijo con el enfoque que debo tomar para eso.

Intentado mucho para encontrar un tutorial para el mismo, pero no podría encontrar uno solo, donde uno está poblando la lista extensible con la base de datos local.

Hay un tutorial en el sitio de Android donde se rellena la lista ampliable con el detalle de contacto en el teléfono. Ellos están haciendo esto desde el proveedor de contenido ExpandableList2.java

Así que mi pregunta es ¿Debo también crear un proveedor de contenido para mi base de datos que está dentro de mi propia aplicación?

¿Es este el único enfoque o hay otro mejor?

Había creado un proyecto para probar la lista expandible y la base de datos, espero que esto ayude

  Clase final ExpAdapter extends CursorTreeAdapter {
         MInflator LayoutInflater;

         Public ExpAdapter (Cursor cursor, Context context) {
             Super (cursor, contexto);
             MInflator = LayoutInflater.from (contexto);
         }

         @Anular
         Protected void bindChildView (Ver vista, Contexto contexto, Cursor cursor,
                 Boolean isLastChild) {
             TextView tvChild = (TextView) view.findViewById (android.R.id.text1);
             TvChild.setText (cursor.getString (cursor
                     .getColumnIndex (DBHelper.COL_TABLE_CHILD_NAME)));
         }

         @Anular
         Protected void bindGroupView (Vista de vista, Contexto contextual, Cursor cursor,
                 Boolean isExpanded) {
             TextView tvGrp = (TextView) view.findViewById (android.R.id.text1);
             TvGrp.setText (cursor.getString (cursor
                     .getColumnIndex (DBHelper.COL_TABLE_MAIN_NAME)));
         }

         @Anular
         Protected Cursor getChildrenCursor (Cursor groupCursor) {
             Int groupId = groupCursor.getInt (groupCursor
                     .getColumnIndex (DBHelper.COL_ID));
             Return aDBHelper.getChildCursor (groupId);
         }

         @Anular
         Protected Ver nuevoChildView (Contexto contextual, Cursor cursor,
                 Boolean isLastChild, ViewGroup padre) {
             Ver mView = mInflator.inflate (
                     Android.R.layout.simple_expandable_list_item_1, null);
             TextView tvChild = (TextView) mView
                     .findViewById (android.R.id.text1);
             TvChild.setText (cursor.getString (cursor
                     .getColumnIndex (DBHelper.COL_TABLE_CHILD_NAME)));
             Return mView;
         }

         @Anular
         Protected Ver newGroupView (Contexto contextual, Cursor cursor,
                 Boolean isExpanded, ViewGroup padre) {
             Ver mView = mInflator.inflate (
                     Android.R.layout.simple_expandable_list_item_1, null);
             TextView tvGrp = (TextView) mView.findViewById (android.R.id.text1);
             TvGrp.setText (cursor.getString (cursor
                     .getColumnIndex (DBHelper.COL_TABLE_MAIN_NAME)));
             Return mView;
         }

     }

No tiene que crear un proveedor de contenido para eso.

  1. Cree una clase DBHelper y cree funciones para obtener registros de su base de datos local sin un proveedor de contenido.
  2. Cree una clase de modelo para mantener los registros de su base de datos local.
  3. Utilice esta clase de modelo como sus datos para su adaptador de lista.

Si su base de datos local, el mejor enfoque es ir con CursorTreeAdapter porque automáticamente se encarga de actualizar la lista.

Compruebe este mensaje de mi ayuda. ExpandableListView utilizando CursorTreeAdapter con fragmento, Proveedor de contenido, LoaderCallbacks y CursorLoader

  • Simple exportación e importación de una base de datos SQLite en Android
  • Actualizar base de datos utilizando mi OpenHelper en greendao
  • Dificultad para actualizar la tabla SQlite
  • Selección de un proyecto ORM para Android (nivel mínimo de API 7)
  • ¿Qué hacer con Cursor después de una consulta SQLite?
  • HTML5 Webapp como icono o aplicación regular en iPhone y Android.
  • Visualización de la imagen desde la base de datos sqlite con el cursor en android
  • Estoy usando SQLCIPHER para leer o escribir la base de datos que consigue el error
  • Android.database.sqlite.SQLITeException: no hay tal tabla: admin mientras compila: INSERT INTO ... etc
  • Compruebe que la base de datos sqlite está abierta o cerrada en android
  • Extraño SQLiteException no en todos los dispositivos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.