Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google日历java.lang.NoClassDefFoundError_Java_Android_Google Calendar Api - Fatal编程技术网

Google日历java.lang.NoClassDefFoundError

Google日历java.lang.NoClassDefFoundError,java,android,google-calendar-api,Java,Android,Google Calendar Api,我正在尝试使用谷歌日历API开发日历应用程序 但应用程序在以下情况下崩溃: HttpTransport transport = AndroidHttp.newCompatibleTransport(); 这是LogCat的快照: 12-01 08:38:42.077: E/AndroidRuntime(24242): FATAL EXCEPTION: main 12-01 08:38:42.077: E/AndroidRuntime(24242): java.lang.NoClassDefFo

我正在尝试使用谷歌日历API开发日历应用程序

但应用程序在以下情况下崩溃:

HttpTransport transport = AndroidHttp.newCompatibleTransport();
这是LogCat的快照:

12-01 08:38:42.077: E/AndroidRuntime(24242): FATAL EXCEPTION: main
12-01 08:38:42.077: E/AndroidRuntime(24242): java.lang.NoClassDefFoundError: com.google.api.client.extensions.android.http.AndroidHttp
12-01 08:38:42.077: E/AndroidRuntime(24242):    at com.google.api.services.samples.calendar.android.CalendarSampleActivity.<init>(CalendarSampleActivity.java:100)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at java.lang.Class.newInstanceImpl(Native Method)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at java.lang.Class.newInstance(Class.java:1319)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at android.app.Instrumentation.newActivity(Instrumentation.java:1071)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2171)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2309)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at android.app.ActivityThread.access$700(ActivityThread.java:157)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at android.os.Looper.loop(Looper.java:176)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at android.app.ActivityThread.main(ActivityThread.java:5317)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at java.lang.reflect.Method.invokeNative(Native Method)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at java.lang.reflect.Method.invoke(Method.java:511)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at dalvik.system.NativeStart.main(Native Method)

如果您已经将google http客户端android jar包含到您的android项目中,那么您只需在Eclipse环境中执行以下步骤

  • 右键单击项目面板中的项目
  • 选择“属性”选项
  • 在属性窗口中,单击“Java构建路径”
  • 在该窗口的右侧,选择“库”选项卡
  • 单击“添加外部JAR”按钮并将此库添加到您需要的位置 以前保存过
  • 现在点击“Order and Export”选项卡并选中“JarName.jar”点击 在“Ok”上
  • 请参考
    GoogleAccountCredential credential;
    Calendar client;
    JsonFactory jsonFactory = GsonFactory.getDefaultInstance();
    HttpTransport transport = AndroidHttp.newCompatibleTransport();
        credential =
            GoogleAccountCredential.usingOAuth2(this, Collections.singleton(CalendarScopes.CALENDAR));
        SharedPreferences settings = getPreferences(Context.MODE_PRIVATE);
        credential.setSelectedAccountName(settings.getString(PREF_ACCOUNT_NAME, null));
        // Calendar client
        client = new com.google.api.services.calendar.Calendar.Builder(
            transport, jsonFactory, credential).setApplicationName("Google-CalendarAndroidSample/1.0")
            .build();