sirve que para example ejemplo data authenticator android android-contentprovider android-syncadapter

que - sync data android



SyncAdapter sin un ContentProvider (2)

Quiero implementar SyncAdapter para un contenido que quiero sincronizar con un servidor. Parece que para hacerlo, necesita un ContentProvider registrado para la autoridad que especifique en el archivo de propiedades XML de SyncAdapter.

Como no quiero que este contenido sea accesible para el resto del teléfono, no he implementado mi propio ContentProvider y utilicé una implementación personal para almacenar este contenido.

¿Sabes si es posible proporcionar una sincronización usando SyncAdapter sin proporcionar un ContentProvider?

Muchas gracias.



Siempre debe especificar un proveedor de contenido al implementar un SyncAdapter, pero eso no quiere decir que realmente tenga que hacer nada.

He escrito SyncAdapters que crean cuentas e integran con el marco de "Cuentas y sincronización" en Android que no necesariamente almacenan su contenido en un proveedor estándar.

En su xml / syncadapter.xml:

<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android" android:accountType="com.company.app" android:contentAuthority="com.company.content" android:supportsUploading="false" />

En tu manifiesto:

<provider android:name="DummyProvider" android:authorities="com.company.content" android:syncable="true" android:label="DummyProvider" />

Y luego agrega un proveedor ficticio que no hace nada útil excepto existir, DummyProvider.java:

public class DummyProvider extends ContentProvider { @Override public int delete(Uri uri, String selection, String[] selectionArgs) { return 0; } @Override public String getType(Uri uri) { return null; } @Override public Uri insert(Uri uri, ContentValues values) { return null; } @Override public boolean onCreate() { return false; } @Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { return null; } @Override public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { return 0; } }