마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

트위터 연동시 FC가 나오네요 조언 부탁드려요

0 추천

안녕하세요

제가 트위터 연동하는 예제를 따라했는데 

빌드 돌리면 access token 를 받아서 화면에 계정 사용을 승인할까요? 라고 뜨고 

어플리케이션 승인 버튼을 누르면 FC 가 뜨네요

 

아래 로그를 올려봤는데요 

중간에 공백있는 그 후부터가 EXCEPTION 떠서 어플이 종료가 된거같네요

먼가 문제가 있을때 로그보고 고치는게 아직 너무 어렵네요..

 

아래 처럼 FATAL EXCEPTION: main  이런거 뜰때 보통 어떤식으로 로그 분석을 해야할까요?

혹시 머가 문제인지 알수있을까요?

감사합니다.


01-11 17:52:51.657: E/Trace(5056): error opening trace file: No such file or directory (2)
01-11 17:52:51.668: D/ActivityThread(5056): setTargetHeapUtilization:0.25
01-11 17:52:51.668: D/ActivityThread(5056): setTargetHeapIdealFree:8388608
01-11 17:52:51.668: D/ActivityThread(5056): setTargetHeapConcurrentStart:2097152
01-11 17:52:51.718: I/Logger(5056): Using class twitter4j.internal.logging.CommonsLoggingLoggerFactory as logging factory.
01-11 17:52:51.718: I/HttpClientFactory(5056): Use twitter4j.internal.http.HttpClientImpl as HttpClient implementation.
01-11 17:52:51.738: D/libc(5056): DNS query requested to DNS proxy daemon hostname = twitter.com 
01-11 17:52:52.188: D/libc(5056): getaddrinfo proxy result code is = 222
01-11 17:52:52.188: D/libc(5056): getaddrinfo DNS proxy process success
01-11 17:52:56.813: D/TAG(5056): https://twitter.com/oauth/authorize?oauth_token=FVIKDADVuCMJBDtdPuTLyeqMzoMg0hlqrvTnspRkXU
01-11 17:54:27.330: D/TwitterExample(5056): Saving Access Token..
01-11 17:54:27.340: D/libc(5056): DNS query requested to DNS proxy daemon hostname = twitter.com 
01-11 17:54:27.630: D/libc(5056): getaddrinfo proxy result code is = 222
01-11 17:54:27.630: D/libc(5056): getaddrinfo DNS proxy process success
01-11 17:54:30.273: W/dalvikvm(5056): threadid=1: thread exiting with uncaught exception (group=0x41304438)




01-11 17:54:30.283: E/AndroidRuntime(5056): FATAL EXCEPTION: main
01-11 17:54:30.283: E/AndroidRuntime(5056): java.lang.NumberFormatException: Invalid int: "2283657938"
01-11 17:54:30.283: E/AndroidRuntime(5056):  at java.lang.Integer.invalidInt(Integer.java:138)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at java.lang.Integer.parse(Integer.java:378)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at java.lang.Integer.parseInt(Integer.java:366)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at java.lang.Integer.parseInt(Integer.java:332)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at twitter4j.http.AccessToken.<init>(AccessToken.java:49)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at twitter4j.http.AccessToken.<init>(AccessToken.java:42)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at twitter4j.http.OAuthAuthorization.getOAuthAccessToken(OAuthAuthorization.java:147)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at twitter4j.http.OAuthAuthorization.getOAuthAccessToken(OAuthAuthorization.java:168)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at twitter4j.Twitter.getOAuthAccessToken(Twitter.java:1663)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at com.androidhuman.example.TwitterExample.TwitterSupport.saveAccessToken(TwitterSupport.java:62)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at com.androidhuman.example.TwitterExample.Timeline.onNewIntent(Timeline.java:127)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at android.app.Instrumentation.callActivityOnNewIntent(Instrumentation.java:1156)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at android.app.ActivityThread.deliverNewIntents(ActivityThread.java:2165)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at android.app.ActivityThread.performNewIntents(ActivityThread.java:2178)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at android.app.ActivityThread.handleNewIntent(ActivityThread.java:2187)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at android.app.ActivityThread.access$1400(ActivityThread.java:137)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1274)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at android.os.Handler.dispatchMessage(Handler.java:99)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at android.os.Looper.loop(Looper.java:137)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at android.app.ActivityThread.main(ActivityThread.java:4885)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at java.lang.reflect.Method.invokeNative(Native Method)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at java.lang.reflect.Method.invoke(Method.java:511)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
01-11 17:54:30.283: E/AndroidRuntime(5056):  at dalvik.system.NativeStart.main(Native Method)

 

 
익명사용자 님이 2014년 1월 11일 질문

1개의 답변

0 추천

Integer.parseInt 로 값을 구했는데, int max의 경우 2147483647 이나 토큰상 값은 2283657938 이라 int 범위가 벗어나 오류가 난듯 합니다. 트위터 api 내부 버그인 듯 한데, 라이브러리가 최신인지 확인해보시기 바랍니다.

특히   토큰을 저아시 문제가 된 듯 한데. 토큰의 숫자가 왜 이리 크게 나왔나  모르겠네요...

예제 소스중 TwitterSupport.java 파일의 62라인 부분이  문제라고 로그에 나왔는데.

토큰의 경우 구현이 어떻게 되었는지는 몰라도.

 굳이 저장하지 않아도 필요시 매번 다시 받으면 되니 해당 부분을 주석하고 해보시는 것도 좋을 듯 하네요

 

사악미소 (65,330 포인트) 님이 2014년 1월 11일 답변
사악미소님이 2014년 1월 11일 수정
아마 제가 쓴 트위터 API가 옛날꺼라서 문제일수도 있겠네요
최신껄로 해보겠습니다.
답변 주시기전에는 INT 범위라고 전혀 생각못했는데
신기하네요
조언 정말 감사합니다.
...