Java 在Android中:如何检索我所有联系人的所有电话号码和所有电子邮件(主要、工作、其他)
我需要在json对象中检索具有所有电话号码、电子邮件ID的所有联系人,如(示例单个联系人对象): 我当前代码中的代码段如下所示:Java 在Android中:如何检索我所有联系人的所有电话号码和所有电子邮件(主要、工作、其他),java,android,android-contacts,Java,Android,Android Contacts,我需要在json对象中检索具有所有电话号码、电子邮件ID的所有联系人,如(示例单个联系人对象): 我当前代码中的代码段如下所示: String searchQuery = "_id > " + lastReadId; Cursor contactUrl = cContext.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,searchQuery,
String searchQuery = "_id > " + lastReadId;
Cursor contactUrl = cContext.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,searchQuery,null,"_id ASC");
Log.e(TAG, "getContact >> " + contactUrl.getCount());
while (contactUrl.moveToNext())
{
objChild = new JSONObject();
String name=contactUrl.getString(contactUrl.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String number=contactUrl.getString(contactUrl.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
int phoneContactID = contactUrl.getInt(contactUrl.getColumnIndex(ContactsContract.CommonDataKinds.Phone._ID));
int phone_type = contactUrl.getInt(contactUrl.getColumnIndex(Phone.TYPE));
objChild.put("name",name);
objChild.put("number",number);
objChild.put("phone_type", number);
Log.e(TAG, "objChild : " + objChild.toString());
我目前的联系方式如下:
无论我在stackoverflow中得到的代码是给我一个联系人电话号码还是多个联系人有多个号码(我可以处理相同的号码,但这需要很长时间,可能会导致性能问题)
我的要求是获取单个联系人的所有电话号码和电子邮件ID。我建议您在项目中使用JSON解析
步骤1
打开网站
Ste 2
在给定空间中复制/粘贴JSON字符串,并选择以下选项与Gson一起使用
- 根据需要输入packagename和classname
- 选择JSON作为源类型
- 选择Gson作为注释样式
Gson gson = new Gson();
List<PersonBean> details = gson.fromJson(strJsonData, PersonBean.class);
Gson-Gson=new-Gson();
List details=gson.fromJson(strJsonData,PersonBean.class);
参考资料:
JSON
还是从某个网站数据库获取的…你检查过我的解决方案吗?Hi@ChintanRathod:请注意你的回答,但我关心的不是JSON,我关心的是获取所有联系人的号码。e、 g我可以在同一联系人中添加200个号码和电子邮件。我需要所有这些信息。你能帮我查一下吗?@Mohit:这是我手工制作的json,我想用它来格式化我的联系人。我的问题不是json结构,而是获取联系人数据。你能在你的代码中显示你正在解析json的位置吗..我的意思是必须尝试简单的json解析并从中提取字符串..嗨,Chintan,请注意你的回答,但我关心的不是json,我关心的是获取所有联系人的号码。e、 g我可以在同一联系人中添加200个号码和电子邮件。我需要所有这些信息。你能帮我查一下吗?@SunnyKhanuja这会给你一张有电话和电子邮件的名单。使用此技术解析后将生成List和List。至少试一次。
Gson gson = new Gson();
List<PersonBean> details = gson.fromJson(strJsonData, PersonBean.class);