2013年03月05日

AndroidアプリにTwitter4jをつかってツイート機能を実装

ライジングを売り8して絶賛PSO2中ですがたまにはまじめにアンドロイドアプリの記事を…
まぁ記事というか自分用まとめです。
ボタン押したらツイート投稿という超単純なアプリを作ってみたのでそのまとめです。(超単純だけど苦戦したw)


まずはTwitter4jからTwitter4j3.0.3をダウンロード。libフォルダの中にあるtwitter4j-core-3.0.3.jarファイルを使います。使う時はアンドロイドプロジェクトの中のlibsフォルダのなかにtwitter4j-core-3.0.3.jarをコピー。

そしてhttps://dev.twitter.com/でアプリケーションを登録。アクセスレベルは用途に応じて変更。今回主に使ったのはConsumer keyConsumer secret、そしてCallback URLでした。


そして肝心のソースコードですがほぼ100%、ここのサイト様の記事ta9mar開発メモにあるものを使わせていただきました。
OAuth認証部分のクラスを書いたadakodaさんにはひたすら感謝感激…


しかし!コピペしただけではエラー吐いて動きませんでした。その原因は…


原因1…インテントの部分をマニフェストに書き忘れw一応すぐには気付いたよ?w


原因2…マニフェストに<uses-permission android:name="android.permission.INTERNET" />を書いていない。OAuth認証部分のインテント動いてるのにwebページ見れないじゃん!って時は多分これ。


原因3…インテント動いてパス入れたらpinコードが…。この場合は多分https://dev.twitter.com/での登録時にCallback URLが登録されていない。登録時のWebSiteとは別なので注意が必要。String CALLBACK と登録されているCallback URLが同一ならアカ名とパス入れたら認証後、元のアプリに戻ってくる。


原因4…メインスレッドでwebアクセスしててandroid.os.NetworkOnMainThreadExceptionってツッコミうけた。非同期で処理する。試すだけなら下記コード書けば例外発生しない。
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().permitAll().build());


ゲームとかオフラインのアプリばかり作ってたので原因2が鬼門でした。これから自分用にラップしていきたいなぁと思ってます。上手くラップできたらソース公開するかも…




posted by castor-09 at 02:43 | Comment(0) | Android | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

×

この広告は180日以上新しい記事の投稿がないブログに表示されております。