Javaの最近のブログ記事
2011年12月23日
Android の Support Package r6
Android の下位互換向け純正ライブラリであるところの Support Package が r6 にアップデートされてました。
Support Package | Android Developers
http://developer.android.com/intl/ja/sdk/compatibility-library.html
これは Android 3.0 で追加された Fragment とかの便利なクラスを Android 1.6 以降でも使えるようになったりする大変ありがたいライブラリですが、今回のアップデートで PagerTitleStrip が追加されていたので試してみました。
2011年11月 2日
時代は AsyncTask より AsyncTaskLoader
時代は AsyncTask より AsyncTaskLoader
Android 4.0、通称 Ice Cream sandwich というスマートフォンもタブレット端末もカバーする新しい OS がもうすぐデビューするとかいう時期なので、Android プログラミングもそれの普及をにらんだ実装に切り替えていくべき。
まずは、きっと Activity 上での非同期処理に多用されているであろう AsyncTask を、Android 3.0 以降で追加された AsyncTaskLoader へ乗り換えるところから始めるのもいいんじゃないかと思ってちょっと書いてみます。
あ、これは Activity での非同期処理について、という前提での内容になりますので、たとえば Service の中で非同期処理したい場合はどうすれば的な質問には役に立たないと思います。
2010年12月 2日
Twitter の JSON に罪はない
TwitterのステータスIDが53bitを越えたお話 - tmytのらくがき
http://d.hatena.ne.jp/tmyt/20101201/1291166929
から引用。
このうちXMLで処理してる場合は内部で64bit INTで処理していれば特に問題は起きません。
こういう微妙なまちがいをしてる人はこの記事書いた人だけでなく大勢いるようだけど、記事としてはまとまっていたので参照。
JSON という書式は、確かに JavaScript から派生したサブセットですので、
JSONを仕様書通りにパースするとidの値はdouble
と考えてしまうのも無理はない気はします。
が、まちがいであるのも確かです。
2010年5月31日
チャーハン諸島 for Mac
Twitter クライアント「チャーハン諸島」の詳細はこちら
http://archive.guma.jp/rice-islands.html
チャーハン諸島を Mac OS X 用アプリケーションにパッケージングしてみました。
チャーハン諸島 for Mac OS X (Snow Leopard 以降)
http://archive.guma.jp/rice/rice_Mac.zip
※当初公開したものは、全く起動できないという斬新な新機能が追加されてしまっていたので差し替えました。
といっても中身はこれまでとまったく同じで、機能的に何も増えたり減ったりしてません。使い方も一緒です。
MacBook Pro 買って嬉しそうにいろいろいじってたらできただけです。
Mac は Java アプリを普通のアプリっぽくパッケージングするツールが素で添付されてるんですね。
こういうプログラマー優遇なところはありがたいです。
「チャーハン諸島」に関する記事一覧
2010年5月24日
「チャーハン諸島」 Version 0.07 リリース
Twitter クライアント「チャーハン諸島」の詳細はこちら
http://archive.guma.jp/rice-islands.html
Twitter クライアント「チャーハン諸島」をバージョンアップしました。
今回は API 規制にお悩みの方にはわりと目立つ変更点があるので、ブログの記事も新たに書き起こしてみようかと。
最新バージョンの Ver.0.07 での主な変更点は次のとおり。
- メインとサブの 2 種類のアカウントを登録できる。
- 投稿時、メインアカウントが API 規制を受けていたらサブアカウントに切り替えて投稿する機能を追加。
- 投稿パネルのサイズを 4 パターンから選択できるようにした。
要するに、アカウント 2 個用意しとけば実況等で盛り上がって投稿しすぎたとしても、エラーやアカウントの切り替えに煩わされずに済む、という感じで。
メインアカウントを優先して利用するようにしているので、メインが API 規制を受けていないかぎりはサブアカウントでログインすることはありませんし、サブアカでログイン中にメインアカの API 規制が解除されればメインに切り替わります。
もちろんアカウントの切り替えは自動で行われ、その間も自在に投稿できます。
「チャーハン諸島」は Windows / MacOS / Linux など、Java が対応しているさまざまな OS 上で動作します。
Java 公式サイト から最新版の Java をインストールすればすぐに使えます。既にインストールされている場合は、もっとすぐに使えます。
ダウンロードはこちらから。すでに利用されているユーザーは、起動時に自動アップデートされていますからダウンロードは不要です。
チャーハン諸島 http://archive.guma.jp/rice/rice.zip
Windows 版 http://archive.guma.jp/rice/rice_win.zip
数字とかが表示されている辺りを右クリックするとメニューが、左クリックでウィンドウの移動ができます。
この「チャーハン諸島」を使えば、かの偉大な大陸への憧れに焦がれながら抱いていた、手の届かない歯がゆさとはもうオサラバです!(海外通販番組の吹き替え風に)
適当な Q&A
- 投稿できるのはわかったんですけど、TL とか見られないんですか?
メニューから「パネルを開く」を選べば、TL のツイートとかが表示されるパネルが現れます。1 パネル 1 ツイートという省エネ設計ですので、必要時にだけ使うことをオススメします。 - リプライとかできないんですか?
上記で開いたパネルにツイートが表示されているときにパネルの上のほうを右クリックすると、なんとメニューが開きます。あとはわかるな?わかるよね?わかってください。 - なんか動かなくなったんですけど。
アプリを再起動しても直らなかったら、アプリをフォルダごと削除してまたダウンロードし直してみてください。 - プロキシ設定はどこ?
あー今出ました!さっき出ましたから!そろそろお宅に着くかと思います! - ところで誰が作ってるの?
わたしです。何かあれば @Mocel までお気軽に。
「チャーハン諸島」に関する記事一覧
2010年5月20日
Java でもカモフラージュ率の高い Twitter クライアントを
「ラーメン大陸 http://25re.com/web.shtml#rcweb」という素晴らしい Twitter クライアントをご存じですか。
これはどんなときでも、たとえ Twitter のサーバの調子が悪いときでも投稿力が変わらないただひとつのクライアントとして、多くの人に親しまれています。
ところがこのクライアントは Windows 専用だったため、それ以外の OS で投稿力を落としたくない人は使いたくても使えなかったのです。
そこで、Windows 以外の OS でも使えるよう Java でできるかぎり全力でパクってみました。
チャーハン諸島 for Windows http://archive.guma.jp/rice/rice_win.zip チャーハン諸島 for Mac(Snow Leopard 以降) http://archive.guma.jp/rice/rice_Mac.zip チャーハン諸島 http://archive.guma.jp/rice/rice.zip
最新版の Java をインストールしてから、上の Zip ファイルを適当なディレクトリに展開して、Win 版は rice.exeを、Mac 版は「チャーハン諸島」アプリを実行してみてください。
Linux とかだと rice.sh を実行するといい感じになります。
自動アップデーター付きなので、プログラムが更新されていれば自動的にこっそり更新されます。 いろいろうまくいっていれば設定ダイアログが表示されると思います。
OAuth 認証使ってますので、初回実行時は設定ダイアログの「コード取得」ボタンを押して Twitter の認証ページを開き、このダサいネーミングの「チャーハン諸島」を許可してやってください。
そしたら 7 ケタほどの数字が表示されますから、それをダイアログの「認証コード」にコピペして「認証」ボタンを押すだけ。
サーバが重いと失敗することがありますが、そのときはイチからやり直してやってください。
「糞すぎるwwwww即アンインスコするしwwwwwww」という場合は、ディレクトリごと削除すれば抹殺完了です。レジストリとか全然触ってないので安心ですね。ていうか Java からレジストリとか...だし。
で、どうせパクるなら TL 画面も楽しい感じにしようと思って、「1 ツイート 1 ウィンドウ」で、付箋紙アプリっぽくしてみました。 投稿ウィンドウの数字の辺りを右クリックするとメニューが表示されますから、なんか適当にいじってみてください。
これならおおっぴらに TL を眺めるのが憚られる環境でも、「これ付箋紙アプリですし」みたいな顔して平気で眺めていられます!
激しくツイートの多い TL だと間違いなく全部追っかけられませんけど、まぁ、そこはそういうものだと割り切れる人だけに使える、間口の狭いアプリだということで。
そんな感じで、パネルいっぱい表示してたらひとつひとつのパネルが島のように見えてきて、パクるなら似たような名前にしようと思い「チャーハン諸島」とかどうしようもない名前になってしまいました。
すみません。
作った人 : @Mocel
「チャーハン諸島」に関する記事一覧
2010年5月 3日
Twitter の TL をリアルタイムに
Twitter の "User Streams" が開発用途向けに試験公開されて、ともかく誰でも使える状態になってるので適当に触ってたりするわけですが。
すでに方々でレビューとか解説とかされてますけど、ストリーミングってことでいつも TL がほぼリアルタイムに流れてくるので、もうブログとか掲示板感覚ではなく、完全にチャットと化しますね Twitter が。
あなたが投稿した瞬間、あなたをフォローしてるわたしのストリームにツイートが届いてるわけです。ラグは 1 秒もありません。あなたに限らず、わたしがフォローしてる人のツイートすべてが 1 秒足らずでストリームに流れてくるわけで、今までとは TL の見え方が全然変わってきますね。
この User Streams は試験的な公開だからかツイートだけでなく、フォローしてるの人の「フォロー」とか「ふぁぼり」とか「ツイート削除」、これまでの TL には流れてこなかった情報も流れてきます。やっぱりリアルタイムで。
それがどうしたのって感じですけど、その気になれば「自分がふぉろってる人が最近フォローした人ホットリスト」とか「ツイート削除が多い人ランキング」とかがローカルで作れたりしますね。
TL 眺めるにはかなり便利な User Streams ですが、開発用の公開ってことでまだアプリとか配布できません。サーバ側がまだ準備できてないらしく、アプリとか配るとキャパをあっさりオーバーして大変なことになるからかと。
Java の勉強がてらせっかく作ったアプリも配れないので、せめてもの応用で「使っていい」ほうの Streaming API をリアルタイムに眺めるアプリを置いたりしてみます。
ハッシュタグをリアルタイムに追ったりするものです。
追いたいタグを #aaa,#bbb とか複数あるならカンマで区切って入力し SET ボタンを押してください。Twitter のユーザー名とパスワードを尋ねられるので、入力してじっとしてればハッシュタグを含むツイートが流れてくると思います。
リアルタイムに更新してるので、ボタン押したのに何も起こらない場合はそういうツイートをだれもしていないってことになります。
飽きたら CLOSE ボタンを押すか、ウィンドウを閉じてやってください。
レジストリとか設定ファイルとか全然使ってないので、不要になったらダウンロードしたファイルを削除すれば跡形もなく消え去ります。パスワードとかどこにも記憶してないのでご安心を。
Win 7 と Win XP でしか動作確認してないけど、Java だからほかの OS でもなんとなく動いたりすると思います。
アプリ:
StreamViewer.jar
2009年12月25日
jakarta commons の FileUpload と Java の FileChannel と
Java 1.4 という古い時代に実装された FileChannel という新しいストリーム処理クラスは、新しいといってもリリースされてかなり時間が経つわけですが、そのわりには応用例が Web であんまり見つかりません。
自分の探し方が甘いんだろうとは思うのですが、そんなに気合い入れて探さないと出てこない情報というのはないも同然なので、自分で覚えたことを忘れないうちにメモって公開しておくことにします。