2008年09月14日

Androidで2ちゃんブラウザをちょっと作ってみた

2ちゃんブラウザが無い携帯プラットフォームは日本では流行らないらしいのでつくってみた。
と言っても半日ぐらいでさくっと実装しただけなのでしょぼしょぼだけど。
bettik1.png


2ちゃんブラウザって2ちゃんAPIをいろいろ叩いたりしないといけないのかと思っていたけど、全然そんなことは無く、生データをパースするだけだったので楽だったな。
難しいのはいかに便利なツールを作るかと言うところだと実感。
特に携帯端末だと画面が小さく、表示できる物が限られているので、何を表示する表示しないかの選択が難しそうだ。

普通に2ちゃんブラウザを作っても面白くないので、今回は2ちゃんにアクセスする部分をServiceで作成してみた。
ServiceとはNTサービスやDaemonみたいな物のAndroid版で、GUIプログラムが終了してもServiceは裏で動き続けることができるヤツ。
よって別のプログラムを動作中だとしても、お気に入りスレを監視し、投稿があればNortification Managerを使い通知するみたいなことが出来る。
また、Serviceは他のプログラムからもRPC的に呼び出すことが出来るので、この2ちゃんブラウザの通信部分の機能を使って新たに別のアプリを作成するなんてことも出来るようだ。


RPC的に呼び出すときに、データはシリアライズのようなことをするんだけど、AndroidではSerializeではなくParcelableと言うのを使う。
こいつの情報が全然無くてちょっとはまったのでメモ。
Parcelableを実装したクラスと同じパッケージにParcelableの定義ファイルであるaidlファイルを作成するのだけど、同じディレクトリに置くとエラーになってしまった。
srcとは別にaidlディレクトリをビルドパスに追加し、同じパッケージなんだけど別のディレクトリにすると解決。
情報は以下から。
Android Hack - Parcellable in eclipse


後はSDK 0.9βから、権限チェックが厳しくなったので、「ネット使うよ」宣言をしないと使わせてくれない。
しかしその権限エラーがUnknown Errorとか言われるので一瞬まよった。
Manifest.xmlのmanifestタグの中に以下の行を追加。
<uses-permission android:name="android.permission.INTERNET" />


ちなみにアプリの名前のBettikはハイペリオンって言う小説に出てくるアンドロイドの名前。
まだこの小説全然読んでないけど・・・。
A.Bettikと書くのがより正しいけど、なんだかウイルスの名前みたいだったのでAは外した。
W32.Bettikとかだったらますますウイルスにありそうな名前だ。


Serviceを使い、2ちゃんブラウザの作り方もわかったので、あとはアプリを作り込みをするだけとなった。
知的好奇心は満たされたのでひとまずこの状態で置いておく。
日本でAndroidが発売されるなら、出る前ぐらいには作り込んでリリースするかー。


久々にフットサルをやったら壮絶に疲れた。
今日はもう寝よう。

Comment on "Androidで2ちゃんブラウザをちょっと作ってみた"

"Androidで2ちゃんブラウザをちょっと作ってみた"へのコメントはまだありません。

Post a Comment

コメントする

コメント登録機能が設定されていますが、TypeKey トークンが設定されていません。