Network Android

//package com.a4studio.android.util;
import java.io.IOException;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import android.util.Log;
import android.util.Xml;
public class YahooNewsCrawler {
  private final static String TAG=YahooNewsCrawler.class.getSimpleName();
  private String language = "en";
  private String keyword;
  private String site;
  private int    results;
  private String uri= "";    
  
  private final static String NEWS_SERVICE = "http://search.yahooapis.com/NewsSearchService/V1/newsSearch?";
  private final static String APP_ID = "iEjUXGrV34HmLcV9m1gm1OBUWUve.fUcYv553gw.MUHn5b8BA_8W8Fe4AxuOLMKKLLU-";
  
  private List newsResults = new ArrayList();
  
  public YahooNewsCrawler(String keyword,int results)
  {
    this.keyword = keyword;
    this.results = results;        
  }
  public void search()
  {
    XmlPullParser xmlPull = Xml.newPullParser();
    
    URL urlObj;
  
      try {
        keyword = URLEncoder.encode(keyword,"UTF-8");
        uri = NEWS_SERVICE+"appid="+APP_ID+"&"+
            "query="+keyword+"&"+"" +
            "results="+results+"&"+
            "language=en";
        
        Log.d(TAG,uri);
        urlObj = new URL(uri);
        URLConnection conn = urlObj.openConnection();
        
        xmlPull.setInput(conn.getInputStream(),"UTF-8");
        
        int eventCode = xmlPull.getEventType();
        
        NewsItem item = null;
        String name ;
        
        while(eventCode != XmlPullParser.END_DOCUMENT)
        {
        switch (eventCode) {
        case XmlPullParser.START_DOCUMENT:
          break;
        case XmlPullParser.START_TAG:
          name = xmlPull.getName();
          if (name.equalsIgnoreCase(NewsItem.RESULT)) {
            item = new NewsItem();
          } else if (item != null) {
            String text = xmlPull.nextText();
            if (name.equalsIgnoreCase(NewsItem.TITLE)) {
              item.setTitle(text);
            } else if (name.equalsIgnoreCase(NewsItem.SUMMARY)) {
              item.setSummary(text);
            } else if (name.equalsIgnoreCase(NewsItem.URL)) {
              item.setUrl(text);
            } else if (name.equalsIgnoreCase(NewsItem.CLICKURL)) {
              item.setClickUrl(text);
            } else if (name.equalsIgnoreCase(NewsItem.NEWSSOURCE)) {
              item.setNewsSource(text);
            } else if (name.equalsIgnoreCase(NewsItem.NEWSSOURCEURL)) {
              item.setNewsSrouceUrl(text);
            } else if (name.equalsIgnoreCase(NewsItem.LANGUAGE)) {
              item.setLanguage(text);
            } else if (name.equalsIgnoreCase(NewsItem.PUBLISHDATE)) {
              item.setPublishDate(Long.parseLong(text));
            } else if (name.equalsIgnoreCase(NewsItem.MODIFICATIONDATE)) {
              item.setModifDate(Long.parseLong(text));
            }
          }
          break;
        case XmlPullParser.END_TAG:
          if(item != null && xmlPull.getName().equalsIgnoreCase(NewsItem.RESULT))
          {
            newsResults.add(item);
            item = null;
          }
          break;
        default:
          break;
            
        }
        
        eventCode = xmlPull.next();
      }
      } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        Log.e(TAG, "search", e);
      } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        Log.e(TAG, "search", e);
      } catch (IOException e) {
        // TODO Auto-generated catch block
        Log.e(TAG, "search", e);
      } catch (XmlPullParserException e) {
        // TODO Auto-generated catch block
        Log.e(TAG, "search", e);
      }
  }
  
  /**
   * @return the newsResults
   */
  public List getNewsResults() {
    return newsResults;
  }
  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    YahooNewsCrawler crawler = new YahooNewsCrawler("nokia siemens network",1);
    crawler.search();
    
    List items = crawler.getNewsResults();
    
    for(NewsItem item : items)
    {
      System.out.println("->"+item);
    }
  }
}
class NewsItem implements Serializable{
  /**
   * 
   */
  private static final long serialVersionUID = 1L;
  
