自己紹介

76 views
Skip to first unread message

Yusuke Yamamoto

unread,
Dec 7, 2010, 10:38:14 PM12/7/10
to twitter-devel...@googlegroups.com
こんにちは。山本です。

このメーリングリストはおかげさまで50名ほどまで登録者が増えました。
まだ活発な議論は行われていませんがデベロッパに有用な場所になると嬉しいです。

さて、本家 Twitter Development Talk で長い間盛り上がっているスレッドで "Introduce yourself!"というものがあります。
・Introduce yourself!
http://groups.google.com/group/twitter-development-talk/browse_thread/thread/d6bd8f0a9b242717

メーリングリストの参加者の簡単な自己紹介、それからどんなものを開発しているかをポストしているスレッドです。
このメーリングリストにもデスクトップクライアントやWebサービスなど様々なアプリケーションを開発している方、
そしてまだ開発していないけどこんなこと、あんなことをしてみたい!と意気込んでいる方々参加していると思います。
皆さんも自己紹介してみませんか?

まず、言い出しっぺの私から。

- Twitterアカウント
@yusukey / @yusukeyamamoto(英語)

- Twitter4J
Java から Twitter API を操作するためのオープンソースのライブラリ[1]をメンテナンスしています。
Javaらしく型付けされたプログラミングで簡単に Twitter API を扱えるのが売りです。
昨日、晴れてドキュメントに掲載されている全ての API への対応を果たしました[2]。

- Twitter 関連案件
専らTwitter4Jのメンテナンスにかかりっきりで実は Twitter API を活用したアプリケーションはほとんど
開発したことがありません。
これ!と公表できるものはないのですが国内外の Twitter 関連のプロジェクトをちょこまかと手伝っています。

- Twitter本
現在 Twitter API のリファレンス本を書いています。全APIを網羅的に解説した日本語の本になる予定です。
あれこれと API の変更に対応しようと大幅に執筆が遅れているのが悩みの種です・・。
出版の折には本メーリングリストでも宣伝させてください。

- Twitter クライアント
せっかく Twitter4J を作っているので一つは Twitter クライアントを作ってみたいと思っています。
構想ばかりで何も手はつけていません。

[1] http://twitter4j.org/
[2] http://samuraism.jp/diary/2010/12/07/1291732320000.html

面白いことかけなくてすいません・・、皆さんの自己紹介もお待ちしています。
--
山本 裕介
yus...@mac.com

このメールは: [x] ブログ/Twitterへ転載可能 [ ] 私信
Twitter でフォロー : http://twitter.com/yusukey
blogを購読: http://samuraism.jp/

Takao Nakaguchi

unread,
Dec 7, 2010, 11:30:50 PM12/7/10
to twitter-devel...@googlegroups.com
中口です。
こんにちは。

では2get行きます。

- Twitterアカウント
@takawitter

