Cómo enviar una consulta FQL con el nuevo SDK de Android

He estado buscando en eldeveloper.facebook sitio web que busca una forma de usar el nuevo SDK y enviar consultas de FQL, pero parece que todo ha cambiado y la documentación habla de todo tipo de otras formas de solicitarme ofriends ¿Pero no información específica, como son los amigos que usan mi aplicación o no?

así que escribí una buena consulta FQL

select uid, name, pic_square, is_app_user from user where uid in (select uid2 from friend where uid1 = me())

Y ahora, todo lo que tengo que hacer es ejecutarlo.

Dado que las únicas solicitudes que parecen buenas para devolver una lista de amigos sonRequest.executeMyFriendsRequestAsync yRequest.newMyFriendsRequest Supuse que serían mis amigos, pero ambos no permiten el ajuste fino de una consulta FQL.

¿Cómo puedo enviar una consulta y recuperar una lista de amigos o al menos unaJSONArray?

El tutorial Hackbook - FQL Query utiliza la versión anterior del SDK y no sé qué hacer.

ACTUALIZAR:

Agregué estas líneas de código pensando que me permitirá crear esta consulta:

public void onCreate(Bundle savedInstanceState) {
    // SOME CODE
    this.openSession();
}

protected void onSessionStateChange(SessionState state, Exception exception) {
    if (state.isOpened()) {
        Session activeSession = getSession().getActiveSession();
        facebook.setAccessToken(activeSession.getAccessToken());
        facebook.setAccessExpires(activeSession.getExpirationDate().getTime());

        Request req = Request.newMyFriendsRequest(activeSession, new GraphUserListCallback() {

            @Override
            public void onCompleted(List<GraphUser> users, Response response) {
                System.out.println(response.toString());

            }
        });
        Bundle params = new Bundle();
        params.putString("method", "fql.query");
        params.putString("query", "select uid, name, pic_square, is_app_user " + "from user where uid in "
                + "(select uid2 from friend where uid1 = me())");
        req.setParameters(params);
        Request.executeBatchAsync(req);

    }
}

Hice esto, pensando que editará la solicitud y agregará la información que quiero pero recibí este error:

10-31 09:36:31.647: E/AndroidRuntime(15986): java.lang.NullPointerException
10-31 09:36:31.647: E/AndroidRuntime(15986):    at com.sample.facebook.to.db.MainActivity$1.onCompleted(MainActivity.java:62)
10-31 09:36:31.647: E/AndroidRuntime(15986):    at com.facebook.Request$2.onCompleted(Request.java:269)
10-31 09:36:31.647: E/AndroidRuntime(15986):    at com.facebook.Request$4.run(Request.java:1197)
10-31 09:36:31.647: E/AndroidRuntime(15986):    at android.os.Handler.handleCallback(Handler.java:587)
10-31 09:36:31.647: E/AndroidRuntime(15986):    at android.os.Handler.dispatchMessage(Handler.java:92)
10-31 09:36:31.647: E/AndroidRuntime(15986):    at android.os.Looper.loop(Looper.java:130)
10-31 09:36:31.647: E/AndroidRuntime(15986):    at android.app.ActivityThread.main(ActivityThread.java:3691)
10-31 09:36:31.647: E/AndroidRuntime(15986):    at java.lang.reflect.Method.invokeNative(Native Method)
10-31 09:36:31.647: E/AndroidRuntime(15986):    at java.lang.reflect.Method.invoke(Method.java:507)
10-31 09:36:31.647: E/AndroidRuntime(15986):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
10-31 09:36:31.647: E/AndroidRuntime(15986):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
10-31 09:36:31.647: E/AndroidRuntime(15986):    at dalvik.system.NativeStart.main(Native Method)

Respuestas a la pregunta(3)

Su respuesta a la pregunta