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/02/12, 17:03:58
Avatar de the_gentleman
the_gentleman the_gentleman no está en línea
Usuario novato en la web
Mensajes: 9
 
Fecha de registro: ene 2012
Mensajes: 9
Modelo de smartphone: Galaxy S i9000
Versión de ROM: CM7 NIGTHLY 181
Versión de Radio: XXXJVK
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Recargar Activity | Diseño y trabajo con imágenes

Buenas, pues tengo una dudilla que me esta haciendo perder la paciencia jeje.
Estoy ya enterandome un poco mas de como va la programación en android porque tengo que hacerlo a marchas forzadas para la aplicación de un proyecto.

El caso es que tengo una aplicación que muestra los datos de mi mysql remoto pasando por un webservice en PHP.

Como recivo los datos en JSON me construyo una sentencia IF para que se me vea mas gráfico.

Pues bien, tengo 2 dudas:

1º. Como hago para recargar los datos de dicha actividad o bien mediante un botón que accione la recarga o cada 'n' segundos, ya que mis datos del servidor se actualizan frecuentemente.

2º. Como hago para trabajar con imágenes de este modo:

if(condicion)
{
mostrar imagen1;
}
else
{
mostrar imagen2;
}

Estos dos puntos fundamentales me faltan en mi aplicación para que empiece a ser decente y no encuentro la manera de trabajarlo.
¿Alguna idea?
Muchas gracias y un saludo.
Responder Con Cita


  #2  
Viejo 07/02/12, 17:23:59
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
1º) ¿Te refieres a recargar la activity por completo? Creo que es más práctico que hagas algo para gestionar el control que quieres actualizar, pero aún así supongo que podrías hacer esto:

startActivity(getIntent());
finish();

2º) Supongo que lo quieres hacer actualizando un ImageView, suponiendo que el ImageView se llama imagen:

Si la imagen es un Bitmap y se llama bmp:

imagen.setImageBitmap(bmp);

Si la imagen es un Drawable:

imagen.setImageResource(R.drawable.nombreDelDrawab le);
Responder Con Cita
  #3  
Viejo 07/02/12, 17:42:12
Avatar de the_gentleman
the_gentleman the_gentleman no está en línea
Usuario novato en la web
Mensajes: 9
 
Fecha de registro: ene 2012
Mensajes: 9
Modelo de smartphone: Galaxy S i9000
Versión de ROM: CM7 NIGTHLY 181
Versión de Radio: XXXJVK
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Muchas gracias kriogeN!!

Lo de las imágenes me ha quedado claro, lo de la activity, es que tengo una activity que solo hace una conexión al PHP de mi servidor para cojer los datos JSON y como esos datos se cambian cada cierto tiempo necesito recargarlo, solo muestro datos en esa actividad.
Responder Con Cita
  #4  
Viejo 07/02/12, 18:33:55
Avatar de the_gentleman
the_gentleman the_gentleman no está en línea
Usuario novato en la web
Mensajes: 9
 
Fecha de registro: ene 2012
Mensajes: 9
Modelo de smartphone: Galaxy S i9000
Versión de ROM: CM7 NIGTHLY 181
Versión de Radio: XXXJVK
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
He encontrado esto:
Cita:
1
2
3
4
5
6
7
8
9
//reinicia una Activity
public static void reiniciarActivity(Activity actividad){
Intent intent=new Intent();
intent.setClass(actividad, actividad.getClass());
//llamamos a la actividad
actividad.startActivity(intent);
//finalizamos la actividad actual
actividad.finish();
}

Y haremos la llamada en el momento que queramos reinciar la Activity:
1
2
3
//...
reiniciarActivity(this);
//..
Pero no soy capaz de poner la llamada a la función
Responder Con Cita
  #5  
Viejo 07/02/12, 20:52:21
Avatar de the_gentleman
the_gentleman the_gentleman no está en línea
Usuario novato en la web
Mensajes: 9
 
Fecha de registro: ene 2012
Mensajes: 9
Modelo de smartphone: Galaxy S i9000
Versión de ROM: CM7 NIGTHLY 181
Versión de Radio: XXXJVK
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
Nada no hay manera, no consigo recargar la página, preferiría que cada 10 segundos por ejemplo el activity se recargue...:S
Responder Con Cita
  #6  
Viejo 07/02/12, 21:37:17
Avatar de the_gentleman
the_gentleman the_gentleman no está en línea
Usuario novato en la web
Mensajes: 9
 
Fecha de registro: ene 2012
Mensajes: 9
Modelo de smartphone: Galaxy S i9000
Versión de ROM: CM7 NIGTHLY 181
Versión de Radio: XXXJVK
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
He hecho esto en el onCreate, pero no me recarga la actividad

Intent intent = new Intent(this, miPantalla.class);
PendingIntent sender = PendingIntent.getService(this, 0, intent, 0);

// We want the alarm to go off 60 seconds from now.
long firstTime = SystemClock.elapsedRealtime();
int REPEATING_ALARM_INTERVAL_IN_MINUTES = 0;
firstTime += REPEATING_ALARM_INTERVAL_IN_MINUTES * 60 * 1000;

// Schedule the alarm!
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKE UP, firstTime,
REPEATING_ALARM_INTERVAL_IN_MINUTES * 60 * 1000, sender);


Edito: SOLUCIONADO! Con el getIntent de kriogeN me he montado algunas paranoias con unos tabs que muestro y lo he recargado de nuevo con un codigo que he encontrado por ahi, en concreto es:

Código:
public static int MILISEGUNDOS_ESPERA = 5000;
public void onClick_AccionTrasSegundos(View v) {
    esperarYCerrar(MILISEGUNDOS_ESPERA);
}

/**
 * Espera y recarga la aplicación tras los milisegundos indicados
 * @param milisegundos
 */
public void esperarYCerrar(int milisegundos) {
    Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        public void run() {
            // acciones que se ejecutan tras los milisegundos
            finalizarApp();
        }
    }, milisegundos);
}

/**
 * Recarga la aplicación
 */
public void finalizarApp() {
    Intent intent = new Intent(this, Container.class);
    startActivity(intent);

}

Última edición por the_gentleman Día 07/02/12 a las 22:21:59 Razón: Solucionado el problema
Responder Con Cita
  #7  
Viejo 07/02/12, 22:31:39
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
Me alegro de que al final lo hayas solucionado, pero insisto en que lo que yo haría es en el Handler recargar SÓLO el control que contiene los datos, y no la activity completa.
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: 22:58:40 (GMT +2)

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