Firebase one to one chat

吃可爱长大的小学妹 提交于 2019-12-21 16:48:12

问题


I am building a simple chat application in android with Firebase as backend.
ref3.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot snapshot) {
                Map<String, Object> users = (Map<String, Object>) snapshot.getValue();
                System.out.println(users.values().toString());
                Set s = users.entrySet();
                Iterator itr = s.iterator();
                while (itr.hasNext()) {
                    Map.Entry m = (Map.Entry) itr.next();
                    m.getKey();
                    String myval = m.getValue().toString();
                    String spmyval[] = myval.split(", ");

                    System.out.println(spmyval[0] + " <-sp0 sp1-> " + spmyval[1]);
                    list=new ArrayList();

                    a1 = spmyval[0].split("=");

                    Cursor cur = getContentResolver().query(
                            ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
                    if (cur.getCount() > 0) {
                        while (cur.moveToNext()) {

                            // read id
                            String id = cur.getString(cur
                                    .getColumnIndex(ContactsContract.Contacts._ID));
                            /** read names **/
                            displayName = cur
                                    .getString(cur
                                            .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));

                            System.out.println("DISPLAYNAMESssss:!!!!!!!!!!!!!!"+displayName+"::::::::");


                            /** Phone Numbers **/
                            Cursor pCur = getContentResolver().query(
                                    ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                                    null,
                                    ContactsContract.CommonDataKinds.Phone.CONTACT_ID
                                            + " = ?", new String[]{id}, null);


                            String typeStr = null;
                            int i=0;
                            while (pCur.moveToNext()) {

                                num = pCur
                                        .getString(pCur
                                                .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                                number1=new String[]{num};

                                Log.e("Number by pavan",i +" " + number1[i]);
                                typeStr = pCur
                                        .getString(pCur
                                                .getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));

                                if(a1[1].equals(number1[i].replaceAll("[^\\d.]", ""))) {
                                    Log.e("COMMON:", a1[1]);




                                    i++;
                                }
                            }

                            pCur.close();




                        }
                    }

I have registration page set up such that the users' contact details get stored under UID(genrated by firebase). I have retrieved the common contacts using the code above. I require the user to send a push message to that common number. However I am not able to find a way to retrace the UID of which the number belongs to. I am retrieving common number so that I get a list of friends who are using my Application. So I am confused if I Should hard code this or write in API. Please give me an example if anyone has a solution

来源:https://stackoverflow.com/questions/27416894/firebase-one-to-one-chat

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!