FeinaUpdate.java :  » Widget » catfeina » cateina » android » es » Android Open Source

Android Open Source » Widget » catfeina 
catfeina » cateina » android » es » FeinaUpdate.java
package cateina.android.es;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.util.Iterator;
import java.util.List;

import android.content.Context;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.util.Log;

public class FeinaUpdate extends AsyncTask<Context, Integer, Context>
{
  @Override
  protected Context doInBackground(Context... context)
  {
    SharedPreferences settings = context[0].getSharedPreferences(FeinaWidget.WIDGET_PREFERENCES, 0);

    String url = "http://www20.gencat.cat/portal/site/governacio/menuitem.ad52b53df945da4f8e629e30b0c0e1a0/?vgnextoid=58f84b22b04de110VgnVCM1000008d0c1e0aRCRD&vgnextchannel=58f84b22b04de110VgnVCM1000008d0c1e0aRCRD&vgnextfmt=rss";
    try
    {
      TransParser transparser = new TransParser(url);
      List<Incidencia> items = transparser.parse();
      if (items != null)
      {
        Iterator<Incidencia> iterator = items.iterator();
        Log.e("catfeina", items.size() + " items");
        Data data = new Data(context[0]);
        data.empty();
        int counter = 0;
        while (iterator.hasNext())
        {
          Incidencia incidencia = iterator.next();
          data.add(counter, incidencia.getTitle(), incidencia.getDescripcio(), incidencia.getLink());
          counter++;
        }
        SharedPreferences.Editor editor = settings.edit();
        editor.putInt("WIDGET_PREFERENCES_CURRENT_ROW", 0);
        editor.putInt("WIDGET_PREFERENCES_ROW_COUNT", counter);
        editor.commit();

        for (int c = 0; c < counter; c++)
        {
          Log.e("catfeina", "Call number " + c);
          Log.e("catfeina", "title " + data.readTitle(c));
          Log.e("catfeina", "link " + data.readUrl(c));
          Log.e("catfeina", "description " + data.readDescription(c));
        }
        data.close();
      }
      else
      {
        Log.e("catfeina", "parser returned null");
      }
    }
    catch (MalformedURLException e)
    {
      e.printStackTrace();
    }
    return null;
  }

  public String convertStreamToString(InputStream is) throws IOException
  {
    /*
     * To convert the InputStream to String we use the
     * BufferedReader.readLine() method. We iterate until the BufferedReader
     * return null which means there's no more data to read. Each line will
     * appended to a StringBuilder and returned as String.
     */
    if (is != null)
    {
      StringBuilder sb = new StringBuilder();
      String line;

      try
      {
        BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
        while ((line = reader.readLine()) != null)
        {
          sb.append(line).append("\n");
        }
      }
      finally
      {
        is.close();
      }
      return sb.toString();
    }
    else
    {
      return "";
    }
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.