我使用的是Android 2.2手机和Adroid SDK 2.3.3(API 10)
我正在尝试使用RESTLET for Android从手机中使用REST Client 在RESTLET Tutorial中给出的教程,用于访问在RESTURL上运行的REST服务但每当我在手机和模拟器中安装此应用程序时,它都会崩溃并显示消息 “意外停止”,因此强制关闭。我试图包括不同RESTLET版本的org.restlet.ext.httpclient.jar和org.restlet.jar,如2.0.0,2.0.5,2.1m2,但结果总是“FORCE CLOSE”
有人可以告诉我,如果我做错了吗?任何建议也是 适用于Android 2.2中的Restlful客户端
代码:
ClientResource cr = new ClientResource("http://androidgroundapps.appspot.com/rest/contacts/123");
ContactResource resource = cr.wrap(ContactResource.class);
// Get the remote contact
Contact contact = resource.retrieve();
if(contact == null){
toast("Contact is Null buddy!");
}
联系始终为空!!
这是logcat(我的应用程序名称为myapp
):
E/wifi ( 1361): [android_net_wifi_getRssiHelper] rssi -50
I/ActivityManager( 1361): Starting activity: Intent { act=android.intent.action.
MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.androidground
.apps.myapp/.MyApp }
W/Flex ( 1453): getString FLEX_OPERATOR_CODE OPEN
W/System.err( 9188): Starting the internal [HTTP/1.1] client
I/ActivityManager( 1361): Displayed activity com.androidground.apps.myapp/.MyApp: 1414 ms (total 1414 ms)
E/wifi ( 1361): [android_net_wifi_getRssiHelper] rssi -53
W/System.err( 9188): Stopping the internal[HTTP/1.1] client
E/wifi ( 1361): [android_net_wifi_getRssiHelper] rssi -51
E/Tethering( 1361): active iface (usb0) reported as added, ignoring
D/WifiService( 1361): BroadcastReceiver : android.intent.action.BATTERY_CHANGED
答案 0 :(得分:3)
在前面添加:
Engine.getInstance().getRegisteredConverters().add(new JacksonConverter());
但我只回到LinkedHashMap,我期待一个类型的对象(联系人)。如果您管理,请告诉我
答案 1 :(得分:0)
解决方案是按照Nitromouse的答案手动注册Restlet转换器和连接器。
亨利