twitter4j를 사용하여 로그인 및 트윗 텍스트를 작성했습니다. 지금까지는 제대로 작동합니다. 기기에서 애플리케이션을 제거하고 애플리케이션을 재설치했지만 up.Below 오는 널 포인터 예외가 앱을 실행하면 코드null 트위터 인증 중 처음으로 사용자가 로그인 할 때의 포인터
prefs = PreferenceManager.getDefaultSharedPreferences(MyActivity.this);
if (TwitterUtils.isAuthenticated(prefs)) {
에게 //이 내가 널 포인터를 얻을 곳
public static boolean isAuthenticated(SharedPreferences prefs) {
String token = prefs.getString(OAuth.OAUTH_TOKEN, "");
String secret = prefs.getString(OAuth.OAUTH_TOKEN_SECRET, "");
AccessToken a = new AccessToken(token,secret);
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(Constants.CONSUMER_KEY, Constants.CONSUMER_SECRET);
twitter.setOAuthAccessToken(a);
try {
twitter.getAccountSettings(); //error at this line
return true;
} catch (TwitterException e) {
return false;
}
}
이 로그
입니다입니다 691,363,21009-06 11:38:48.138: E/AndroidRuntime(868): Caused by: java.lang.NullPointerException
09-06 12 : 59 : 49.943 : E/AndroidRuntime (929) libcore.net.UriCodec.encode (UriCodec.java:132)에서
09-06 11:38:48.138: E/AndroidRuntime(868): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.readln(HttpURLConnectionImpl.java:1279)
09-06 11:38:48.138: E/AndroidRuntime(868): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl$ChunkedInputStream.readChunkSize(HttpURLConnectionImpl.java:404)
09-06 11:38:48.138: E/AndroidRuntime(868): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl$ChunkedInputStream.<init>(HttpURLConnectionImpl.java:340)
09-06 11:38:48.138: E/AndroidRuntime(868): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getContentStream(HttpURLConnectionImpl.java:1175)
09-06 11:38:48.138: E/AndroidRuntime(868): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.doRequestInternal(HttpURLConnectionImpl.java:1754)
09-06 11:38:48.138: E/AndroidRuntime(868): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.doRequest(HttpURLConnectionImpl.java:1649)
09-06 11:38:48.138: E/AndroidRuntime(868): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:1374)
09-06 11:38:48.138: E/AndroidRuntime(868): at twitter4j.internal.http.HttpResponseImpl.<init>(HttpResponseImpl.java:45)
09-06 11:38:48.138: E/AndroidRuntime(868): at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:178)
09-06 11:38:48.138: E/AndroidRuntime(868): at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:75)
09-06 11:38:48.138: E/AndroidRuntime(868): at twitter4j.internal.http.HttpClientWrapper.get(HttpClientWrapper.java:103)
09-06 11:38:48.138: E/AndroidRuntime(868): at twitter4j.Twitter.getAccountSettings(Twitter.java:1440)
09-06 11:38:48.138: E/AndroidRuntime(868): at com.android.twitter.TwitterUtils.isAuthenticated(TwitterUtils.java:24)
어떤 제안이 높이 평가된다. 사전
당신이 그래서 응용 프로그램을 승인하기위한 Twitter.hasAccessToken()를 사용해보십시오 .... 인증을 확인하기위한 그러나 그 preferneces이 지워집니다 제거하는 동안 기본 설정을합니다 인증 TwitterUtils 클래스를 사용하는 .... twitter4j의 문서를 탐색 ...이 방법을 찾을 수 있습니다 !!! –
예.하지만 로그에 환경 설정을 인쇄 할 때 "[email protected]"이라는 오류가 발생할 수 있습니다. –