Tengo una pregunta sobre el uso de GWT-RequestFactory en Android. Como punto de partida utilicé el código del asistente "Crear un AppEngine conectado Android Project" (información: http://code.google.com/intl/de-DE/eclipse/docs/appengine_connected_android.html) y funcionó muy bien.Cómo usar GWT-RequestFactory en Android SyncAdapter (obteniendo siempre ValidationTool-Error)
Pero ahora en mi caso quiero extender esta aplicación para usar un ContentProvider local con SQLite y un SyncService con SyncAdapter sincronizar los datos de ContentProvider con el AppEngine usando RequestFactory. Ahora mi problema es el siguiente: puedo llamar
MyRequestFactory requestFactory = Util.getRequestFactory(mContext, MyRequestFactory.class);
en cualquier actividad que quiero y voy a recibir una instancia de MyRequestFactory. (Nota: Util es una clase creada por el Asistente). Pero si intento hacer la misma llamada desde mi SyncAdapter, obtendré una java.lang.RuntimeException: RequestFactory ValidationTool se debe ejecutar para el com.hotool.client .MyRequestFactory RequestFactory tipo ".
Tal vez para su información: El método Util.getRequestFacory tiene este aspecto: se produce
/**
* Creates and returns an initialized {@link RequestFactory} of the given
* type.
*/
public static <T extends RequestFactory> T getRequestFactory(
Context context, Class<T> factoryClass) {
T requestFactory = RequestFactorySource.create(factoryClass);
SharedPreferences prefs = getSharedPreferences(context);
String authCookie = prefs.getString(Util.AUTH_COOKIE, null);
String uriString = Util.getBaseUrl(context) + RF_METHOD;
URI uri;
try {
uri = new URI(uriString);
} catch (URISyntaxException e) {
Log.w(TAG, "Bad URI: " + uriString, e);
return null;
}
requestFactory.initialize(new SimpleEventBus(),
new AndroidRequestTransport(uri, authCookie));
return requestFactory;
}
El error en RequestFactorySource que se encuentra en el RequestFactory-client.jar creo que esto puede ser un problema de cargador de clase, pero traté de resolverlo sin éxito.
He intentado utilizar el ValidationTool pero primero de todo es que no ayudó y en segundo lugar que descubrí, que las clases del ValidationTool va a generar ya están en su lugar (probablemente gracias a la anotación de procesamiento como se ha mencionado aquí: http://code.google.com/p/google-web-toolkit/wiki/RequestFactoryInterfaceValidation)
¿Alguien tiene una idea de lo que podría causar esto?
Muchas gracias y saludos cordiales.
Markus Neuenschwander
Me encuentro con el mismo error, encontré algo en http://how2code.wordpress.com/2011/12/02/error-the-requestfactory-validationtool-must-be-run-for-gwt- 2-4 /, pero eso no resuelve el problema para mí. – bembii