Tengo un ContentProvider personalizado que uso para almacenar arreglos obtenidos del GPS en una base de datos SQLite. Esta clase anula los métodos de ContentProvider (eliminar, insertar, consultar ...), pero observe que también incluí un método para consultar la última corrección.Android: llamar a métodos personalizados en ContentProvider
public class FixesContentProvider extends ContentProvider {
@Override
public int delete(...) { ... }
...
@Override
public Cursor query(...) { ... }
public Cursor getLastFix(Uri uri) { ... }
}
es bastante fácil para consultar datos de otros servicios o actividades llamando getContentResolver()
.
ContentResolver cR = getContentResolver();
Cursor fixes = cR.query(CONTENT_URI, ...);
pero no soy capaz de llamar a mi método personalizado (FixesContentProvider#getLastFix
). ¿Cómo podría llamar a métodos personalizados definidos en ContentProvider?
Tal vez no entiendo cómo funcionan los ContentProviders/ContentResolvers en este caso, pero el Android documentation provided by Google oficial no es muy claro en este sentido.
Eso es lo que hice. He usado UriMatcher.addUri para hacer coincidir "contenido: // xxx/fixes" y "contenido: // xxx/fixes/last" con dos códigos diferentes, actuando en consecuencia (como usted propone) en un modificador (myUriMatcher.match (uri)) {case CODE_1: xxx; case CODE_2: yyy; }. Muchas gracias. –