diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..b080d2d --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/project.properties b/project.properties index 9b84a6b..4ab1256 100644 --- a/project.properties +++ b/project.properties @@ -11,4 +11,4 @@ #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt # Project target. -target=android-16 +target=android-19 diff --git a/src/com/nerdability/android/adapter/ArticleListAdapter.java b/src/com/nerdability/android/adapter/ArticleListAdapter.java index 80eb95f..c20e023 100644 --- a/src/com/nerdability/android/adapter/ArticleListAdapter.java +++ b/src/com/nerdability/android/adapter/ArticleListAdapter.java @@ -52,6 +52,10 @@ public View getView(int position, View convertView, ViewGroup parent) { } catch (ParseException e) { Log.e("DATE PARSING", "Error parsing date.."); pubDate = "published by " + article.getAuthor(); + } catch (NullPointerException e){ + //In some case, the author for the article is not available.It may give NullPointerException. + Log.e("Get Author","Error to get author"); + dateView.setVisibility(View.GONE); } dateView.setText(pubDate); diff --git a/src/com/nerdability/android/rss/parser/RssHandler.java b/src/com/nerdability/android/rss/parser/RssHandler.java index 0e373ac..f1879da 100644 --- a/src/com/nerdability/android/rss/parser/RssHandler.java +++ b/src/com/nerdability/android/rss/parser/RssHandler.java @@ -1,5 +1,7 @@ package com.nerdability.android.rss.parser; +import java.net.MalformedURLException; +import java.net.URL; import java.util.ArrayList; import java.util.List; @@ -7,6 +9,8 @@ import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; +import android.net.Uri; + import com.nerdability.android.rss.domain.Article; @@ -65,16 +69,25 @@ public void endElement(String uri, String localName, String qName) throws SAXExc currentArticle.setTitle(chars.toString()); } else if (localName.equalsIgnoreCase("description")){ currentArticle.setDescription(chars.toString()); + } else if (localName.equalsIgnoreCase("pubdate")){ + currentArticle.setPubDate(chars.toString()); } else if (localName.equalsIgnoreCase("published")){ currentArticle.setPubDate(chars.toString()); } else if (localName.equalsIgnoreCase("id")){ currentArticle.setGuid(chars.toString()); } else if (localName.equalsIgnoreCase("author")){ currentArticle.setAuthor(chars.toString()); - } else if (localName.equalsIgnoreCase("content")){ + } else if (localName.equalsIgnoreCase("link")){ + try { + currentArticle.setUrl(new URL(chars.toString())); + } catch (MalformedURLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } else if (localName.equalsIgnoreCase("content")){ currentArticle.setEncodedContent(chars.toString()); } else if (localName.equalsIgnoreCase("entry")){ - + }