TwitterハッカソンでNFCによるTwitterアイコンチェンジャーを作成しました。#twtr_hack #twitter4j #nfchack
Twitterハッカソンに参加してきました。場所はTwitter Japan!
(場所はアーク森ビルといわれ、勘違いして六本木ヒルズに行き、インフォメーションカウンターのおねーさんにTwitterJapanどこですか?と聞いて、ザワザワしたのは言うまでもない。)
トゥギャッターはこちら → 第0回 Twitterハッカソン #twtr_hack
@yusukeyさんのブログはこちら →第0回Twitterハッカソンを開催しました #twtr_hack
@bina1204さんのブログはこちら →第0回 Twitter Hack に参加した
@makotoworldさんのブログはこちら →第0回Twitterハッカソンに参加して
@johtaniさんのブログはこちら →第0回 Twitter Hack #twtr_hack に遊びに行きました。
私がつくったのはNFC契機によるTwitterのアイコンチェンジャーです。
Twitterのアイコンに現在のステータスを埋め込んだら、MSNメッセンジャーとかでいう現在のステータス(退席中、取り込み中的な)が表現できるのではないかと。
また、ステータスのキーとして、SUICAをAndroidにタッチすれば、「電車移動中」とTwitterアイコンに示され、
同様に、社員証をタッチすれば「仕事中!」とアイコンに示されるようにしました。Twitterのアイコンかえるくらい、ボタン操作ではなくワンタッチで済ませたい。
これがSUICAタッチ後のアイコン。
遅刻しまくったし時間が無かったので強引なオレオレ実装ですが、ソースはGitHubにアップしておきました。
https://github.com/i2key/NFCxTwitter4J
また、TwitterAPIを使うとかなりの確率でステータスコード4XXや500が返ってくるのだけど、
以下のように何回かリトライさせるような実装で対応するしかないのでしょうか。
皆さんどのように書いているのか非常に気になります。
UpdateProfileImageTask.java
//4XXや5XXでても3回まではリトライする int continuousErrorCount = 0; while(true){ try { Log.i(TAG, "START."); //やりたいのはこれだけ。アイコン画像のアップロード twitter.updateProfileImage(bis); } catch (TwitterException e) { Integer errorCode = e.getStatusCode(); if(errorCode.toString().startsWith("5") || errorCode.toString().startsWith("4")){ continuousErrorCount++; if(continuousErrorCount < 4){ Log.e(TAG, "STATUS CODE is 4XX , 5XX. Try " + continuousErrorCount + "times."); continue; }else{ //リトライ4回目で終了(もう無理あきらめる) Log.e(TAG, "STATUS CODE is 4XX , 5XX. Try " + continuousErrorCount + "times."); return false; } }else{ //STATUS CODE = 3XX , 2XXのときはリトライなしで終了 Log.e(TAG, "STATUS CODE is 3XX , 2XX. Try " + continuousErrorCount + "times."); return false; } } //成功したら終了 Log.i(TAG, "SUCCESS. Try " + continuousErrorCount + "times."); break; }
頂いたノベルティ(ステッカー、ボールペン、クリアファイル、Tシャツ)
最後になりましたが、@yusukeyさん、ピザごちそうさまでした!