- pos2wit
Twitter4Jを使って、Google AppEngine上で動作する携帯メールゲートウェイ、
"pos2wit"(http://www.pos2wit.com/ )を作ってます。自分で使うためにつくって
ましたが、今は無料で公開しています。(ユーザはまだ数十人規模)

- Twitter4Jへのコミット
画像のアップロード機能を少しお手伝いしました。ちょうど最近大きくリ
ファクタリングされて、さらに使いやすくなった部分(twitter4j.mediaに
移ったところ)です。
あと、AppEngineのAsyncUrlFetchとTwitter4Jを組み合わせようとしていますが、
これはまだ実現しきれてません。


なかなかがっつりとTwitter APIについて日本語で議論できる場所がないので、
このグループが盛り上がって、そういう場になってくことを期待してます。
いろいろ情報交換していきましょう。
よろしくお願いします!


Takao Nakaguchi
takao.n...@gmail.com
http://takao.blogspot.com/

2010/12/8 Yusuke Yamamoto <yus...@mac.com>:

Kenzi NOIKE

unread,
Dec 8, 2010, 12:11:17 AM12/8/10
to twitter-development-talk-ja
野池です.
はじめまして.

# 3getずざー,とか言ったほうがいいのかな(笑).

- Twitterアカウント
@knoike

- MML を MP3 に変換するボット @mml2mp3
http://knoike.seesaa.net/article/152842122.html

Twitter4J を使っていなくて申し訳ないのですが,
Perl の Net::Twitter を使ったボットを公開しています.
@mml2mp3 に対して MML(Music Macro Language)をつぶやくと,
MP3 に変換し,そのファイルへの短縮URL をつぶやき返します.
たとえば,「@mml2mp3 c4 d4 e4 f4 g4 a4 b4 >c2」とか,
「@mml2mp3 t90 かg8 きa8 ねg8 のe8 かg8 きa8 ねg8 のe8 まc8 がd8 りe8 かe8 どd4」
とか,つぶやくと 2分後くらいにお返事が来ます.

Twitter API については,あんまりきちんとはわかっていません.
OAuth 対応は,今年の7月くらいに行いましたが,
Access Token や Access Token Secret などは,
決め打ちで,コードに埋め込んで実装してお茶を濁してあります.

英語については,読めるのですが,書けない/聞けない/話せない
というレベルです.
よろしくお願いします.


2010/12/8 Takao Nakaguchi <takao.n...@gmail.com>:

--
// Kenzi NOIKE

nobu666

unread,
Dec 8, 2010, 12:30:20 AM12/8/10
to Twitter Development Talk - ja
尾形です。簡単にですが続いて行きます。

- Twitterアカウント
@nobu666

- Twitter 関連案件
残念ながら大人の都合とやらで具体的に書けないのですが、Twitter4Jを使って
開発をしています。というわけで今はJavaがメインになってます。

Streaming APIとかAnnotationとか使ってなんか面白いことできないかなぁと
妄想はしているのですが、まだ妄想止まりです。スマホ周りでもTwitterと
その他のサービスの連携をうまく使ってごにょごにょ…とネタは考えている
のですがなかなか手が動かないでおります。

APIそのものだけでなく、周辺技術まで含んで気軽に話せる場になるといいなと
思っています。よろしくお願いします。

Yusuke Yamamoto

unread,
Dec 8, 2010, 12:51:03 AM12/8/10
to twitter-devel...@googlegroups.com
mml2mp3、面白いですね。
Twitter API に関連する技術トピックを日本語で集められればという主旨ですのでもちろんTwitter4Jを使っていなくても結構です!

> Access Token や Access Token Secret などは,
> 決め打ちで,コードに埋め込んで実装してお茶を濁してあります.

ちなみに、中の人によると最近 OAuth のシグニチャの検証を厳しくしているそうです。
具体的には "require authentication" でないメソッド呼び出し時に以前はシグニチャが間違って
いても無視していたのですが、今はエラーを返すようにしたそうです。
問題なく動いていれば大丈夫と思いますが一応ご参考まで。
--
山本 裕介
yus...@mac.com

このメールは: [x] ブログ/Twitterへ転載可能 [ ] 私信
Twitter でフォロー : http://twitter.com/yusukey
blogを購読: http://samuraism.jp/

nobu666

unread,
Dec 8, 2010, 1:01:43 AM12/8/10
to Twitter Development Talk - ja
尾形です。

> ちなみに、中の人によると最近 OAuth のシグニチャの検証を厳しくしているそうです。
> 具体的には "require authentication" でないメソッド呼び出し時に以前はシグニチャが間違って
> いても無視していたのですが、今はエラーを返すようにしたそうです。
> 問題なく動いていれば大丈夫と思いますが一応ご参考まで。

先日、数時間ですがverifierが必須になっていた時間があったみたいで
しばらくの間認証不能になりました。いつの間にか戻ってましたけど。

Yusuke Yamamoto

unread,
Dec 8, 2010, 1:07:51 AM12/8/10
to twitter-devel...@googlegroups.com
この件ですね。
http://groups.google.com/group/twitter-development-talk/browse_thread/thread/69dabee414d5f553

その件で中の人も Twitter4J を使って検証をしてくれていて、今中の人と直接やりとりをしているところです。
その流れで、誤ったシグニチャを生成する場合があるバグがある Twitter4J 2.1.5 を使ってるユーザーで大量に
エラー出てるんだけど、という話があがりまして・・・。
http://twitter.com/#!/episod/status/12167993211486209

元々誤っていたものをエラーとするようにしたわけで文句は言えませんが、何か変更を加える際はアナウンスして
欲しいですね。APIの大幅な変更に関しては最近事前にアナウンスしてくれていますが。
--
Yusuke Yamamoto
yus...@mac.com

this email is: [x] bloggable/tweetable [ ] private
follow me on : http://twitter.com/yusukeyamamoto
subscribe me at : http://samuraism.jp/

Kenzi NOIKE

unread,
Dec 8, 2010, 1:29:36 AM12/8/10
to twitter-development-talk-ja
野池です.

>> Access Token や Access Token Secret などは,
>> 決め打ちで,コードに埋め込んで実装してお茶を濁してあります.
> ちなみに、中の人によると最近 OAuth のシグニチャの検証を厳しくしているそうです。
> 具体的には "require authentication" でないメソッド呼び出し時に以前はシグニチャが間違って
> いても無視していたのですが、今はエラーを返すようにしたそうです。
> 問題なく動いていれば大丈夫と思いますが一応ご参考まで。

コメントをありがとうございます.
とりあえず,さっき試してみて動いたので,一応,いまのところは
大丈夫そうです.
とはいえ,ある日突然動かなくなるとイヤですので,
雑な実装は,そのうちに見直したいと思います.

2010/12/8 Yusuke Yamamoto <yus...@mac.com>:

--
// Kenzi NOIKE

lynmock

unread,
Dec 8, 2010, 1:37:08 AM12/8/10
to Twitter Development Talk - ja
鈴木です。

こういう時は「ひとけた」でいいんでしょうかw

-Twitterアカウント
@lynmock

-P3:PeraPeraPrv
Java の習作を兼ねて作成した Twitter クライアント。Swing による UI 実装で、Mac、linux、Windows など基
本 Java&Swing のある環境であれば動作します。超趣味に走ったアイコンでユーザーを選びますw

-TweetRecorder
イーフロンティア様から発売された世界初のパッケージ Twitter クライアントソフトwです。Windows 用。こちらも
Java&Swing による実装。まあP3に比べると実装はだいぶ良くなりましたよ、山本さんw 相変わらず Twitter4J は未使用ですが
w

現在は六本木の某社で、やっぱりTwitterに関する何かを作ってたりします。よろしくお願いします。

elek mole

unread,
Dec 8, 2010, 2:28:27 AM12/8/10
to twitter-devel...@googlegroups.com
elekと申します。

- Twitterアカウント
@elekingmole(鍵付) どーでもいいことをつぶやいてます。
@GALAcTTER blog等の周知用です。

- Twitterクライアント
GALAcTTER
Twitter4JとGoogle AJAX Language APIを利用した翻訳機能付きTwitterクライアントです。
新しく概念で作り直そうと思うも、旧版の使い勝手の悪さが気になり改修中。何故か画像
ビューワ要素を追加し、今まで以上にわけのわからないクライアントへ変身しつつ…

44D300
Twitter4Jを利用したCUIクライアント。非常駐型です。ステルスでつぶやきたい人を
ユーザーに想定しています。

Marubatsu
Twitter4Jを利用した○☓クライアント。これ自体は何の面白さもありませんが、いずれ
将棋やその他のテーブルゲームやテーブルトークゲームへと発展させられたらいいなと
思っています。現段階では制御にTwitter APIは使うという暴挙を犯しているので、その辺も
どうにかしようと思っています。

Twitter 関連案件

無職なのでそういった仕事的関わりはありませんが、陽昇れども地の底に光届かず
Twitter4Jの使い方、GAEとTwitter4Jを利用したbotの作成方法などを書いています。
Twitterに限りませんが今は昔のkonjak翻訳で英語ドキュメントの和訳に挑戦しています。
翻訳品質は自動翻訳よりはマシという程度です。

IS01月額8円祭りに乗り遅れたのとGoogleCheckoutを使えない(Android marketに
登録できない)のでAndroidは取り敢えず放っておいて、今後GAEの方でTwitterに
関連したwebサービスでも作ってみようかと思っているところです。

よろしくお願いします。

Tetsunosuke Ito

unread,
Dec 8, 2010, 5:48:54 AM12/8/10
to twitter-devel...@googlegroups.com
てつのすけ と申します。

- Twitter

@tetsunosuke です。

- Twitter 関連案件

全然案件じゃないんですけど、GoogleAppEngineでTwitterのbotを作る会、「BOTつくろう会」を主催しています。
(現在は極めて緩やかに活動していますので、Pythonもやってみたいなーっていう方がいらっしゃいましたらお声がけください)

動かしているbotの@jirolian で、ラーメン二郎とそれに関するキーワードの分析をしていて、
二郎と「坂上」のようなデータはラーメン二郎とは無関係、二郎と「ヤサイ」であれば関係が強い、
といったような分析に基づいて、フォローをしていく、などというような感じにしていました。

AppEngineのデータストアを使い果たしてしまって以来その件には手を付けていません・・・

ちなみにTwitter4JではなくPythonのtweepy派です。
(Javaを使う環境があまりなくて・・・)

上記の件に関連して、最近自然言語処理のお勉強をはじめました。
(が、仕事が割と忙しくなってしまってこちらもあまり手付かず・・・)


--
ITO Tetsunosuke
tetsuno...@gmail.com

きり

unread,
Dec 8, 2010, 6:42:39 AM12/8/10
to Twitter Development Talk - ja
横溝です。

- Twitterアカウント
@kiri_feather

- Twitter クライアント
Tween
http://sourceforge.jp/projects/tween/wiki/FrontPage

Windows用のデスクトップクライアントを作っております。
.NET Framework 2.0のVB.net製です。(なんでC#じゃないんだ!というのは良く目にしますが)
キーボード操作を重視してますが、もちろんマウスでも操作できます。
ヘビーに使う人にも満足してもらえるような機能と速度に重点を置いて開発してます。
ようやくStreamingAPIに対応できる目処が立ったところです。
私の他に、開発者が4名と中国語リソース担当が1名のプロジェクトとなってます。

英語ドキュメントは一応読めますが、アテにならないこともママありますし、本家DevTalkだと難しくて理解できない場合もあるので、日本語で検討・
議論できる場はありがたいです。
ありがとうございます&よろしくお願いします。

sinner

unread,
Dec 8, 2010, 8:16:38 AM12/8/10
to Twitter Development Talk - ja
sinnerと申します。

- Twitterアカウント
@sinnerthesinner

- Twitterクライアント
Janetter

大阪で働くプログラマです。
Delphi + Webkit (Chrominum) + JavaScript で
デスクトップアプリを構築するという
少々トリッキーなことやってます。(開発3名)

Streaming APIに早く対応したいと思いながら、
今は正式版に向けたバグ対応で手一杯です。

よろしくお願いします。

みやけん

unread,
Dec 8, 2010, 8:46:17 AM12/8/10
to twitter-devel...@googlegroups.com
こんばんは、みやけんです。

- Twitterアカウント
@cyberspacefarm

- Twitter 関連案件
android market未公開のtwitterクライアントがひとつ。

android関係のアプリをandroid marketに公開しています。
時間がとれたら、twitterクライアント完成させたいです。

山本さんとは、GDDで隣のブースにいました。
アプリ公開しますねっていってから時間がたってますが、依然公開できてません。
androidでUIって実はすごく難しいんです。
それで悩んでしまってそこから進んでないのが現状です。

今興味があるのはStreamAPIですね。これ使って何か面白いことができらと考えてます。

Hyougetsu Hoshizaki

unread,
Dec 8, 2010, 12:02:47 PM12/8/10
to Twitter Development Talk - ja
こんばんわ。KIDです。

そそくさと自己紹介をば。

- Twitterアカウント
@blueberrystream

- Twitter4J
2.1.3のころからappengine上で使わせていただいております。
appengineでFileクラスが使えないので、それを使っているメソッドの代替メソッドを書いてたりしたことも
あったのですが、どんどんTwitter4Jのバージョンが上がっていき、今は追い切れず…
手すきになり次第、gitも勉強してpull request送れたらなーって思ってます。
// うちの中ではコードいじるよりgitのほうがつらい…
// 2.1.4-SNAPSHOTに当てるパッチならすでにあるのですが…

Twitter4Jを使ってappengine上で動いているものはいくつかありまして…
・祓ったー http://haratter.appspot.com/
こいつはbotちゃんです。
・ハミガキッター http://hamigakitter.appspot.com/
ハミガキ用Webクライアントです(謎)。
・オフロッター http://ofurotter.appspot.com/
お風呂用Webクライアントです(意味不明)。
・名無しのアプリ http://ffnotifier.appspot.com/
りむったーもどきです。

今動いているのは以上の4つで、どれもこれもアレなものばかりですね…。
あとは、構想があるのが3つほど…こちらは6月から完全に手が止まってます。。

ソースコードは
http://code.google.com/p/haratter/
http://code.google.com/p/hitodetter/
にバラバラにホスティングしてます。
// とっととまとめないとなー。


- Twitter 関連案件
残念ながら、仕事でってのは1個もないっす。


- Twitter本
本なんて書けるほどの者じゃありません><


- Twitter クライアント
クライアントはちょくちょく作りたいなー発言はしてるのですが、ひとつもカタチにならず。
Windows用にC#で作ろうかと思いつつも、Tweenを使ってみたら、これがまたしっくりきて自作はいいやと投げたり。
最近は、iPhone用ついクラが作りたいねーって話をしていて、今週末に友人と打ち合わせをする予定でいたりします。


Twitter APIについては、最近はこちらもあまり追えてませんが、ちらちら情報だけは仕入れていきたいなという感じです。

こんな感じですが、よろしくお願いします。

--
KID the Euforia / 星咲
kid...@gmail.com
http://www.hatena.ne.jp/blueberrystream/

Takeshi Iwasaki

unread,
Dec 8, 2010, 12:08:13 PM12/8/10
to twitter-devel...@googlegroups.com
岩崎です。

- Twitterアカウント
@twtrfk

- Twitter 関連案件
仕事では某ゲームのTwitter連動機能。
Javaを使ってます。
Twitter4Jにはお世話になってます。

社内向けのTwitterクローンを作って、ゲーム開発中はそっちと連動させてました。

趣味ではPerlで日本語入力機能付きのtwitterのwebアプリとか、botとか作ってます(ました)。
作りっぱなしです。
twitterのwebアプリはKindle
2国際版でTwitterがつかえたらなぁと思って作ったものの、いわゆるホーム画面的な所が出来た時点で放置しちゃってます。
たまにアクセスがあるので、もうちょっと使えるようにしようかなぁ、と思っては居るのですが...

よろしくお願いします。

Mocel

unread,
Dec 9, 2010, 4:55:18 AM12/9/10
to Twitter Development Talk - ja
はじめまして、Mocel です。

今は Twitter クライアント「チャーハン諸島」を Java で作ったりしてます。
最近はほぼ Java 漬けの毎日なのでそろそろ違う言語で何かしたいとか考えているところですが、携帯の機種変ついでに DoCoMo の
GALAXY S を手に入れてしまいそうなので、次は Android 用クライアントか?などと行き先を見誤ったりしてます。
Twitter 的には自分のフォロワー管理とか専用に Perl でスクリプト書いたりもしていますので、地味に API とかの偏った知識がありそ
うな気がするので、ここで勉強しつつお節介が焼ければ…とか思っています。

- Twitter アカウント
@Mocel

- チャーハン諸島
隠密系とか大陸系とか呼ばれることもあるシンプルな外見の Powered by Java な Twitter クライアント。
リスペクトしているクライアント「ラーメン大陸 http://25re.com/#rc 」が Windows 専用だったので Mac とかでも使
えるものが欲しいと思い、作り始めてはや半年。
数ある同系クライアントでも随一の模倣度を誇る、User Streams 対応だけが自慢(?)の微妙な立ち位置ですが、興味を持たれた方は暇つぶし
のつもりでお試しいただければ。
http://bit.ly/RiceIsland

よろしくお願いします。

-Mocel
http://twitter.com/Mocel

GORO

unread,
Dec 11, 2010, 11:10:40 AM12/11/10
to Twitter Development Talk - ja
おっとっと、ずいぶんとご挨拶が遅れてしまいました。
原 嘉彦と申します。

私もちょっと自己紹介をさせてください。

-Twitterアカウント
@GORO_Neko

- Twitter4J
サンデープログラミングで、沢山沢山お世話になっております。
そろそろ書き散らした習作アプリを整理して、なにか人前に出したいなぁ。

- Twitter 関連案件
ただいまゼッサン、所属会社(某IT系開発会社の社員でして)内で「 Twitter 利用前提の開発やろうよ!」運動を展開中です。
もともとは「Javaの人(といってもコミッタでもなんでもなく、Javaつかって会社の仕事をこなしてただけですが)」近頃は「Ruby・・・と言う
よりJRubyの人(やっぱりこっちもコミッタでもなんでもなくただのユーザですが)」なので、現在某社内プロジェクト案件に対し JRuby
( + Sinatra ) + Twitter4J」前提での開発を提案中と言う毎日です。

- Twitter本
・・・ほ、本ですか!?(すみません、本人すごく小心者で本の著者になると言う華やかな世界にあこがれつつ、部屋の隅で震えてるタイプでして・・・)

- Twitter クライアント
先の「 Twitter4J 」の項目でカミングアウトした通り、クライアントも Bot も、それっぽいものを断片的に書き散らすだけ書き散らして、
まだ自分以外が再利用できる形に仕上げたものが一本もありません(涙)
クライアントではないですが、将来構想としては自分が公開している Ruby の東洋占術ライブラリ(Almanac for Ruby :
http://www.din.or.jp/~shinodas/almanacforruby.html)と組み合わせて、特定フォーマットで対ーとされたら、占いメッセージを返す
Bot ぽいものを、この年末年始のお休みに書きたいなぁっと思っています。

とまぁ、こんな奴ではありますが、よろしくお願いいたします。

原 嘉彦
gorony...@gmail.com




On Dec 8, 12:38 pm, Yusuke Yamamoto <yus...@mac.com> wrote:
> こんにちは。山本です。
>
> このメーリングリストはおかげさまで50名ほどまで登録者が増えました。
> まだ活発な議論は行われていませんがデベロッパに有用な場所になると嬉しいです。
>
> さて、本家 Twitter Development Talk で長い間盛り上がっているスレッドで "Introduce yourself!"というものがあります。
> ・Introduce yourself!http://groups.google.com/group/twitter-development-talk/browse_thread...

GORO_Neko

unread,
Dec 11, 2010, 11:56:42 AM12/11/10
to twitter-devel...@googlegroups.com
おっとっと、ずいぶんとご挨拶が遅れてしまいました。
原 嘉彦と申します。

私もちょっと自己紹介をさせてください。

-Twitterアカウント
@GORO_Neko

- Twitter4J
サンデープログラミングで、沢山沢山お世話になっております。
そろそろ書き散らした習作アプリを整理して、なにか人前に出したいなぁ。

- Twitter 関連案件
ただいまゼッサン、所属会社(某IT系開発会社の社員でして)内で「 Twitter
利用前提の開発やろうよ!」運動を展開中です。
もともとは「Javaの人(といってもコミッタでもなんでもなく、Javaつかって会
社の仕事をこなしてただけですが)」近頃は「Ruby・・・と言うよりJRubyの

人」なので、現在 JRuby ( + Sinatra ) + Twitter4J 前提での開発を提案中と
言う毎日を送っています。

- Twitter本
・・・ほ、本ですか!?(すみません、本人すごく小心者で本の著者になると言
う華やかな世界にあこがれつつ、部屋の隅で震えてるタイプでして・・・)

- Twitter クライアント
先の「 Twitter4J 」の項目でカミングアウトした通り、クライアントも Bot
も、それっぽいものを断片的に書き散らすだけ書き散らして、まだ自分以外が再
利用できる形に仕上げたものが一本もありません(涙)

将来構想としては、自分が公開している Ruby の東洋占術ライブラリ( Almanac
for Ruby : http://www.din.or.jp/~shinodas/almanacforruby.html )と組み合
わせて、特定フォーマットで対ーとされたら、占いメッセージを返す Bot ぽい
ものを、この年末年始のお休みに書きたいなぁっと思っています。

とまぁ、こんな奴ではありますが、よろしくお願いいたします。

 原 嘉彦
 gorony...@gmail.com

[追伸]
※ さっき、おんなじ文面を Google groups の方から投稿したつもり
  だったんですが、うまくいかなかったみたいなので、メーラーから
  再度投稿いたします。
  同じ文面が 2 回届いてしまったらゴメンなさい!

Shinohara

unread,
Dec 12, 2010, 2:00:43 AM12/12/10
to Twitter Development Talk - ja
皆さんこんにちは。
しのはらです。

既に自己紹介してくださっている、

・山本さんのTwitter4J、
・elekさんの「陽昇れども地の底に光届かず http://sites.google.com/site/elekmole/

の情報を元にして、「えごったー http://www.egotter.com/」というwebアプリケーションを作っています。
貴重な情報ありがとうございます! 私も役に立つ情報を公開して、後続の役に立ちたいと思います。

最近は、GAEの制限の多さにうんざりしてAmazon EC2でいろいろ製作中です。
アイディアはたくさんあるのですが、コーディングしてる時間が足りません…。

このグループが活発な意見交換の場になるといいですね。私もできる範囲で貢献していきます。

- Twitterアカウント
@ts_3156

普通の大学院生なのでくだらないことしかツイートしません。笑
それではよろしくお願いします。

しのはら

mitsukaido

unread,
Dec 15, 2010, 10:58:13 AM12/15/10
to Twitter Development Talk - ja
こんにちは。
茨城出身の柳田と申します。

新米の日曜プログラマで、普段は通信でレイヤ1-3の仕事をしています。
twitter: 3kaido

プログラミングを始めて2ヶ月ほどなので、コードを晒すのは若干恐縮ですが
androidでストリーミングapiを実装している例が少ないのでこちらに投稿します。
まだリリースしたてなので、、、、宣伝がてら。。
twisccrというサッカー関係アプリのstream.filter()まわりです。

twitter4jのおかげでちゃんと動きました。
いつかちゃんと寄付しますw

ではよろしくお願いします。
 柳田
----
package com.daikyo.twisccr;


public class radio extends ListActivity {
private ArrayList<tweetItem> mTweets;
private twitAdapter mAdapter;
private tweetItem currentItem;
public static final int MENU_HELP = Menu.FIRST;
public static final int MENU_3KAIDO = Menu.FIRST +1;
private Handler mHandler;

final private String MYPREFNAME ="oauth";
private TwitterStream tStream;
private Thread myThread;
final private Runnable streamRunner = new Runnable() { // LOAD
STERAM.
public void run() {
StatusListener listener = new StatusAdapter() {
public void onStatus(Status status) {
currentItem = new tweetItem();
currentItem.setTwiText(status.getText());
//
currentItem.setDate(tweet.getCreatedAt().toString()); // THIS IS SLOW.
DateFormat df =
android.text.format.DateFormat.getTimeFormat(radio.this);

currentItem.setDate(df.format(status.getCreatedAt()));

currentItem.setFromUser(status.getUser().getScreenName());
Log.w("status","@" + status.getUser().getScreenName()
+ " - " + status.getText());
mHandler.post(myPosted);// END POST TO MAIN..
}// END ON STATUS.
};// END LISTENER.

SharedPreferences mypf =
radio.this.getSharedPreferences(MYPREFNAME, MODE_PRIVATE);
String atoken = mypf.getString("atoken", "");//get token.
String asecret = mypf.getString("asecret","");// get secret.

ConfigurationBuilder confbuilder = new
ConfigurationBuilder(); //Build Twitter.
confbuilder.setOAuthConsumerKey(CONSUMERKEY);
confbuilder.setOAuthConsumerSecret(CONSUMERSECRET);
confbuilder.setOAuthAccessToken(atoken);
confbuilder.setOAuthAccessTokenSecret(asecret);
TwitterStreamFactory streamFactory = new
TwitterStreamFactory(confbuilder.build());

tStream = streamFactory.getInstance();
tStream.addListener(listener);
String[] qStrings =
radio.this.getResources().getStringArray(R.array.hasharray);
FilterQuery fQuery = new FilterQuery();
fQuery.track(qStrings);
try {
tStream.filter(fQuery);
Log.w("stream","started!");
mHandler.post(new Runnable() {
public void run() {
Toast.makeText(radio.this, "ラジオ受信中。\nお待ちください。。。",
Toast.LENGTH_SHORT).show();
}
});
} catch (TwitterException e) {
// TODO Auto-generated catch block
Log.w("twiexcpt","error");
e.printStackTrace();
mHandler.post(new Runnable() {
public void run() {
Toast.makeText(radio.this, "ラジオ故障っぽい",
Toast.LENGTH_SHORT).show();
}
});
}// END TRY STREAM.
}// END RUN.
};
final private Runnable myPosted = new Runnable() { // POSTING TO UI.
public void run() { // to be done in UI thread.
mAdapter.insert(currentItem, 0); //Insert to TOP.

if (mAdapter.getCount()>50)
mAdapter.remove(mAdapter.getItem(50)); // REMOVE MORE
THAN50.
mAdapter.notifyDataSetChanged(); // NOT SURE IF THIS IS
NEEDED.
}// END RUN,
};

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mHandler = new Handler();
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.radio);
mTweets = new ArrayList<tweetItem>(); // Init.
mAdapter = new twitAdapter(this, mTweets); // Init.
getListView().setAdapter(mAdapter); // SET AT 1ST.

ImageButton twibutton
=(ImageButton)findViewById(R.id.twitbutton);
twibutton.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
tweet(" #twiSccR");
}// END ON CLICK.
});// END LISTENER.

}// END on CREATE.

