gpt4 book ai didi

java - 如何将调用 Request.callback onCompleted() 方法时从 Facebook 返回的数据传递到我在 Android 中的 fragment ?

转载 作者:行者123 更新时间:2023-11-30 02:41:58 27 4
gpt4 key购买 nike

我目前正在尝试将 Facebook 集成到我的 Android 应用程序中。让应用程序连接和验证我没有遇到任何问题。但是在执行 onCompleted(Response response) 回调方法后,我无法理解如何处理数据。以下方法有效:

private void onSessionStateChange(Session session, SessionState state,
Exception exception) {

if (state.isOpened()) {

Log.i(TAG, "Logged in...");

new Request(session, "/me", null, HttpMethod.GET,
new Request.Callback() {

@Override
public void onCompleted(Response response) {

GraphObject graphObject = response.getGraphObject();
JSONObject data = graphObject.getInnerJSONObject();

Log.i(TAG, "My DETAILS: ");

try {
Log.i(TAG, "ID: " + data.getLong("id"));
Log.i(TAG, "Name: " + data.getString("name"));
Log.i(TAG, "Email: " + data.getString("email"));
Log.i(TAG,
"Gender: " + data.getString("gender"));

} catch (JSONException e) {

e.printStackTrace();
}

}
}).executeAsync();

} else if (state.isClosed()) {
Log.i(TAG, "Logged out...");
}
}

当我运行我的应用程序时,Facebook 进行身份验证,检索数据并成功输出到 Logcat 窗口。但是,我无法理解如何将 JSONObject 传递回我的 fragment 以进行进一步处理。
我在网上看过的大多数示例只是简单地将 JSONObject 内容设置为 fragment 中的 View ,或者简单地说 /* Handle response here */ 或类似的东西就没那么有用了。我有另一种类似的方法,我想获取个人资料图片 url 并下载图片,但我无法将 url 返回到我的 fragment 以进行进一步处理。我是否应该做一些事情,比如开发一个接受 JSONObject 作为参数的 runnable 类,并从 onCompleted() 方法启动一个单独的线程来处理这是我想要的方式吗?

我目前的目标是获取使用我的应用程序的用户 friend 列表,并保存他们的个人资料照片以供在应用程序中使用。我会以错误的方式解决这个问题吗?

最佳答案

所以如果我理解正确的话,你正在获取所有数据,你能够解析 JSON 但你无法将数据传递给你的其他 fragment ?为什么不写入一个可以从任何地方访问的文件?

为什么要“下载”图像,这会增加处理时间。只需使用此 URL:https://graph.facebook.com/"+uid.trim()+"/picture?type=normal 其中 uid 是您的用户 ID。将它与 Universal Image Loader 结合使用以在 ImageView 中异步加载图像。您节省了时间 - 避免了手动缓存文件或将文件保存在 SD 上的麻烦。

但是兄弟,这里的问题是 Facebook 将在 2015 年 4 月停止支持您正在使用的 API。开始移植您的应用程序以使用最新的 facebook API;然而,这对于获取用户信息并不是很有用。欢呼并继续编码:)

关于java - 如何将调用 Request.callback onCompleted() 方法时从 Facebook 返回的数据传递到我在 Android 中的 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25624424/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com