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

查看:25
本文介绍了通过 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
                }
            }
        }
    });
}

Listnumbers 将是用户地址簿中的电话号码列表.

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

一旦你有了 List 只需将它提供给 ArrayAdapter 或将它保存在本地数据库中,你的选择(我会选择数据库).

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天全站免登陆