java producteev4j实现
嘿,stackoverflow的伙计们。com我是一名学生,正在为自己开发一个带有producteev集成的小型todo应用程序。现在我发现了一个名为Producteev4j的库,可以在以下位置找到:http://code.google.com/p/producteev4j/
我下载了jar并将其添加到我的项目中。 但是由于有备用文档,我真的不知道如何实现它。我制作了一个带有以下代码摘录的按钮:
ProducteevTransport transport = new com.producteev4j.transport.SimpleTransportImpl();
((SimpleTransportImpl) transport).setApiKey("myapi");
((SimpleTransportImpl) transport).setApiSecret("mysecret");
if(service==null){
service = ProducteevServiceFactory.getService("com.producteev4j.services.version0.ProducteevServiceV0",transport);
}
try {
userLogin = service.userLogin(EMAIL, PASSWORD);
} catch (ProducteevSignatureException e) {
e.printStackTrace();
} catch (ProducteevServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ProducteevException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
userToken = userLogin.getToken();
这些变量:
private ProducteevService service=null;
private UserLogin userLogin;
但这不起作用,我总是单击按钮应用程序崩溃,出现以下情况(这是一次运行的完整日志文件)
01-03 12:33:37.585: D/dalvikvm(244): GC freed 832 objects / 62864 bytes in 82ms
01-03 12:33:37.895: D/dalvikvm(244): GC freed 51 objects / 1936 bytes in 53ms
01-03 12:33:38.195: D/dalvikvm(244): GC freed 132 objects / 6240 bytes in 55ms
01-03 12:33:38.475: D/dalvikvm(244): GC freed 58 objects / 2312 bytes in 54ms
01-03 12:33:38.765: D/dalvikvm(244): GC freed 62 objects / 6112 bytes in 54ms
01-03 12:33:39.175: D/ViewFlipper(244): updateRunning() mVisible=true, mStarted=false, mUserPresent=true, mRunning=false
01-03 12:33:47.925: E/dalvikvm(244): Could not find class 'org.codehaus.jackson.map.ObjectMapper', referenced from method com.producteev4j.marshall.JacksonMappingUtil.<clinit>
01-03 12:33:47.925: W/dalvikvm(244): VFY: unable to resolve new-instance 146 (Lorg/codehaus/jackson/map/ObjectMapper;) in Lcom/producteev4j/marshall/JacksonMappingUtil;
01-03 12:33:47.925: D/dalvikvm(244): VFY: replacing opcode 0x22 at 0x0000
01-03 12:33:47.925: D/dalvikvm(244): Making a copy of Lcom/producteev4j/marshall/JacksonMappingUtil;.<clinit> code (32 bytes)
01-03 12:33:47.935: W/dalvikvm(244): VFY: unable to find class referenced in signature (Lorg/codehaus/jackson/type/JavaType;)
01-03 12:33:47.935: I/dalvikvm(244): Could not find method org.codehaus.jackson.map.ObjectMapper.canDeserialize, referenced from method com.producteev4j.marshall.JacksonMappingUtil.canRead
01-03 12:33:47.935: W/dalvikvm(244): VFY: unable to resolve virtual method 786: Lorg/codehaus/jackson/map/ObjectMapper;.canDeserialize (Lorg/codehaus/jackson/type/JavaType;)Z
01-03 12:33:47.935: D/dalvikvm(244): VFY: replacing opcode 0x6e at 0x0006
01-03 12:33:47.935: D/dalvikvm(244): Making a copy of Lcom/producteev4j/marshall/JacksonMappingUtil;.canRead code (40 bytes)
01-03 12:33:47.935: I/dalvikvm(244): Could not find method org.codehaus.jackson.map.type.TypeFactory.type, referenced from method com.producteev4j.marshall.JacksonMappingUtil.getJavaType
01-03 12:33:47.935: W/dalvikvm(244): VFY: unable to resolve static method 788: Lorg/codehaus/jackson/map/type/TypeFactory;.type (Ljava/lang/reflect/Type;)Lorg/codehaus/jackson/type/JavaType;
01-03 12:33:47.935: D/dalvikvm(244): VFY: replacing opcode 0x71 at 0x0000
01-03 12:33:47.935: D/dalvikvm(244): Making a copy of Lcom/producteev4j/marshall/JacksonMappingUtil;.getJavaType code (28 bytes)
01-03 12:33:47.945: W/dalvikvm(244): VFY: unable to find class referenced in signature (Lorg/codehaus/jackson/type/JavaType;)
01-03 12:33:47.945: I/dalvikvm(244): Could not find method org.codehaus.jackson.map.ObjectMapper.readValue, referenced from method com.producteev4j.marshall.JacksonMappingUtil.read
01-03 12:33:47.945: W/dalvikvm(244): VFY: unable to resolve virtual method 787: Lorg/codehaus/jackson/map/ObjectMapper;.readValue (Ljava/io/InputStream;Lorg/codehaus/jackson/type/JavaType;)Ljava/lang/Object;
01-03 12:33:47.945: D/dalvikvm(244): VFY: replacing opcode 0x6e at 0x000c
01-03 12:33:47.945: D/dalvikvm(244): Making a copy of Lcom/producteev4j/marshall/JacksonMappingUtil;.read code (282 bytes)
01-03 12:33:47.945: W/dalvikvm(244): VFY: unable to resolve exception class 140 (Lorg/codehaus/jackson/JsonParseException;)
01-03 12:33:47.945: W/dalvikvm(244): VFY: unable to find exception handler at addr 0x2e
01-03 12:33:47.955: W/dalvikvm(244): VFY: rejected Lcom/producteev4j/marshall/JacksonMappingUtil;.read (Ljava/io/InputStream;Ljava/lang/Class;)Ljava/lang/Object;
01-03 12:33:47.955: W/dalvikvm(244): VFY: rejecting opcode 0x0d at 0x002e
01-03 12:33:47.955: W/dalvikvm(244): VFY: rejected Lcom/producteev4j/marshall/JacksonMappingUtil;.read (Ljava/io/InputStream;Ljava/lang/Class;)Ljava/lang/Object;
01-03 12:33:47.955: W/dalvikvm(244): Verifier rejected class Lcom/producteev4j/marshall/JacksonMappingUtil;
01-03 12:33:47.955: D/AndroidRuntime(244): Shutting down VM
01-03 12:33:47.955: W/dalvikvm(244): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
01-03 12:33:47.955: E/AndroidRuntime(244): Uncaught handler: thread main exiting due to uncaught exception
01-03 12:33:47.975: E/AndroidRuntime(244): java.lang.VerifyError: com.producteev4j.marshall.JacksonMappingUtil
01-03 12:33:47.975: E/AndroidRuntime(244): at com.producteev4j.transport.SimpleTransportImpl._doGet(SimpleTransportImpl.java:29)
01-03 12:33:47.975: E/AndroidRuntime(244): at com.producteev4j.transport.AbstractTransport.process(AbstractTransport.java:69)
01-03 12:33:47.975: E/AndroidRuntime(244): at com.producteev4j.transport.AbstractTransport.process(AbstractTransport.java:52)
01-03 12:33:47.975: E/AndroidRuntime(244): at com.producteev4j.services.version0.ProducteevUserServiceV0Impl.userLogin(ProducteevUserServiceV0Impl.java:123)
01-03 12:33:47.975: E/AndroidRuntime(244): at com.producteev4j.services.version0.ProducteevServiceV0.userLogin(ProducteevServiceV0.java:85)
01-03 12:33:47.975: E/AndroidRuntime(244): at producteev.push.Producteev_pushActivity$2.onClick(Producteev_pushActivity.java:87)
01-03 12:33:47.975: E/AndroidRuntime(244): at 安卓.view.View.performClick(View.java:2364)
01-03 12:33:47.975: E/AndroidRuntime(244): at 安卓.view.View.onTouchEvent(View.java:4179)
01-03 12:33:47.975: E/AndroidRuntime(244): at 安卓.widget.TextView.onTouchEvent(TextView.java:6541)
01-03 12:33:47.975: E/AndroidRuntime(244): at 安卓.view.View.dispatchTouchEvent(View.java:3709)
01-03 12:33:47.975: E/AndroidRuntime(244): at 安卓.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-03 12:33:47.975: E/AndroidRuntime(244): at 安卓.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-03 12:33:47.975: E/AndroidRuntime(244): at 安卓.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-03 12:33:47.975: E/AndroidRuntime(244): at 安卓.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-03 12:33:47.975: E/AndroidRuntime(244): at 安卓.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-03 12:33:47.975: E/AndroidRuntime(244): at 安卓.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-03 12:33:47.975: E/AndroidRuntime(244): at 安卓.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
01-03 12:33:47.975: E/AndroidRuntime(244): at com.安卓.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
01-03 12:33:47.975: E/AndroidRuntime(244): at com.安卓.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
01-03 12:33:47.975: E/AndroidRuntime(244): at 安卓.app.Activity.dispatchTouchEvent(Activity.java:2061)
01-03 12:33:47.975: E/AndroidRuntime(244): at com.安卓.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
01-03 12:33:47.975: E/AndroidRuntime(244): at 安卓.view.ViewRoot.handleMessage(ViewRoot.java:1691)
01-03 12:33:47.975: E/AndroidRuntime(244): at 安卓.os.Handler.dispatchMessage(Handler.java:99)
01-03 12:33:47.975: E/AndroidRuntime(244): at 安卓.os.Looper.loop(Looper.java:123)
01-03 12:33:47.975: E/AndroidRuntime(244): at 安卓.app.ActivityThread.main(ActivityThread.java:4363)
01-03 12:33:47.975: E/AndroidRuntime(244): at java.lang.reflect.Method.invokeNative(Native Method)
01-03 12:33:47.975: E/AndroidRuntime(244): at java.lang.reflect.Method.invoke(Method.java:521)
01-03 12:33:47.975: E/AndroidRuntime(244): at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
01-03 12:33:47.975: E/AndroidRuntime(244): at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:618)
01-03 12:33:47.975: E/AndroidRuntime(244): at dalvik.system.NativeStart.main(Native Method)
01-03 12:33:47.985: I/dalvikvm(244): threadid=7: reacting to signal 3
01-03 12:33:48.006: I/dalvikvm(244): Wrote stack trace to '/data/anr/traces.txt'
如果有人能看看,那就太好了。 你的弗洛
# 1 楼答案
我很抱歉缺少文档(我没有太多的空闲时间来做这件事)
如前所述,您缺少了项目的两个依赖项,即jackson库
我对文档做了更多的更新
如果您有任何问题,请在项目页面与我联系
该库的使用很简单,您有一个接口“ProducteevService”(在wiki中,我告诉您如何配置它,有没有spring),并且认为您拥有(几乎所有)producteev api提供的服务。它返回某个类,即带有响应数据的响应
问候
胡安
# 2 楼答案
您需要添加http://jackson.codehaus.org/库
用mapperhttp://jackson.codehaus.org/1.9.3/jackson-all-1.9.3.jar下载这个