我正在尝试将用户已经记录在我的parse.com数据库中的信息检索到应用程序中。我已经研究过,并且已经获得了帮助,但仍然遇到了实现这一目标的问题。特别是,没有显示任何信息。
此外,我还建立了一些条件,例如将限制设置为5人,以及无法检索当前用户信息的位置。
以下是代码
public class MatchingActivity extends Activity {
protected ParseUser mCurrentUser;
protected List<ParseUser> mUsers;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.matching);
// Instantiate a QueryFactory to define the ParseQuery to be used for fetching items in this
// Adapter.
ParseQueryAdapter.QueryFactory<ParseObject> factory =
new ParseQueryAdapter.QueryFactory<ParseObject>() {
public ParseQuery create() {
ParseQuery<ParseUser> query = new ParseQuery<ParseUser>("User");
query.setLimit(5);
query.orderByDescending("name");
return query;
}
};
// Pass the factory into the ParseQueryAdapter's constructor.
ParseQueryAdapter<ParseObject> adapter = new ParseQueryAdapter<ParseObject>(this, factory);
adapter.setTextKey("name");
// callback to be fired upon successful loading of a new set of ParseObjects.
adapter.addOnQueryLoadListener(new OnQueryLoadListener<ParseObject>() {
@Override
public void onLoading() {
// Trigger any "loading" UI
}
@Override
public void onLoaded(List<ParseObject> objects, Exception e) {
// TODO Auto-generated method stub
}
});
// Layout reference
ListView listView = (ListView) findViewById(R.id.listViewSingleClick);
listView.setAdapter(adapter);
}
}
XML布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/listViewSingleClick"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
更新 在parsequery和xml listview之间建立关系
public class MatchingActivity extends Activity {
protected ParseUser mCurrentUser;
protected List<ParseUser> mUsers;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Parse.initialize(this, "SBNldSjuNL1F7IOj0OWpwenBWRF7rSkjkm8WFQJj", "DLvq1OqSo87kzEw5j1XNBPKJdXF7dxwRtfEPkxWJ");
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.matching);
// Instantiate a QueryFactory to define the ParseQuery to be used for fetching items in this
// Adapter.
ParseQuery<ParseUser> query = new ParseQuery<ParseUser>("User");
query.setLimit(5);
query.orderByDescending("name");
query.findInBackground(new FindCallback<ParseUser>() {
public void done(List<ParseUser> objects, ParseException e) {
if (e == null) {
// The query was successful.
} else {
// Something went wrong.
}
}
});
}
}
如果您需要任何澄清,请提出建议。 任何帮助将不胜感激。 提前致谢
答案 0 :(得分:0)
要查询用户,您需要使用ParseUser.getQuery()方法。