获取 ProfilePictureView Android Studio 的数据
Posted
技术标签:
【中文标题】获取 ProfilePictureView Android Studio 的数据【英文标题】:Get data for ProfilePictureView Android Studio 【发布时间】:2016-08-14 15:03:07 【问题描述】:我试图从 facebook 获取并显示用户数据。
我在活动中创建了 ProfilePictureView 和 userName。 (我为此设置了 id)
接下来我想从 java 类发布数据。
当“按钮”成功 login_result 我得到 id 并且此数据发布到活动。 但这不起作用...
功能:
protected void getLoginDetails(LoginButton login_button)
// Callback registration
login_button.registerCallback(callbackManager, new FacebookCallback <LoginResult>()
@Override
public void onSuccess(LoginResult login_result)
Intent intent = new Intent(MainActivity.this,HomePage.class);
startActivity(intent);
ProfilePictureView profilePictureView = (ProfilePictureView) findViewById(R.id.userProfilePicture);
profilePictureView.setCropped(true);
profilePictureView.setProfileId(login_result.getId());
TextView Name = (TextView) findViewById(R.id.userName);
Name.setText(login_result.getName());
@Override
public void onCancel()
// code for cancellation
@Override
public void onError(FacebookException exception)
// code to handle error
);
活动:
<com.facebook.login.widget.ProfilePictureView
android:id="@+id/userProfilePicture"
android:layout_
android:layout_
android:layout_centerInParent="true"
android:layout_gravity="center_horizontal" />
<TextView
android:id="@+id/userName"
android:layout_
android:layout_
android:layout_gravity="center_horizontal"
android:textColor="#333"
android:textSize="18sp" />
【问题讨论】:
请添加更详细的描述或您遇到的错误/问题的输出,以便社区可以更好地帮助您。 简单地说:.getId() 和 getName - 找不到函数。 【参考方案1】:下面是我从FB获取一些信息的示例代码,记得声明权限并从onComplete方法获取结果:
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>()
@Override
public void onSuccess(LoginResult loginResult)
LoginManager.getInstance().logInWithReadPermissions(MainActivity.this,
Arrays.asList("user_friends","user_location","user_birthday","user_likes","user_photos"));
GraphRequest request = GraphRequest.newMeRequest(
AccessToken.getCurrentAccessToken(),
new GraphRequest.GraphJSONObjectCallback()
@Override
public void onCompleted(JSONObject object, GraphResponse response)
String strName = object.optString("name");
name.setText(strName);
String strBirthday = object.optString("birthday");
birthday.setText(strBirthday);
String strLocation = object.optString("location");
try
JSONObject objLocation = new JSONObject(strLocation);
String locationName = objLocation.optString("name");
location.setText(locationName);
catch (JSONException e)
e.printStackTrace();
profilePictureView.setProfileId(object.optString("id"));
);
【讨论】:
以上是关于获取 ProfilePictureView Android Studio 的数据的主要内容,如果未能解决你的问题,请参考以下文章
如何将ProfilePictureView更改为圆形图像。 Drawable无法正常工作
如何获取标记为 Tag1 AND Tag2 AND ... 的所有项目以获取 3 表标记解决方案
在 Mongoose 中使用 AND 从两个 OR 查询中获取结果