Como enviar uma consulta FQL com o novo SDK do Android

Eu tenho procurado odevelopers.facebook website procurando uma maneira de usar o novo SDK e enviar consultas FQL, mas parece que tudo mudou e a documentação está falando sobre todos os tipos de outras maneiras de solicitarme oufriends mas não informações específicas, como são esses amigos usando meu aplicativo ou não?

então eu escrevi uma boa consulta FQL

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

e agora, tudo que tenho que fazer é executá-lo.

Como os únicos pedidos que parecem bons para retornar uma lista de amigos sãoRequest.executeMyFriendsRequestAsync eRequest.newMyFriendsRequest Eu assumi que eles eram meus amigos, mas ambos não permitem o ajuste fino de uma consulta FQL.

como posso enviar uma consulta e recuperar uma lista de amigos ou pelo menos umaJSONArray?

O tutorial Hackbook - FQL Query está usando a versão antiga do SDK e não sei o que fazer.

ATUALIZAR:

Eu adicionei essas linhas de código pensando que ele me permitirá criar essa 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);

    }
}

Eu fiz isso, pensando que vai editar o pedido e adicionar as informações que eu quero, mas eu tenho esse erro:

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)

questionAnswers(3)

yourAnswerToTheQuestion