adsense



안드로이드 twitter4j 연동시 참고

키워드:
Android (3.0 over)
twitter4j
getOAuthAccessToken
android.os.networkonmainthreadexception
AsyncTask
※onActivityResult에서 getOAuthAccessToken으로 토큰 받아올 때,
3.0 이상의 안드로이드 api에서 android.os.networkonmainthreadexception 나는 것을 수정해주는 부분입니다.

문제:

(전략)
Twitter twitter;
AccessToken accessToken = null;
RequestToken requestToken = null;

String access_token_string;
String access_token_string_secret;

.
.
(중략)
.
.
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
.
.
(중략)
.
.
accessToken = twitter.getOAuthAccessToken(r_token, data.getStringExtra("oauth_verifier"));//exception
access_token_string = accessToken.getToken();
access_token_string_secret = accessToken.getTokenSecret();
.
.
.
(하)


해결:
1. 추가 AsyncTask 클래스 코딩. 메인액티비티 클래스의 적당한 곳에 포함.

public class TwitterOAuthAccessToken extends AsyncTask<String, String, AccessToken>{

private Twitter mTwitter;

public TwitterOAuthAccessToken(Context context, Twitter twitter) {

mTwitter = twitter;
}

@Override
protected AccessToken doInBackground(String... params) {
// TODO Auto-generated method stub
AccessToken accessToken = null;
try {
accessToken = mTwitter.getOAuthAccessToken (r_token, params[0]);
} catch (TwitterException e) {
accessToken = null;
}
return accessToken;
}

}

2. 억세스 토큰 받아오는 부분 수정

TwitterOAuthAccessToken tk = new TwitterOAuthAccessToken(this, g_twitter);//추가
tk.execute(data.getStringExtra("oauth_verifier"));//추가
accessToken = tk.get();//수정
	access_token_string = accessToken.getToken();//그대로
access_token_string_secret = accessToken.getTokenSecret();//그대로


끝.



덧글

댓글 입력 영역


Books

Geek라이프

게임 매니악스 슈팅 게임 알고리즘
마츠우라 켄이치로,츠카사 유키 공저/손정도 역/박민근,Pope Kim 감수

게임 매니악스 퍼즐 게임 알고리즘
마츠우라 켄이치로,츠카사 유키 공저/김병국 역

핵심강좌! Cocos2d-x
이재환 저

될 수 있어! SE 13
나츠미 코지 저/Ixy 그림/김경훈 역
예스24 | 애드온2