我正在请求使用我的应用的用户的Facebook好友,然后查询每个人的数据库,看他们是否已经是我的应用中的朋友。
我从发出http请求的代码中修改了此代码。我不需要发出http请求但我无法摆脱这一行,或者它导致我的Facebook响应的空指针异常。
以下是我想摆脱的代码:
JSONObject json = jsonParser.makeHttpRequest(url_friend_status, "POST", params);
它会导致此行的空指针异常:
products = FriendResponse.getJSONArray("data");
在eclipse中它甚至会说“不使用局部变量json的值”,但似乎我的Facebook响应工作需要该行的某些部分?
以下是更大的代码:
protected String doInBackground(String... args) {
String fbid = fbID;
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
// I don't want this, but when I remove it, FriendResponse.toString causes null pointer exception
JSONObject json = jsonParser.makeHttpRequest(url_friend_status, "POST", params);
try {
// getting JSON Array from facebook response
products = FriendResponse.getJSONArray("data");
makeMeRequest:
private void makeMeRequest(final Session session) {
// Make an API call to get user data and define a
// new callback to handle the response.
Request friendsrequest = Request.newMyFriendsRequest(session,
new Request.GraphUserListCallback() {
@Override
public void onCompleted(List<GraphUser> users, Response response) {
// If the response is successful
if (session == Session.getActiveSession()) {
if (users != null) {
FriendResponse = response.getGraphObject().getInnerJSONObject();
}
}
if (response.getError() != null) {
// Handle errors, will do so later.
}
}
});
friendsrequest.executeAsync();
}