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 24/05/13, 00:56:14
Array

[xs_avatar]
ephramdoyle ephramdoyle no está en línea
Miembro del foro
 
Fecha de registro: abr 2010
Mensajes: 61
Modelo de smartphone: Samsung I5700

Facebook SDK 3 Android

Buenas compañeros,

Estoy trabajando con el último SDK de Facebook (versión 3) y me esta dando un poco de guerra el "customizar" sus ejemplos.

Por ejemplo en la siguiente función obtengo el ID. Me interesaría que se retornase su valor, el problema es que el retorno no se espera a que termine el "onCompleted" y no he conseguido de ninguna manera retornarlo. ¿Alguna idea?

Código:
String userID = null;
    private String getUid(){
        Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
            @Override
            public void onCompleted(GraphUser user, Response response) {
              if (user != null) {
                  userID= user.getId();
                  System.out.println("onCompleted " +userID); // printa el id correctamente
                 // ----- RETURN USERID  ---- ='(
              }
            }
          });
        System.out.println("NOT COMPLETED " + userID); //NULL porque no ha tenido tiempo para coger el valor asignado en "oncompleted"
    }
saludos y gracias!
Responder Con Cita


  #2  
Viejo 25/05/13, 13:40:06
Array

[xs_avatar]
set92 set92 no está en línea
Miembro del foro
 
Fecha de registro: jun 2012
Mensajes: 468
Modelo de smartphone: samsung
Tu operador: Movistar
y eso es lo que pasa con las llamadas asincronas, es lo que tienen de bueno que puedes hacer una llamada, seguir haciendo cosas y ya cuando termine te devolvera el valor que necesitas, para tenerlo disponible justo despues o hacer una llamada sincrona, que estoy mirando https://developers.facebook.com/docs...d/3.0/Request y no parece tener nada del estilo Request.executeMeRequestSync o algo asi que me imagino que se llamaria, pero sino puedes un synchonized de toda la vida, algo mas avanzado http://blog.josedacruz.com/2013/05/1.../#.UaCT5ok9_2v o incluso por hacerlo rapido un while(userID.equal(null)){} y asi hasta que no sea distinto de null no tira para delante
__________________
Gracias a todos aquellos que no piensan en lo que cuesta diseñar/desarrollar una app, que no pagan ni 5 miseros euros y fastidian a todos los programadores, es un gran aliciente para todos los futuros programadores como yo
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 03/06/13, 00:08:43
Array

[xs_avatar]
ephramdoyle ephramdoyle no está en línea
Miembro del foro
 
Fecha de registro: abr 2010
Mensajes: 61
Modelo de smartphone: Samsung I5700

Responde algo tarde pero gracias por tu respuesta. En otros casos he utilizado synchonized pero en este caso concreto de Facebook, no lo he conseguido con ningún tipo de semáforo. Gracias de todas formas, seguiré intentándolo.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 18:26:18 (GMT +1)



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

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