将获取的联系人列表进行过滤并转换成json

核心代码如下:

/**
* @param context
*            当前Activity
* @return
*/
public static List<KingdomContact> getAllContact(Context context) {
List<KingdomContact> list = new ArrayList<KingdomContact>();
Cursor cursor = context.getContentResolver().query(
ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
Log.v("cursor.size", "" + cursor.getCount());
while (cursor.moveToNext()) {
//KingdomContact kingdomContact = new KingdomContact();
int nameFieldColumnIndex = cursor
.getColumnIndex(PhoneLookup.DISPLAY_NAME);
String contact = cursor.getString(nameFieldColumnIndex);
String emailAddr = "";
String contactId = cursor.getString(cursor
.getColumnIndex(ContactsContract.Contacts._ID));
Cursor emailCur = context.getContentResolver().query(
ContactsContract.CommonDataKinds.Email.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = "
+ contactId, null, null);
emailCur.getColumnCount();
while ( emailCur.moveToNext() ) {
KingdomContact kingdomContact = new KingdomContact();
   // This would allow you get several email addresses
           // if the email addresses were stored in an array
emailAddr = emailCur.getString(
                     emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
String emailType = emailCur.getString(
                     emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE)); 
if( emailAddr != "" || emailAddr != null ) {
kingdomContact.setName(contact);
kingdomContact.setEmailAddr(emailAddr);
}
list.add(kingdomContact);
Log.v("getAllContact email", "" + kingdomContact.getEmailAddr());
}
// if (emails.moveToNext()) {
// emailAddr = emails
// .getString(emails
// .getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));// ContactsContract.CommonDataKinds.CommonDataColumns.DATA
// }
emailCur.close();
// kingdomContact.setName(contact);
// kingdomContact.setEmailAddr(emailAddr);
// list.add(kingdomContact);
// Log.v("getAllContact email", "" + kingdomContact.getEmailAddr());
}
cursor.close();
return list;
}











mKingdomContactList = KingdomContactUtil.getAllContact(this);

JSONArray jsonArray = new JSONArray();


try {
for (int i = 0; i < mKingdomContactList.size(); i++) {
JSONObject jsonObj1 = new JSONObject();
mKingdomContact = mKingdomContactList.get(i);
if( mKingdomContact.getEmailAddr()!= "" ) {
jsonObj1.put("name", mKingdomContact.getName());
jsonObj1.put("email", mKingdomContact.getEmailAddr());
mJson = jsonArray.put(jsonObj1).toString();
}
}
if(DEBUG)Log.v(TAG, "mJson=" + mJson);
} catch (JSONException e) {
e.printStackTrace();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值