在parse.com中存储用户联系人

时间:2014-09-12 04:08:05

标签: android parse-platform

我正在抓取用户联系人&尝试使用此代码将其存储在parse.com仪表板中

public void readContacts(){
         ContentResolver cr = getContentResolver();
         Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null);

         if (cur.getCount() > 0) {
            while (cur.moveToNext()) {
                String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
                String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
                if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) ==1) {
                    System.out.println(name );
                    testObject.put("names", name);

                    // get the phone number
                    Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,
                                           ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
                                           new String[]{id}, null);
                    while (pCur.moveToNext()) {
                          String phone = pCur.getString(
                                 pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                         System.out.println( phone);
                        testObject.put("phonenumber", phone);

                    }
                    pCur.close();
                    testObject.saveInBackground();
    }
   }
  }
 }

我成功在logcat中打印这些联系人。

但是当我在parse.com仪表板(数据浏览器)中看到它时,它只添加一行,&每当我看到该行中的其他联系人被替换时,我点击刷新。

我想将1个联系人存储在一行,这是我无法实现的。

有谁可以说出错了什么?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我自己解决了,&发布我自己的问题的答案,以帮助未来的读者!

就我而言ParseObject testObject = new ParseObject("Contacts");  在全球宣布!

为了存储每个联系人,每次应该有不同的对象所以我在testObject.put("names", name);之前添加了上面的行