Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 07/05/15, 16:12:38
Avatar de pablogarcia013
pablogarcia013 pablogarcia013 no está en línea
Miembro del foro
Mensajes: 148
 
Fecha de registro: ene 2013
Localización: Madrid
Mensajes: 148
Modelo de smartphone: Samgung Galaxy s2
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Http Request en Widget

Buenas a todos!

Tengo ya la app desarrollada y me he puesto a hacer un widget.
Tengo un Web service que le da datos a la app y necesito ahora que esos datos se muestren en el widget, pero no lo consigo. Solo quiero coger un campo de texto y ponerlo en un TextView.

El tema es que hago el http request desde un AsynTask y todo genial, pero a la hora de actualizar el TextView donde ira el texto que cojo del webservice estoy un poco perdido.

Lo intente hacer igual que dentro de la app pero creo que no se puede hacer desde el método runnable de runOnUiThread.

¿Me podéis echar un cable?

Muchas gracias de antemano.
Responder Con Cita


  #2  
Viejo 08/05/15, 16:40:34
Avatar de rafaxplayer
rafaxplayer rafaxplayer no está en línea
Miembro del foro
Mensajes: 224
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Haber... si usas un asynktask y este esta en la clase donde se encuentra el texview no hay problema.

Primero desde doinbackground haces la petición http request, al final de este metodo retornas el response de tu peticion o el string que necesitas, el cual se convierte directamente en el parámetro de OnPostexecute y hay es donde puedes editar el texview con el string en cuestión , no se si me he explicado bien , lee la ayuda de asynktask y lo veras mas claro , piensa que doinbackground se ejecuta de forma asincrónica fuera del hilo principal por lo que no tienes acceso ni ha views ni nada , pero después OnPostexecute ya se ejecuta en el principal y tienes acceso a tu textview.
Responder Con Cita
  #3  
Viejo 08/05/15, 20:59:51
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Supongo que a estas alturas ya sabrás que los Widget se programan mediante RemoteViews, y que una vez actualizado el contenido tienes que decirle al AppWidgetManager que refresque el Widget.
Responder Con Cita
  #4  
Viejo 13/05/15, 10:28:36
Avatar de pablogarcia013
pablogarcia013 pablogarcia013 no está en línea
Miembro del foro
Mensajes: 148
 
Fecha de registro: ene 2013
Localización: Madrid
Mensajes: 148
Modelo de smartphone: Samgung Galaxy s2
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por kriogeN Ver Mensaje
AppWidgetManager que refresque el Widget.
No se muy bien como programar los widget puesto que es el primero que voy a desarrollar..
Responder Con Cita
  #5  
Viejo 13/05/15, 11:44:50
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por pablogarcia013 Ver Mensaje
No se muy bien como programar los widget puesto que es el primero que voy a desarrollar..
Pues los Widget no tienen nada que ver con la programación de Activity, para empezar funcionan con RemoteView, y no todas las View de Android son compatibles con RemoteView, y las subclases de una View compatible con RemoteView NO ES una RemoteView.

Por ejemplo, un TextView es una RemoteView y puedes usarlo en un Widget, pero si haces una subclase de TextView a la que llamas TextViewConFondoGris NO puedes usarlo en un Widget.

Otra cosa de los Widget es lo que te comentaba antes, que por actualizar un contenido en la RemoteView no significa que vaya a cambiar, después de actualizarlo tienes que decirle al AppWidgetManager que quieres que refresque tu Widget.

Te aconsejo este tutorial, fue el que seguí yo para hacer mi primer Widget:

http://www.vogella.com/tutorials/And...s/article.html
Responder Con Cita
  #6  
Viejo 20/05/15, 14:12:28
Avatar de pablogarcia013
pablogarcia013 pablogarcia013 no está en línea
Miembro del foro
Mensajes: 148
 
Fecha de registro: ene 2013
Localización: Madrid
Mensajes: 148
Modelo de smartphone: Samgung Galaxy s2
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Ya lo he terminado pero no se si está hecho correctamente. dentro del doInBackground es donde el AppWidgetManager refresca la vista..¿Puede ser una opción valida?

Muchas gracias.
Responder Con Cita
  #7  
Viejo 20/05/15, 14:15:28
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por pablogarcia013 Ver Mensaje
Ya lo he terminado pero no se si está hecho correctamente. dentro del doInBackground es donde el AppWidgetManager refresca la vista..¿Puede ser una opción valida?

Muchas gracias.
Supongo que puede funcionar, todo es probarlo.

Aunque los Widget normalmente se actualizan con temporizadores (se configura en el XML del appwidget-provider) o mediante un servicio.
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 14:53:46 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007