¿Cuál es el sustituto adecuado de "managedQuery" obsoleta?
La documentación de Android decía: Este método estaba obsoleto en el nivel 11 de la API.
Este es el código:
- Proveedor de contenido de Android y Gradle productFlavours
- ¿Las llamadas a un Content Resolver deben realizarse en un Servicio (es decir, un hilo separado)?
- Buen esquema para eliminar el archivo de base de datos en SQLiteOpenHelper.onDowngrade ()
- Observador de contenido de Android History
- Servir imágenes a través de un proveedor de contenido en Android
class GridViewActivity_ extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.gridview); GridView gv = (GridView)findViewById(R.id.gridview); Cursor c = managedQuery(Contacts.CONTENT_URI, null, null, null, Contacts.DISPLAY_NAME); String[] cols = new String[]{Contacts.DISPLAY_NAME}; int[] views = new int[] {android.R.id.text1}; SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, c, cols, views); gv.setAdapter(adapter); } }
¿Cómo reemplazar este código, no código obsoleto?
Para la actividad, no fragmento …
- ¿Cómo hacer frente a múltiples proveedores de contenido?
- VIEW de un URI del proveedor de contenido?
- Compartir y persistir datos entre varias aplicaciones de Android
- ¿Cuándo se crea realmente un ContentProvider?
- ContentProvider no aparecerá en el área de datos y sincronización
- Eliminar varias filas de contentprovider
- Android getContentResolver (). NotifyChange () no reinicia mi cargador
- Android - Seleccionar máximo en contentProvider
Puede ver este enlace: Problema de ManagedQuery () obsoleto
Cursor cursor = getContentResolver().query(contentUri, null, null, null, Contacts.DISPLAY_NAME);
Según este gran tutorial :
public class GridViewActivity extends FragmentActivity implements LoaderManager.LoaderCallbacks<Cursor> { private SimpleCursorAdapter mAdapter; @Override public Loader<Cursor> onCreateLoader(int p1, Bundle p2) { return new CursorLoader(this, Contacts.CONTENT_URI, null, null, null, Contacts.DISPLAY_NAME); } @Override public void onLoadFinished(Loader<Cursor> p1, Cursor cursor) { mAdapter.swapCursor(cursor); } @Override public void onLoaderReset(Loader<Cursor> cursor) { mAdapter.swapCursor(null); } @Override protected void onCreate(Bundle savedInstanceState) { // TODO: Implement this method super.onCreate(savedInstanceState); setContentView(R.layout.gridview); GridView gv = (GridView)findViewById(R.id.gridview); String[] cols = new String[]{Contacts.DISPLAY_NAME}; int[] views = new int[]{android.R.id.text1}; mAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, null, cols,views, 0); gv.setAdapter(mAdapter); getSupportLoaderManager().initLoader(0, null, this); } }
- Linterna LED no funciona en Samsung Galaxy Nexus
- Measure () no funciona correctamente con diseños dinámicos y textView – Android