ゆるふわ技術日誌

エンジニア見習いの悪戦苦闘日記

Androidと戦った一日でした。 #67

今日やったこと

RSSを取ってきてParseする

講義の課題で製作中のAndroidアプリに関して。

超イケイケアイドルグループことでんぱ組.incの公式サイトのRSSを引っ張ってきてListViewに表示する、みたいなまるでチュートリアルかのようなゴミアプリを制作しています。

でんぱ組の公式サイト(http://dempagumi.dearstage.com/)は実はTumblrでできてて、コレまた知らなかったのですが、TumblrのサイトはサイトURLの末尾に/rssをつけるとRSSが取得できるらしい。(独自ドメインでも同様)

でまぁ、RSSから情報を取ってこようとしたのですが、Androidはメインスレッド上でネット通信をすると、例外が発生してアプリが強制終了してしまうので、非同期的に処理してやる必要があります。(そりゃあそうなんですが、こんなことになろうとは。)

Threadクラスとか使うのかと思いきやAndroidにはAsyncTaskとかいうクラスがあるのでコレを使って非同期でデータ取得を行いParseしてViewに反映みたいなことをしました。

AsyncTaskについては公式がわかりやすいかな

AsyncTask | Android Developers


サクッとParseしたような書き方をしましたが、ここもまぁ面倒(難しい、ではない)でした。

コードはまとめておいておくのでココでは省きますが(書くのが面倒すぎる)、結論を言うとXMLPullParserというAndroid標準のクラスを使ってやるとParse処理できます。

ただし、異様に面倒なので、きっとその辺をうまいことやってくれるライブラリが存在するんだろうなぁと思いました。

AndroidのListViewと戦った。

戦いました。

結果↓

f:id:uutarou:20170720232553p:plain

最初こんな感じだったのが

f:id:uutarou:20170720232602p:plain

こうなった。まぁなんともよくある感じの仕上がり。

なんか、ネイティブアプリ制作の知見がなくて結構手こずった。

雑談

やっと少し気分がマシになってきた。

鬱になったらすぐ回復できるようになりたい。


Splatoon 2 (スプラトゥーン2)

Splatoon 2 (スプラトゥーン2)

欲しくね?(秒で飽きる気がするけど多分買うので、誰か一緒にやりましょう)