Pau*_*der 3 database android parse-platform pfquery parse-android-sdk
您好
我正在玩Parse,我已经设法创建了一个包含两个类/表,用户和帖子的云数据库,我能够注册和登录用户并允许他们发布数据库.
我现在正在尝试找出如何查询数据库并获取已发布的数据,我的帖子类/表由四列组成:ObjectID | 文字| 用户| createdAt |.
我希望能够在我的应用程序中选择并显示"文本"列中保存的所有数据.我的数据库经验非常少,很抱歉,如果这是一个愚蠢的问题.
代码到目前为止:
ParseQuery<ParseObject> query = ParseQuery.getQuery("Posts");
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> text, ParseException e) {
if (e == null) {
Toast.makeText(MainActivity.this, text.toString(), Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(MainActivity.this, "query error: " + e, Toast.LENGTH_LONG).show();
}
}
});
Run Code Online (Sandbox Code Playgroud)
我知道我需要将查询限制为仅来自'text'列的数据,所以我显然错过了第1行和第2行之间的一行代码.
任何帮助都将不胜感激.谢谢.
来自Parse API
您可以通过使用一组键调用selectKeys来限制返回的字段.要检索仅包含score和playerName字段的文档(以及特殊的内置字段,如objectId,createdAt和updatedAt):
Run Code Online (Sandbox Code Playgroud)ParseQuery<ParseObject> query = ParseQuery.getQuery("GameScore"); query.selectKeys(Arrays.asList("playerName", "score")); List<ParseObject> results = query.find();
因此,要只检索文本字段,您所要做的就是:
ParseQuery<ParseObject> query = ParseQuery.getQuery("Posts");
query.selectKeys(Arrays.asList("text"));
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> posts, ParseException e) {
if (e == null) {
List<String> postTexts = new ArrayList<String>();
for(ParseObject post : posts){
postTexts.add(post.getString("text"));
}
Toast.makeText(MainActivity.this, postTexts.toString(), Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(MainActivity.this, "query error: " + e, Toast.LENGTH_LONG).show();
}
}
});
Run Code Online (Sandbox Code Playgroud)
API 参考
Doc 参考(在标题'对数组值的查询'之前)
| 归档时间: |
|
| 查看次数: |
4340 次 |
| 最近记录: |