Android集成Facebook - 以改变的顺序获得FQL响应
问题描述:
我正在开发一个包含facebook集成的android应用程序。如果我执行多个fql查询,我将以变更的顺序获得响应。Android集成Facebook - 以改变的顺序获得FQL响应
我使用下面的代码:
public static ArrayList<String> photoAlbumIdArr = null;
@Override
public void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.main);
photoAlbumIdArr = new ArrayList<String>();
photoAlbumIdArr.add("111114545_25133454545");
photoAlbumIdArr.add("111114590_25133434768");
photoAlbumIdArr.add("111114232_2513345487");
photoAlbumIdArr.add("111114512_25133454456");
startProgress();
}
public void startProgress() {
// Do something long
PhotoGalleryActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
String fqlQuery = "";
for(int k=0;k<photoAlbumIdArr.size();k++)
{
fqlQuery = "SELECT pid, src FROM photo WHERE aid = '"+photoAlbumIdArr.get(k)+"'";
Bundle params = new Bundle();
params.putString("q", fqlQuery);
session = Session.getActiveSession();
Request request = new Request(session, "/fql", params,
HttpMethod.GET, new Request.Callback() {
public void onCompleted(Response response) {
String jsonResponse = response.toString();
Log.i(LOG_TAG, jsonResponse);
}
});
Request.executeBatchAsync(request);
}
}
});
}
这里回调响应for循环完成后调用。因为我得到了无序回应(即)将第一张专辑照片作为最后或中间回复。可能是什么问题。为什么我得到无序的回应。
答
这可能是由于您的FQL查询中没有ORDER BY子句。
尝试使用类似:
SELECT pid, src FROM photo WHERE aid = '{album id}' ORDER BY modified
这将确保返回的顺序始终是相同的(假定没有图像在中间修改查询)。
我可以知道我为什么被拒绝投票吗?那么只有我可以改善我的问题。 – Manoj 2013-05-14 05:31:50