  public final static String RESULT = "Result";
  public final static String TITLE = "Title";
  public final static String SUMMARY = "Summary";
  public final static String URL = "Url";
  public final static String CLICKURL = "ClickUrl";
  public final static String NEWSSOURCE = "NewsSource";
  public final static String NEWSSOURCEURL = "NewsSourceUrl";
  public final static String LANGUAGE = "Language";
  public final static String PUBLISHDATE = "PublishDate";
  public final static String MODIFICATIONDATE = "ModificationDate";
  private String title;
  private String summary;
  private String url;
  private String clickUrl;
  private String newsSource;
  private String newsSrouceUrl;
  private String language;
  private long publishDate;
  private long modifDate;
  
  private String content;
  /**
   * @return the title
   */
  public String getTitle() {
    return title;
  }
  /**
   * @param title
   *            the title to set
   */
  public void setTitle(String title) {
    this.title = title;
  }
  /**
   * @return the summary
   */
  public String getSummary() {
    return summary;
  }
  /**
   * @param summary
   *            the summary to set
   */
  public void setSummary(String summary) {
    this.summary = summary;
  }
  /**
   * @return the url
   */
  public String getUrl() {
    return url;
  }
  /**
   * @param url
   *            the url to set
   */
  public void setUrl(String url) {
    this.url = url;
  }
  /**
   * @return the clickUrl
   */
  public String getClickUrl() {
    return clickUrl;
  }
  /**
   * @param clickUrl
   *            the clickUrl to set
   */
  public void setClickUrl(String clickUrl) {
    this.clickUrl = clickUrl;
  }
  /**
   * @return the newsSource
   */
  public String getNewsSource() {
    return newsSource;
  }
  /**
   * @param newsSource
   *            the newsSource to set
   */
  public void setNewsSource(String newsSource) {
    this.newsSource = newsSource;
  }
  /**
   * @return the newsSrouceUrl
   */
  public String getNewsSrouceUrl() {
    return newsSrouceUrl;
  }
  /**
   * @param newsSrouceUrl
   *            the newsSrouceUrl to set
   */
  public void setNewsSrouceUrl(String newsSrouceUrl) {
    this.newsSrouceUrl = newsSrouceUrl;
  }
  /**
   * @return the language
   */
  public String getLanguage() {
    return language;
  }
  /**
   * @param language
   *            the language to set
   */
  public void setLanguage(String language) {
    this.language = language;
  }
  /**
   * @return the publishDate
   */
  public long getPublishDate() {
    return publishDate;
  }
  /**
   * @param publishDate
   *            the publishDate to set
   */
  public void setPublishDate(long publishDate) {
    this.publishDate = publishDate;
  }
  /**
   * @return the modifDate
   */
  public long getModifDate() {
    return modifDate;
  }
  /**
   * @param modifDate
   *            the modifDate to set
   */
  public void setModifDate(long modifDate) {
    this.modifDate = modifDate;
  }
  
  /**
   * @return the content
   */
  public String getContent() {
    return content;
  }
  /**
   * @param content the content to set
   */
  public void setContent(String content) {
    this.content = content;
  }
  /* (non-Javadoc)
   * @see java.lang.Object#toString()
   */
  @Override
  public String toString() {
    // TODO Auto-generated method stub
    return this.title+"\n"+
    this.summary +"\n"+
    this.url+"\n"+
    this.clickUrl+"\n"+
    this.newsSource+"\n"+
    this.newsSrouceUrl+"\n"+
    this.language+"\n"+
    this.publishDate+"\n"+
    this.modifDate+"\n";
  }
  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub
  }
}