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

Respuesta
 
Herramientas
  #1  
Viejo 07/05/15, 16:12:38
Array

[xs_avatar]
pablogarcia013 pablogarcia013 no está en línea
Miembro del foro
 
Fecha de registro: ene 2013
Localización: Madrid
Mensajes: 148
Modelo de smartphone: Samgung Galaxy s2
Tu operador: Orange
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
Array

[xs_avatar]
rafaxplayer rafaxplayer no está en línea
Miembro del foro
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
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
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
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
Array

[xs_avatar]
pablogarcia013 pablogarcia013 no está en línea
Miembro del foro
 
Fecha de registro: ene 2013
Localización: Madrid
Mensajes: 148
Modelo de smartphone: Samgung Galaxy s2
Tu operador: Orange
 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
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
 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
Array

[xs_avatar]
pablogarcia013 pablogarcia013 no está en línea
Miembro del foro
 
Fecha de registro: ene 2013
Localización: Madrid
Mensajes: 148
Modelo de smartphone: Samgung Galaxy s2
Tu operador: Orange
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
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
 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   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 14:00:18 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /