Tôi có câu hỏi về cách sử dụng GWT-RequestFactory trong Android. Như một điểm khởi đầu, tôi đã sử dụng mã từ “Tạo một AppEngine kết nối Android-Project” -Wizard (infos: http://code.google.com/intl/de-DE/eclipse/docs/appengine_connected_android.html) và nó đã làm việc tuyệt vời.Cách sử dụng GWT-RequestFactory trong Android SyncAdapter (luôn nhận được ValidationTool-Error)
Nhưng bây giờ trong trường hợp của tôi, tôi muốn mở rộng ứng dụng này để sử dụng một ContentProvider cục bộ với SQLite và SyncService với SyncAdapter làm đồng bộ hóa dữ liệu từ ContentProvider với AppEngine bằng cách sử dụng RequestFactory. Bây giờ vấn đề của tôi như sau: Tôi có thể gọi
MyRequestFactory requestFactory = Util.getRequestFactory(mContext, MyRequestFactory.class);
trong bất kỳ Hoạt động tôi muốn và sẽ nhận được một thể hiện của MyRequestFactory. (Lưu ý: Util là một lớp được tạo bởi Wizard.) Nhưng nếu tôi cố gắng thực hiện cùng một cuộc gọi từ SyncAdapter của mình, tôi sẽ nhận được một java.lang.RuntimeException: RequestFactory ValidationTool phải được chạy cho com.hotool.client .MyRequestFactory RequestFactory type ".
Có lẽ đối với thông tin của bạn: Phương pháp Util.getRequestFacory trông như thế này:
/**
* 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;
}
Lỗi này xảy ra trong RequestFactorySource nằm trong requestfactory-client.jar Tôi nghĩ rằng, điều này có thể trở thành vấn đề của Trình tải lớp, nhưng đã cố gắng tìm ra vấn đề đó mà không thành công.
tôi cố gắng sử dụng ValidationTool nhưng trước hết nó không giúp đỡ và thứ hai tôi phát hiện ra, rằng các lớp học ValidationTool sẽ tạo ra đã được tại chỗ (có thể là nhờ vào chú thích chế biến như đã đề cập ở đây: http://code.google.com/p/google-web-toolkit/wiki/RequestFactoryInterfaceValidation)
Có ai có ý tưởng gì có thể gây ra điều này không?
Cảm ơn bạn rất nhiều và kính trọng.
Markus Neuenschwander
Tôi chạy vào cùng một lỗi, tôi đã tìm thấy thứ gì đó trên http://how2code.wordpress.com/2011/12/02/error-the-requestfactory-validationtool-must-be-run-for-gwt- 2-4 /, nhưng điều đó không giải quyết được vấn đề cho tôi. – bembii