|
||
|
![]() |
![]() |
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
|
||||
|
||||
Cómo hago para que los datos obtenidos de un WS se carguen más rapidos?
Buenas, os cuento así por encima la estructura de mi app:
Entras a una actividad y en el onCreate (después de cargar la vista de la actividad correspondiente) llamo a una clase privada que extiende de AsyncTask para que consuma a un servicio web en PHP que tengo un host con el cual se rellena la información que muestro en esa actividad (en este caso una tabla de clasificación de fútbol). Durante 1, 2 o 3 segundo se ve la información predeterminada que coloco en el atributo android:text de cada TextView. Justo después se cambia y carga toda la clasificación (nombres de equipos, partidos jugados, ganados, etc..., son solo 6 TextView por cada equipo). Mi pregunta es si es posible hacer que estos 3 segundos sean los mínimos posibles o bien, que "truquito" usais los programadores para evitar que esta espera sea fea de cara al usuario (esta es mi primera app seria que estoy desarrollando y me gustaría hacerla lo más liviana posible). Habia pensando en un Toast que durante esos segundos de espera dijese "Cargando tabla..." otra cosa no se me ocurre. A ver que me recomendais. Un saludo y gracias! |
|
#2
|
||||
|
||||
Antes usaba una ProgressBar circular indefinida como primer elemento de la lista hasta que cargaba la información. Ahora uso el SwipeRefreshLayout y nada más empezar le pongo setRefreshing(true), así además de tener el Pull To Refresh me simula el spinner de carga en la primera actualización(y sucesivas)
|
Gracias de parte de: | ||
#3
|
||||
|
||||
Antes usaba una ProgressBar circular indefinida como primer elemento de la lista hasta que cargaba la información. Ahora uso el SwipeRefreshLayout y nada más empezar le pongo setRefreshing(true), así además de tener el Pull To Refresh me simula el spinner de carga en la primera actualización(y sucesivas)
![]() |
#4
|
||||
|
||||
Ahí te va un ejemplo: http://antonioleiva.com/swiperefreshlayout
Los comentarios son muy interesantes, eso sí, en inglés ^^
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
|
Gracias de parte de: | ||
#5
|
||||
|
||||
Ahí te va un ejemplo: http://antonioleiva.com/swiperefreshlayout
Los comentarios son muy interesantes, eso sí, en inglés ^^ ![]() Consigo que me salga el circulo con los colores y cuando hago scroll hacia abajo, pero no consigo configurar ni que me salga la barra ni que me salga directamente el circulo al iniciar la actividad. Seguiré probando. EDIT: Que te salga el circulito del tiron basta con un: swipeView.post(new Runnable() { @Override public void run() { swipeView.setRefreshing(true); } });Aún así, sigo sin poder conseguir la barra. Me da a mi que va ser por el sdk Última edición por _DeV_ Día 19/08/15 a las 14:18:54. |
#6
|
||||
|
||||
Llevo intentándolo una hora y nada.
Consigo que me salga el circulo con los colores y cuando hago scroll hacia abajo, pero no consigo configurar ni que me salga la barra ni que me salga directamente el circulo al iniciar la actividad. Seguiré probando. EDIT: Que te salga el circulito del tiron basta con un: swipeView.post(new Runnable() { @Override public void run() { swipeView.setRefreshing(true); } });Aún así, sigo sin poder conseguir la barra. Me da a mi que va ser por el sdk ![]() A partir de la versión 21 de la librería de soporte el SwipeRefreshLayout sólo funciona con el círculo en lugar de con la barra, así que si quieres que te salga la barra tendrás que usar la 20. No se si te merece la pena la verdad. |
Gracias de parte de: | ||
#7
|
||||
|
||||
Creo yo que la velocidad de respuesta de un WS depende de muchos factores, estoy haciendo una APP para el banco donde trabajo el cual consiste de un WS que consulto desde mi app para mostrar los productos de un cliente (cuentas financieras) ahora bien, mi experiencia me ha dicho que la velocidad puede depender de: código del WS, RAM o procesador del móvil, y claro está la conexión de datos que se usa, por ejemplo cuando pruebo la app con conexión local (wifi corporativo para acceder al WS) la velocidad es mucho mejor que cuando la pruebo con mi plan de datos de mi operadora móvil. En todo caso hay que esperar que los más expertos te den sus concejos para optimizar tu app, saludos.
|
#8
|
||||
|
||||
Quiero aportar diciendo, hay que tener una buena api tanto del lado del cliente como del lado del servidor, todo en conjunto contribuye a que la respuesta sea más rápida o menos rápida, el conjunto podemos decir que es, optimización de código y consultas a base de datos, yo suelo devolver los datos justos y necesarios, las cualidades del servidor también influyen como la ram, la capacidad de atender peticiones, y cómo no el móvil también puede influir a una mala o buena recepción de los datos, conexión de internet (Wifi o Datos), etc...
|
![]() |
![]() |
||||||
|
Herramientas | |