domingo, 30 de marzo de 2014

ComedoresUGR-1BETA

Presentamos mi compañero Jose Miguel Colella Carbona y yo, la primera versión de nuestra aplicación ComedoresUGR.

En ella nos hemos introducido al mundo de Android, con dos actividades, una de portada que nos lleva con un botón a otra, y en al otra mostramos una lista de los platos que hay en los comedores de la UGR durante la semana.

Nuestra idea, es hacer un parsing a la página de los comedores de la UGR. El código que hemos usado de parsing ha sido:

private ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.listView);
   final ArrayList<String> your_array_list1 = new ArrayList<String>();
   Thread downloadThread = new Thread() {
      ArrayList<String> your_array_list = new ArrayList<String>();

      public void run() {
       try {
         your_array_list1.add("Hello World");
         Map map = new HashMap<String, String>();
         Document doc = Jsoup.connect("http://comedoresugr.tcomunica.org/").get();

         List<String> days = new ArrayList<String>();
         List<String> food = new ArrayList<String>();
         Elements divElements = doc.getElementsByTag("div");
       
         for (Element element: divElements) {
           if("plato".equals(element.id())) {
               days.add(element.child(0).text());
               if("platos".equals(element.child(1).id())){
                   for(Element child: element.child(1).children()) {
                         food.add(child.text());
                   }
                   List<String> tmp = new ArrayList<String>(food);
                   map.put(element.child(0).text(), tmp);
                   your_array_list1.add(element.child(0).text());
               }
               food.clear();
           }
         }
    } catch (IOException e) { e.printStackTrace();
   }
 }
};
downloadThread.start();

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, your_array_list1);
lv.setAdapter(arrayAdapter);


En un proyecto java cualquier funciona correctamente, pero en android, hemos tenido problemas con la pertenencia de jsoup primero, y después de la conexión de la app a internet, cosa que a día de hoy seguimos desarrollando.

Hemos querido presentar una versión beta de la aplicación, donde los platos se los introducimos a mano.


Podéis encontrar la APP provisional en:


En las próximas semanas, seguiremos desarrollando esta idea, completando el parsing y mejorando el diseño de la APP.


Rafael González Jiménez - @rafa_GJ  

No hay comentarios:

Publicar un comentario