- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试检索我在用户首次创建帐户时添加的“位置”字段。位置字段只是另一个字段,如“用户名”或“电子邮件”。我知道您可以使用以下方式获取一个字段:
ParseQuery<ParseObject> query = ParseQuery.getQuery("GameScore");
query.whereEqualTo("playerEmail", "dstemkoski@example.com");
query.getFirstInBackground(new GetCallback<ParseObject>() {
public void done(ParseObject object, ParseException e) {
if (object == null) {
Log.d("score", "The getFirst request failed.");
} else {
Log.d("score", "Retrieved the object.");
}
}
});
上述方法的问题是我不知道位置是什么,因为每个用户的位置都不同,并且有 50 个不同的位置,所以我不能使用 whereEqualTo 方法。我只需要我的 ParseUsers 的位置字段中的信息,然后能够将其显示在 toast 或 ListView 中。
更新:
这是我在 onResume
方法中的 ListView 和适配器:
mCurrentUser = ParseUser.getCurrentUser();
mFriendsRelation = mCurrentUser
.getRelation(ParseConstants.KEY_FRIENDS_RELATION);
ParseQuery<ParseUser> query = mFriendsRelation.getQuery();
query.addAscendingOrder(ParseConstants.KEY_USERNAME);
query.findInBackground(new FindCallback<ParseUser>() {
@Override
public void done(List<ParseUser> friends, ParseException e) {
setProgressBarIndeterminateVisibility(false);
if (e == null) {
mFriends = friends;
String[] usernames = new String[mFriends.size()];
int i = 0;
for (ParseUser user : mFriends) {
usernames[i] = user.getUsername();
i++;
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
getListView().getContext(),
android.R.layout.simple_list_item_1, usernames);
setListAdapter(adapter);
} else {
// log error
// left out to cut out code length
}
}
});
这是我尝试过的:final Object o = getListView().getItemAtPosition(position);
//字符串用户=(字符串)o;
ParseUser 用户 = (ParseUser) o;
String loc = (String) user.get("位置");
Toast.makeText(Friends.this,"位置是"+ loc, Toast.LENGTH_LONG).show();
并得到错误 cannot be cast to com.parse.ParseUser
for the line ParseUser user = (ParseUser) o;
最佳答案
有很多选项,大部分引用您的onListItemClick
函数:将用户名作为字符串包含(因为这就是您要构建的内容)以查找您需要的用户详细信息(作为新查询),引用属于该用户的位置(String[] locations = new String[ mFriends.size()];
),或者用两个字段(用户名和位置)构建您的数组/显示您的列表
首选引用位置,因为它避免了另一个查询。
使用第二个查询获取有关点击的详细信息 - 确保您的用户名是唯一的并使用您发布的原始“获取字段”查询 - 请参阅 https://parse.com/docs/js/guide#users-querying和 https://parse.com/docs/js/api/classes/Parse.Query.html
另请参阅:https://parse.com/questions/android-how-to-access-fields-when-using-findinbackground
private void findUserLocation(String username) {
ParseQuery<ParseUser> query = ParseQuery.getQuery();
query.whereEqualTo("username", username);
...
query.findInBackground(new FindCallback<ParseUser>() {
@Override
public void done(List<ParseUser> users, ParseException e) {
...
//stores locations for all users that match the username
String[] locations = new String[users.size()];
for (ParseUser user : users) {
locations[i] = user.getString("location");
i++;
}
...
引用位置时 - 您可以将其存储在原始 for
循环中,例如locations[i] = user.get("location");
然后在你的点击函数中检索它 String loc = locations[position];
在所有情况下,您都需要在存储时和/或显示它之前(取决于您的应用程序)检查 location
字段是否已定义/是否为空
关于java - 在 ParseUser 中检索自定义字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26445091/
有没有办法将 ParseUser 保存到手机中,以便下次用户可以在没有网络连接的情况下登录。我已经在 https://parse.com/docs/android/api/com/parse/Pars
我在启用本地数据存储时开始出现此错误。我不知道如何解决它。我正在查看文档,但到目前为止什么也没发现……应用程序没有崩溃,但显然大部分时间都无法将任何内容保存到用户对象。 05-03 02:17:24.
我正在尝试获取已加入群组的用户的 ParseRelation。在我添加使用 Facebook 登录之前,我没有问题。现在,在尝试将用户添加到关系然后保存 ParseObject 时,出现“无法保存未经
尝试在云代码中注册或更新 ParseUser 时,我收到错误响应“用户对象不允许来自其他用户的写入”。正如 Parse 团队指定的那样,我正在使用 Parse.Cloud.useMasterKey()
我是 parseUser 的子类,所以当我寻找我使用的用户时: query.getFirstInBackground(new GetCallback() { @Override
我正在尝试更新 ParseUser 中的字段,并且我正在使用外部库将 Parse 与 Java 结合使用。即使我获得 ParseUser 对象并且可以使用 getEmail()、getUsername
我使用 parse.com 作为我的应用程序的后端服务。因此,我在我的应用程序中编写了一个注册/登录部分,其中:+ 我可以输入新的用户电子邮件+密码+ 并使用这些凭据反复注销和登录。 到目前为止,一切
编写一个小代码 fragment ,其中 ParseUser 在满足某些条件后注销。有时它工作得很好,有时它会抛出如下所示的类转换期望 java.lang.classcastexception: or
在使用解析时,我试图保存一个 的ArrayList 在特定 ParseObject 的“键”的“值”中。根据我的理解,这是可能的,我只需传入 ArrayList 作为值并调用 saveInBackgr
我正在尝试检索我在用户首次创建帐户时添加的“位置”字段。位置字段只是另一个字段,如“用户名”或“电子邮件”。我知道您可以使用以下方式获取一个字段: ParseQuery query = ParseQu
您好,我想知道为什么这段代码不起作用。我正在尝试查询 ParseUser 的用户名字段以查找某个用户,但它一直说找不到它。 private void findUserName(String user)
我正在尝试使用个人资料图片进行注册 Activity ,但我收到一条错误消息:无法对未保存的解析文件进行编码。我在另一个类中有相同的代码,它没有任何问题。 我认为问题可能在于使用 ParseUser
我正在使用 ParseUser 进行用户管理。有了用户名(唯一),我计划查询 User 类以识别用户,然后将新分数放入“分数”字段,就像排行榜一样。编码如下: 代码: public void upda
我可以很好地登录用户,并显示用户名。 get("username"); echo $currentUser; ?> second page 但是当我将用户导航到同一服务器上的另一个页面并检查当前用户时
您好,我正在为用户使用 Parse API 的数据库,我想知道如何获取实际的 ParseUser 对象,以便我可以向其添加字段?我是否必须先查询以获取 id,然后再以这种方式检索 obejct?如 P
我试图在 authData 字段 android 中保存数据,但出现异常:仅读取用户后无法保存未经身份验证的 ParseUser” ParseQuery query = ParseUser.getQu
我是 Parse 新手,想知道是否有任何方法可以将给定 ParseUser 的所有 ParseFiles(在本例中为图像)存储到 ArrayList 之类的内容中? 这是我的代码: public Ar
我正在使用 Parse 在注册页面中保存移动应用程序中的数据。我的对象中有一个类型为"file"、名为“照片”的字段,它从相机或手机图库中获取图像。 我的对象名为“User”(已经存在 - Parse
我在 Android Studio 上有一个 Parse Starter 应用程序(从 Parse 的 github 下载),并且我正在使用 Heroku yo 有 Parse Server。 我可以
我想以 ParseUser 身份登录。一切正常,但在第二次单击按钮 Log in 后。 private void openMainActivity(boolean loggedIn) { if
我是一名优秀的程序员,十分优秀!