RSSReaderを作る(2)

なんか時間かかってしまった。そもそもRSSReaderを作ろうと思ったきっかけは、「非同期処理」と「XMLのparse」という処理が必須になるから。その辺の経験を積んでおくことは悪いことではないだろう、と。

また、android.comのTutorialにNotePadのsampleがあって、アレでListを扱っているので、RSSのitemのリストを使うようにするのにも流用が効くのかな?というくらいの根拠で。

そしたら、第4回 簡単なRSSリーダーを作ってみる | 日経 xTECH(クロステック)というサイトを発見してしまったのである。

とりあえず、やりたいことが一通り説明されていて、勉強になった。NotePad Tutorialで、ちょっと分かりにくかったListの扱いも分かるようになったし、この間httpclientを作ろうとして苦労していた部分も、まさかURL classにopenconnection()なんてメソッドがあったとは。まるごと取ってくるだけなら、InputStreamとして、簡単にダウンロードできる。

InputStream is = url.openConnection().getInputStream();

そしたら、このisをXmlPullParserに食わせれば良い、と。

非常に参考になりました。

しかし、残念なのは、エミュレータが何かおかしいことである。エミュレータでは、10回に1回くらいしかネットに接続できない。実機持ってないから、こういう時に立ち往生してしまう。たまにネット接続できるもんだから、余計に対処の仕方がわからない。java.net.UnknownHostExceptionが出るんだけど、どうなっているんだろう?*1

*1:ちなみに、この状態ではエミュレータ上のブラウザでもどこにも接続できないので、未熟なオレアプリのせいじゃなくて、エミュレーターのネット接続がどこかおかしくなっているっぽい。