Nir*_*Raj 5 android parse-platform
我正在 android 中创建一个应用程序,允许用户搜索在该应用程序中注册的其他用户。
在进入应用程序之前,每个用户都被要求输入一组详细信息,例如“出生日期”。这些数据直接存储在用户类中。
我的要求是,如果用户输入用户名并进行搜索,他必须能够查看该特定用户的所有可用详细信息。例如:假设每个用户都必须有一个电子邮件(字符串)和出生日期(字符串)。用户搜索姓名“约翰”。查询应该是什么,以便我可以检索用户名为“John”的用户的电子邮件和 DOB。
Parse.com 指南中给出的数据是
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereEqualTo("username", name);
query.findInBackground(new FindCallback<ParseUser>() {
public void done(List<ParseUser> objects, ParseException e) {
if (e == null) {
Toast.makeText(getApplicationContext(),"Query Success",Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(),"Query Not Successful",Toast.LENGTH_LONG).show();
}
}
});
Run Code Online (Sandbox Code Playgroud)
我需要做出哪些改变才能实现我的目标?
如何访问存储在对象中的字符串?
如果我从查询中检索到多条记录,我该如何处理?
我已经像这样编辑了我的查询
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereMatches("username", name);
query.findInBackground(new FindCallback<ParseUser>() {
public void done(List<ParseUser> objects, ParseException e) {
if (e == null) {
for(ParseUser singleobject:objects){
String mail=singleobject.get("email").toString();
Toast.makeText(getApplicationContext(),mail,Toast.LENGTH_LONG).show();}
} else {
Toast.makeText(getApplicationContext(),"Query Not Successful",Toast.LENGTH_LONG).show();
}
}
});
Run Code Online (Sandbox Code Playgroud)
不会生成 toast,但会毫无例外地执行查询。
循环语句是正确的还是我做错了什么??
- 为了实现我的目标,我需要做出哪些改变?
该代码看起来正确地查询 ParseUser 以获取用户名的精确匹配。要更宽松地匹配,请考虑使用whereMatches
- 如何访问存储在对象内部的字符串?
Parse.ObjectgetString()根据属性类型提供以及其他“获取”变体。
- 如果我从查询中检索多条记录,我该如何处理?
完成处理程序的“objects”参数findInBackground是一个数组,其中包含零个或多个查询匹配项。像处理其他数组一样处理该数组。
| 归档时间: |
|
| 查看次数: |
885 次 |
| 最近记录: |