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 20/11/13, 12:16:13
Avatar de Duqe
Duqe Duqe no está en línea
Usuario veterano
Mensajes: 668
 
Fecha de registro: jun 2009
Mensajes: 668
Modelo de smartphone: Nexus One
Versión de ROM: SuperFroyo 6.0
Mencionado: 0 comentarios
Tagged: 0 hilos
Problema con endpoint (Android app - Appengine backend)

Hola buenas.

Pues tengo ya creada en Appengine una datastore con varios elementos. Y conectada al servidor una app la cual en principio parece que funciona correctamente. El problema es que cuando intento recibir todos los objetos de la datastore en el cliente, en principio lo hace correctamente. Pero lo curioso es que las ids de cada uno son correctas, pero el resto de campos son null (los campos de cada objeto son 1 date, el id que es long y el resto strings). Pongo el código que tengo en la asynctask:

Código:
@Override
        protected Void doInBackground(Void... unused) {
            Log.d("Prueba", "En la AsyncTask, doInBackground.");
            Miendpoint.Builder builder = new Miendpoint.Builder(
                    AndroidHttp.newCompatibleTransport(), new JacksonFactory(), null);
            Miendpoint miEndpoint = builder.build();
            try {
				elementos = miEndpoint.listElemento().execute().getItems();
				Log.d("Prueba", "Tamaño de elementos: " + elementos.size());
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
            return null;
        }
Ese size() me da exactamente el número de elementos que tengo en la datastore, y como digo, las ids de cada uno son las correctas. El problema es que el resto de campos son null.

A ver si alguien me puede echar un cable con esto. Llevo ya un día intentando solucionarlo, y por más que busco, no encuentro solución.

Gracias por adelantado.

Pd: Sé que seguramente haga falta ver más código del que he puesto. Si hace falta lo añadiré en spoiler. Pero comentar que tanto el backend como los endpoints los creé con el plugin de Eclipse.
Responder Con Cita


  #2  
Viejo 25/11/13, 13:47:40
Avatar de Duqe
Duqe Duqe no está en línea
Usuario veterano
Mensajes: 668
 
Fecha de registro: jun 2009
Mensajes: 668
Modelo de smartphone: Nexus One
Versión de ROM: SuperFroyo 6.0
Mencionado: 0 comentarios
Tagged: 0 hilos
Voy a poner algo más de info. A ver si alguien se anima a echarme un cable. Que llevo varios días atascado y he llegado a un punto que ya no sé qué más probar.

He seguido los pasos indicados en esta guía:

https://cloud.google.com/resources/a...ckend-tutorial

Aunque no es exactamente la misma aplicación. En mi caso, con appengine descargo cierta información que guardo en la datastore. En principio esto funciona correctamente. Desde el dashboard puedo ver la base de datos, y todos sus campos. Que son correctos obviamente.

Desde la app en android descargo todos los objetos que hay en la base de datos en appengine. Como dije en el 1er hilo, descargo x cantidad de objetos, que coincide con el número de objetos que hay en la base de datos. E incluso los ids de cada objeto son correctos. Pero no el resto de campos, que son todos null.

Comentar que al crearlos, cada objeto es un Entity de la clase "xxx". Y al descargarlos son un objeto "xxx". De igual forma he intentado a consultar 1 solo objeto y estoy en las mismas, la id es correcta, pero el resto es null.

Si puedo esta noche añadiré algo más de código.
Responder Con Cita
  #3  
Viejo 26/11/13, 13:21:34
Avatar de Duqe
Duqe Duqe no está en línea
Usuario veterano
Mensajes: 668
 
Fecha de registro: jun 2009
Mensajes: 668
Modelo de smartphone: Nexus One
Versión de ROM: SuperFroyo 6.0
Mencionado: 0 comentarios
Tagged: 0 hilos
Sigo dándole vueltas al asunto ...

En el ejemplo que puse los objetos de la datastore se crean desde la app en Android. En mi caso, los crea la propia appengine. Por tanto, yo los creo como entitys en la base de datos. Pero en la app son objetos que yo he declarado. Tienen la anotación de @Entity, obviamente. Os pongo un ejemplo:

Código:
@Entity
public class MiClase {
	@Id
    private String id;

    private Date fecha;

    private String numero;
    
    public void setId(String id) {
    	this.id = id;
    }

    public void setDate(Date fecha) {
        this.fecha = fecha;
    }

    public void setNumero(String numero) {
        this.numero = numero;
    }

    public String getId() {
        return this.id;
    }

    public Date getFecha() {
        return this.fecha;
    }

    public String getNumero() {
        return this.numero;
    }    
}
Podría ser esta la causa de mi problema? La verdad que no he encontrado ningún ejemplo sobre cómo hacer algo similar a lo que estoy haciendo.
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: 15:18:50 (GMT +2)

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