通过Parse检索我的Android应用程序中与我的电话联系人列表匹配的用户列表 [英] Retrieving list of users in my Android App through Parse that match my Phone Contact List

查看:84
本文介绍了通过Parse检索我的Android应用程序中与我的电话联系人列表匹配的用户列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Parse开发一个Android聊天消息应用程序,其中在我成功完成的注册过程中保存了用户的电话号码,用户名和密码.现在,我要获取已保存在电话联系人"列表下且与他们的电话号码匹配的用户列表,并在列表视图中显示这些用户.我被困在编写Parse查询并在列表视图中显示获取的用户.

I am developing a Android Chat Messaging App Using Parse where I am saving user's phone number, username and password during the sign up process that I have completed successfully. Now I want to fetch the list of users already saved under the Phone Contact list matching their phone numbers and display the users in a list view. I am stuck of writing the Parse query and showing the fetched users in a list view.

我正在尝试下面的代码,但是还很头绪.

I am trying to play around the following code, but clueless yet.

ParseUser user1 = ParseUser.getCurrentUser();
ParseQuery<ParseUser> parseQuery = user1.getQuery();
parseQuery.whereEqualTo("PhoneNumber", some_ph_no_from_my_contact);
parseQuery.findInBackground(new FindCallback<ParseUser>() {

    @Override
    public void done(List<ParseUser> numberList, ParseException e) {
        // TODO Auto-generated method stub

        if(e == null){
            for (int i = 0; i < numberList.size(); i++) 
            {
                // What to do here?
            }
        }
        else{
            Log.d("userId", "Error: " + e.getMessage());
        }
    }
});

请帮助.

推荐答案

您可以使用OR查询:

public void getFriends(List<String> numbers) {
    List<ParseQuery<ParseUser>> queries = new ArrayList<ParseQuery<ParseUser>>();
    for (String number : numbers) {
        ParseQuery<ParseUser> parseQuery = ParseUser.getQuery();
        parseQuery.whereEqualTo("PhoneNumber", number);
        queries.add(parseQuery);
    }

    ParseQuery<ParseUser> userQuery = ParseQuery.or(queries);

    userQuery.findInBackground(new FindCallback<ParseUser>() {

        @Override
        public void done(List<ParseUser> numberList, ParseException e) {
            if (e == null) {
                for (int i = 0; i < numberList.size(); i++) {
                    // What to do here?

                    //Use this list of ParseUser (numberList) in an ArrayAdapter
                    //or save it in a database
                }
            }
        }
    });
}

List<String> numbers是用户通讯录中的电话号码列表.

List<String> numbers would be the list of phone numbers from the user's addressbook.

一旦您拥有List<ParseUser>,只需将其提供给ArrayAdapter<ParseUser>或将其保存在本地数据库中,就可以选择了(我会选择数据库).

Once you have the List<ParseUser> just feed it to an ArrayAdapter<ParseUser> or save it in a local database, your choise (I'd go with the database).

这篇关于通过Parse检索我的Android应用程序中与我的电话联系人列表匹配的用户列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