0

私のアプリで使用できるグーグル認証へのログインを必要とするAndroidアプリの良い簡単な例が必要です。私はOAuthを初めて使用するので、取得したすべての例を試しています。

私はすでにFacebookで認証を行い、ユーザー名とすべての基本情報を入手しました。Facebookで私はこの例に取り組みました:http://blog.doityourselfandroid.com/2011/02/28/30-minute-guide-integrating-facebook-android-application/

しかし、この例から試してみると、http: //blog.doityourselfandroid.com/2011/08/06/oauth-2-0-flow-android/ 登録済みのアプリとインポートされたプロジェクトをGit経由でeclipseに実行できません。ステップバイステップですべてをフォローしました。JsonFactoryで常にエラーが発生します。

コード:

private void performApiCall() {
    try {
        JsonFactory jsonFactory = new JacksonFactory();
        HttpTransport transport = new NetHttpTransport();

        CredentialStore credentialStore = new SharedPreferencesCredentialStore(prefs);
        AccessTokenResponse accessTokenResponse = credentialStore.read();

        GoogleAccessProtectedResource accessProtectedResource = new GoogleAccessProtectedResource(accessTokenResponse.accessToken,
                transport,
                jsonFactory,
                OAuth2ClientCredentials.CLIENT_ID,
                OAuth2ClientCredentials.CLIENT_SECRET,
                accessTokenResponse.refreshToken);

        final Latitude latitude = new Latitude(transport, accessProtectedResource, jsonFactory);
        latitude.apiKey=OAuth2ClientCredentials.API_KEY;

        LatitudeCurrentlocationResourceJson currentLocation = latitude.currentLocation.get().execute();
        String locationAsString = convertLocationToString(currentLocation);
        textView.setText(locationAsString);
    } catch (Exception ex) {
        ex.printStackTrace();
        textView.setText("Error occured : " + ex.getMessage());
    }
}

エラーコード:

08-11 21:45:33.606: W/dalvikvm(464): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
08-11 21:45:33.606: E/AndroidRuntime(464): Uncaught handler: thread main exiting due to uncaught exception
08-11 21:45:33.606: E/AndroidRuntime(464): java.lang.NoClassDefFoundError: com.google.api.client.json.jackson.JacksonFactory
08-11 21:45:33.606: E/AndroidRuntime(464):  at com.ecs.android.sample.oauth2.LatitudeApiSample.performApiCall(LatitudeApiSample.java:79)
08-11 21:45:33.606: E/AndroidRuntime(464):  at com.ecs.android.sample.oauth2.LatitudeApiSample.onCreate(LatitudeApiSample.java:61)
08-11 21:45:33.606: E/AndroidRuntime(464):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-11 21:45:33.606: E/AndroidRuntime(464):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
08-11 21:45:33.606: E/AndroidRuntime(464):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
08-11 21:45:33.606: E/AndroidRuntime(464):  at android.app.ActivityThread.access$2200(ActivityThread.java:119)
08-11 21:45:33.606: E/AndroidRuntime(464):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
08-11 21:45:33.606: E/AndroidRuntime(464):  at android.os.Handler.dispatchMessage(Handler.java:99)
08-11 21:45:33.606: E/AndroidRuntime(464):  at android.os.Looper.loop(Looper.java:123)
08-11 21:45:33.606: E/AndroidRuntime(464):  at android.app.ActivityThread.main(ActivityThread.java:4363)
08-11 21:45:33.606: E/AndroidRuntime(464):  at java.lang.reflect.Method.invokeNative(Native Method)
08-11 21:45:33.606: E/AndroidRuntime(464):  at java.lang.reflect.Method.invoke(Method.java:521)
08-11 21:45:33.606: E/AndroidRuntime(464):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
08-11 21:45:33.606: E/AndroidRuntime(464):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
08-11 21:45:33.606: E/AndroidRuntime(464):  at dalvik.system.NativeStart.main(Native Method)
08-11 21:45:33.616: I/dalvikvm(464): threadid=7: reacting to signal 3
08-11 21:45:33.616: E/dalvikvm(464): Unable to open stack trace file '/data/anr/traces.txt': Permission denied

誰かが何が問題なのかを知っているか、ソースコードと適切な説明を含むプロジェクトのリンクを投稿できる場合。

私のアプリは、google authを介してログインし、ユーザーの名前を取得するだけです。

4

1 に答える 1

1

プロジェクトに jar ファイルがありません。次のように表示されます。

java.lang.NoClassDefFoundError: com.google.api.client.json.jackson.JacksonFactory

だから、あなたはここからそれを見つけたいと思うかもしれません:

http://code.google.com/p/google-api-java-client/

ライブラリがある場合は、jar ファイルを確認してエクスポートするだけでよい場合があります。この回答でその方法のスクリーンショットを見つけることができます。

https://stackoverflow.com/a/9937414/67566

[ビルド パスの構成] に移動し、[注文とエクスポート] タブで、jar ファイルのチェックボックスが選択されていることを確認すると、問題が解決する場合があります。

于 2012-08-12T00:12:40.077 に答える