- ベストアンサー
Android用RSSリーダー開発について
- Android用のRSSリーダーを開発する方法について解説します。
- 記事のリンクと画像を取得して表示する方法を教えてください。
- Javaの勉強が必要ですが、開発を進めるために質問します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
記事をざっと見ました。この通りに作られている、ということで考えて良いのでしょうか。 ざっと見たところ、XMLデータを取得した後、独自にパーサからデータを切り出すアダプタを定義し、これによってデータをオブジェクトリストとして切り出し、これをListViewに表示させているようですね。そして選択した項目のデータをとり出し内容表示用のActivityに表示させています。となると、このパーサを使ってデータを切り出す段階で、XMLデータがどのように解析されているか、そこでどのようなデータが取り出されオブジェクト化されているか、という点が重要となります。 見たところ、parseXmlメソッドでデータを取り出す段階で、既にtitleとdescriptionだけしか処理しておらず、linkは無視されています。また、そもそもenclosureは存在すらしていません。つまり、XMLデータからデータをとり出しオブジェクトリストにまとめた段階で、titleとdescription以外はきれいさっぱりなくなっているのです。従って、まずはparseXmlでこれらのデータを拾い出しオブジェクトに追加する処理を用意しなければいけません。リンクを表示させたいとか画像を画面に表示させたいといったことは、それができてからの話となります。 まずは、parseXmlメソッドを改造してください。switch (eventType)タグ内で、開始タグと終了タグの要素を処理しています。これを改造して、必要なタグの処理を追加してください。linkの追加は、if (tag.equals("title"))~のところにもう1つ条件文を足して、"link"の場合のチェックを追加すればよいでしょう。また属性の値を取得するにはgetAttributeValueメソッドが用意されていますので、getAttributeValue(null,"url")などで取得できると思います。 ※XmlPullParserの参考ページをあげておきます。 http://www.adakoda.com/adakoda/2009/01/android-xmlpullparserxml.html http://android.roof-balcony.com/shori/xml/xmlparse/ これで、linkなどのデータをデータリストに保管できるようになったら、改めて表示の方法について質問してください。今の段階ではそこまで手が回らないと思いますので。
お礼
good-failure様。 ご丁寧にご回答頂き、ありがとうございます。 教えて頂いたURLを参考にしながら、LINK情報を取得することができました。 試しにListView内でdescriptionの下に表示させることにも成功いたしました。 また、enclosure に関してですが、 わたしのRSSには記事ごとに画像も設定されており、 ソースとしましては、 <item> <title>**********</title> <description>**************</description> <link>*******************</link> <enclosure type="*****f" length="***" url="****"/> </item> 大体、こんな感じになっています。 enclosure の、urlの部分を読み込み、画像を表示させたいと考えております。 恐縮ですが、お知恵を貸して頂けませんでしょうか。 よろしくお願いいたします。