superroko2
05/11/12, 11:12:20
Buenas
Estoy desarrollando una aplicación que actualmente tiene tres Activities:
1) Pantalla de logueo que conecta con una BD en MySQL externa.
2) Pantalla que detecta el GPS, obtiene la latitud y longitud actual, envía esos datos a un PHP y recibe unos resultados (varios pares de latitud-longitud). Esto lo hace con AsyncTask.
3) Dibuja los pares de latitud-longitud obtenidos anteriormente en un MapActivity.
El problema: Es que la aplicación está bastante tiempo pensando (AsyncTask) mientras no recibe los datos necesarios del GPS (OnLocationChanged).
Propuesta: Que solo abrir la aplicación, mientras vayas logueandote ya vaya detectando el GPS. Si cuando te has logueado y pasas a la siguiente Activity ya tiene la señal obtenida, la trata directamente. Si no, entonces si te salga el ProgressDialog y siga intentando detectar una señal.
·Aunque pueda parecer absurda, la Activity central es imprescindible, porque aparte de detectar el GPS (que lo podría hacer la propia MapActivity), muestra unos resultados y necesita la interacción del usuario antes de pasar a la MapActivity.
·Tenía pensado hacer:
- Juntar las dos primeras Activities todo en una, y en vez de tener dos Activities, tener dos layouts y cuando se haya logueado y tenga que pasar a mostrar los datos, simplemente cambié el layout (SetContentView).
El problema es que no sé si eso es buena idea? Eso se puede hacer? Se hace? Es muy ineficiente?
Que opináis? Que otras soluciones se os ocurren?
Gracias.
Estoy desarrollando una aplicación que actualmente tiene tres Activities:
1) Pantalla de logueo que conecta con una BD en MySQL externa.
2) Pantalla que detecta el GPS, obtiene la latitud y longitud actual, envía esos datos a un PHP y recibe unos resultados (varios pares de latitud-longitud). Esto lo hace con AsyncTask.
3) Dibuja los pares de latitud-longitud obtenidos anteriormente en un MapActivity.
El problema: Es que la aplicación está bastante tiempo pensando (AsyncTask) mientras no recibe los datos necesarios del GPS (OnLocationChanged).
Propuesta: Que solo abrir la aplicación, mientras vayas logueandote ya vaya detectando el GPS. Si cuando te has logueado y pasas a la siguiente Activity ya tiene la señal obtenida, la trata directamente. Si no, entonces si te salga el ProgressDialog y siga intentando detectar una señal.
·Aunque pueda parecer absurda, la Activity central es imprescindible, porque aparte de detectar el GPS (que lo podría hacer la propia MapActivity), muestra unos resultados y necesita la interacción del usuario antes de pasar a la MapActivity.
·Tenía pensado hacer:
- Juntar las dos primeras Activities todo en una, y en vez de tener dos Activities, tener dos layouts y cuando se haya logueado y tenga que pasar a mostrar los datos, simplemente cambié el layout (SetContentView).
El problema es que no sé si eso es buena idea? Eso se puede hacer? Se hace? Es muy ineficiente?
Que opináis? Que otras soluciones se os ocurren?
Gracias.