@Override
protected void onListItemClick(ListView l, View v, int position,
long id) {
final TextView usertv = (TextView)v.findViewById(R.id.twit_user);
final TextView bodytv = (TextView)v.findViewById(R.id.twit_body);
final String user = usertv.getText().toString();
final SpannableString twitbody = new
SpannableString(bodytv.getText().toString());
Linkify.addLinks(twitbody, Linkify.WEB_URLS);
final AlertDialog twitDialog = new AlertDialog.Builder(this)
.setMessage(twitbody)
.setTitle(user)
.setPositiveButton("@ reply", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
tweet("@"+user +" #twiSccR");
}})
.setNeutralButton("RT reply", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
tweet("RT @"+ user+" "+twitbody +" #twiSccR");
}})
.setNegativeButton("close", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}})
.create();
twitDialog.show();
((TextView)twitDialog.findViewById(android.R.id.message))
.setMovementMethod(LinkMovementMethod.getInstance());//
LINKIFY?
}// END ITEM CLICK.

@Override
public void onStart() {
super.onStart();
myThread = new Thread(streamRunner);
myThread.start();
}// END onStart.

@Override
public void onStop() {
Log.w("onstop","called");
if (myThread.isAlive()) myThread.stop();
tStream.cleanUp();
tStream.shutdown();
super.onStop();
}// END onStop.


