2011-08-13 17 views
9

Estoy viendo el Tutorial de Bloc de notas en el sitio del desarrollador de Android y he notado que SimpleCursorAdaptor está en desuso.¿Reemplazo para SimpleCursorAdapter?

El constructor new

public SimpleCursorAdapter (Context context, int layout, 
    Cursor c, String[] from, int[] to, int flags) 

está disponible sólo en API 11.

La alternativa sugerida es utilizar LoadManager con un CursorLoader, pero éstos también requieren API 11. Entonces, ¿qué puede reemplazar SimpleCursorAdapter en API 10, es decir, ¿cómo se debe hacer Step 12 of the tutorial usando un método no desaprobado?

Respuesta

19

Tenga en cuenta que el menosprecio hace no se aplican a todos SimpleCursorAdapter, simplemente uno de los constructores.

Si desea utilizar el cargador de la API 11, puede acceder a la biblioteca de compatibilidad (consulte: http://developer.android.com/sdk/compatibility-library.html). Esto proporciona un backport que es compatible con dispositivos de nivel 4 o superior de API.

EDIT:

Si todavía se enfrentan a los errores después de usar la biblioteca de compatibilidad, a continuación, sólo tiene que sustituir

import android.widget.SimpleCursorAdapter; 

con

import android.support.v4.widget.SimpleCursorAdapter; 
+1

Hola elevine, en lo Puedo decir que solo hay 2 constructores, uno de los cuales requiere la API 11. Por lo tanto, la depreciación de la otra significa básicamente que una aplicación está dirigida a API 10 sho uld no usa 'SimpleCursorAdapter', ¿verdad? ¿O me estoy perdiendo algo aquí? –

+1

No del todo. Lo * correcto * que debe hacer en su caso es usar LoaderManager y CursorLoader a través de la Biblioteca de compatibilidad para la que proporcioné un enlace. De lo contrario, * puedes * usar el constructor obsoleto, simplemente desaconsejado. – elevine

+0

Esto parece extraño. Estoy empezando a jugar con eso y me pregunto por qué depreciarían el único constructor que funciona con los teléfonos (API 11 es honeycomb, que es una tableta) y no proporcionarán un Constructor sin depreciación. – Nicholas