public void tweet(String exSt){
Intent tweetout = new Intent();
tweetout.setAction(Intent.ACTION_SEND);
tweetout.setType("text/plain");
tweetout.putExtra(Intent.EXTRA_TEXT, exSt); // RECIEVED STRING.
startActivity(tweetout);
}// END




@Override
public boolean onCreateOptionsMenu(Menu menu) {
boolean result = super.onCreateOptionsMenu(menu);
menu.add(0, MENU_HELP, 0,R.string.menuhelp);
menu.add(0, MENU_3KAIDO,0,R.string.menuauthor);
return result;
}//END MENU CREATE.


@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {

case MENU_HELP: // ABOUT/HELP.---
final SpannableString hlpTxt = new
SpannableString(getText(R.string.help));
Linkify.addLinks(hlpTxt, Linkify.ALL);

final AlertDialog hlpDialog = new
AlertDialog.Builder(radio.this)
.setMessage(hlpTxt)
.setPositiveButton("OK", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}})
.create();
hlpDialog.show();
((TextView)hlpDialog.findViewById(android.R.id.message))
.setMovementMethod(LinkMovementMethod.getInstance());
return true;
case MENU_3KAIDO: // SEND ME TWEET.--
tweet("@3kaido #twiSccR");
return true;
}// END MENU SWITCH---------
return super.onOptionsItemSelected(item);
}// END MENU SELECTED.
}// END CLASS.
Reply all
Reply to author
Forward
0 new messages