从android&;转换为JSON
如何从这些信息中获取所有信息,如主要和次要手机号码、电子邮件、传真、图像以及制作json数组从android&;转换为JSON,android,listview,android-contacts,Android,Listview,Android Contacts,如何从这些信息中获取所有信息,如主要和次要手机号码、电子邮件、传真、图像以及制作json数组 目前我可以获得primaryContact和一个姓名。我可以在自定义列表视图中显示它们,就像whats应用程序一样。您可以使用类似的内容阅读联系人,我在我的应用程序中使用了它,它正在工作: Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, n
目前我可以获得primaryContact和一个姓名。我可以在自定义列表视图中显示它们,就像whats应用程序一样。您可以使用类似的内容阅读联系人,我在我的应用程序中使用了它,它正在工作:
Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
if(光标!=null){
如果(cursor.getCount()>0){
String id=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataTypes.Phone.CONTACT_id));
字符串名称=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataTypes.Phone.DISPLAY_name));
String number=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataTypes.Phone.number));
}
}
}
下面是一些在服务器上发布数据的示例:
希望这些能对您有所帮助。您可以使用以下简单代码创建一个json对象:目前,我正在获取所有联系人的所有电话号码、电子邮件、组织详细信息和标题 注意:您需要阅读联系人权限 Kotlin中的代码:
private fun getContacts(): JsonArray {
val resolver: ContentResolver = contentResolver
val cursor = resolver.query(
ContactsContract.Contacts.CONTENT_URI, null, null, null,
null
)
val mainJsonArray: JsonArray = JsonArray()
if (cursor!!.count > 0) {
while (cursor.moveToNext()) {
val personJsonObj: JsonObject = JsonObject()
val id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID))
val name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME))
//val phoneNumber = (cursor.getString( cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER) )).toInt()
personJsonObj.addProperty("NAME", name.replace("\\", "\\\\").replace("'", "\\'").replace("\"", "\\\""))
val orgCursor = getContentResolver().query(
ContactsContract.Data.CONTENT_URI, null,
ContactsContract.Data.CONTACT_ID + "=?", arrayOf(id), null
)
val phoneJsonArray = JsonArray()
val emailJsonArray = JsonArray()
if (orgCursor!!.count > 0) {
while (orgCursor.moveToNext()) {
if (orgCursor!!.getString(orgCursor.getColumnIndex(ContactsContract.Data.MIMETYPE)).equals(
ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE
)
) {
val companyName = orgCursor.getString(orgCursor.getColumnIndex(ContactsContract.Data.DATA1))
val designation = orgCursor.getString(orgCursor.getColumnIndex(ContactsContract.Data.DATA4))
personJsonObj.addProperty(
"ORGANIZATION",
companyName.replace("\\", "\\\\").replace("'", "\\'").replace("\"", "\\\"")
)
personJsonObj.addProperty(
"DESIGNATION",
designation.replace("\\", "\\\\").replace("'", "\\'").replace("\"", "\\\"")
)
} else if (orgCursor!!.getString(orgCursor.getColumnIndex(ContactsContract.Data.MIMETYPE)).equals(
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE
)
) {
val phoneNum = orgCursor.getString(orgCursor.getColumnIndex(ContactsContract.Data.DATA1))
phoneJsonArray.add(phoneNum.replace(" ", "").replace("-", ""))
} else if (orgCursor!!.getString(orgCursor.getColumnIndex(ContactsContract.Data.MIMETYPE)).equals(
ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE
)
) {
val emailAddr = orgCursor.getString(orgCursor.getColumnIndex(ContactsContract.Data.DATA1))
emailJsonArray.add(emailAddr.replace(" ", ""))
}
}
}
orgCursor.close()
personJsonObj.add("EMAIL_LIST", emailJsonArray)
personJsonObj.add("PHONE_NUMBERS", phoneJsonArray)
mainJsonArray.add(personJsonObj)
}
}
cursor.close()
return mainJsonArray
}
[{
"NAME": "Test User Test User Last Name",
"ORGANIZATION": "Some Company",
"DESIGNATION": "Associate",
"EMAIL_LIST": ["testuser@organiztion.com", "testuser1@org.com"],
"PHONE_NUMBERS": ["123456789", "9808776"]
}, {
"NAME": "User One",
"ORGANIZATION": "Test Company",
"DESIGNATION": "Owner",
"EMAIL_LIST": ["abc1@test.com", "abc2@test.com", "abc3@test.com", "abc4@test.com"],
"PHONE_NUMBERS": ["7777", "8888", "9999"]
}]
结果JsonArray:
private fun getContacts(): JsonArray {
val resolver: ContentResolver = contentResolver
val cursor = resolver.query(
ContactsContract.Contacts.CONTENT_URI, null, null, null,
null
)
val mainJsonArray: JsonArray = JsonArray()
if (cursor!!.count > 0) {
while (cursor.moveToNext()) {
val personJsonObj: JsonObject = JsonObject()
val id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID))
val name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME))
//val phoneNumber = (cursor.getString( cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER) )).toInt()
personJsonObj.addProperty("NAME", name.replace("\\", "\\\\").replace("'", "\\'").replace("\"", "\\\""))
val orgCursor = getContentResolver().query(
ContactsContract.Data.CONTENT_URI, null,
ContactsContract.Data.CONTACT_ID + "=?", arrayOf(id), null
)
val phoneJsonArray = JsonArray()
val emailJsonArray = JsonArray()
if (orgCursor!!.count > 0) {
while (orgCursor.moveToNext()) {
if (orgCursor!!.getString(orgCursor.getColumnIndex(ContactsContract.Data.MIMETYPE)).equals(
ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE
)
) {
val companyName = orgCursor.getString(orgCursor.getColumnIndex(ContactsContract.Data.DATA1))
val designation = orgCursor.getString(orgCursor.getColumnIndex(ContactsContract.Data.DATA4))
personJsonObj.addProperty(
"ORGANIZATION",
companyName.replace("\\", "\\\\").replace("'", "\\'").replace("\"", "\\\"")
)
personJsonObj.addProperty(
"DESIGNATION",
designation.replace("\\", "\\\\").replace("'", "\\'").replace("\"", "\\\"")
)
} else if (orgCursor!!.getString(orgCursor.getColumnIndex(ContactsContract.Data.MIMETYPE)).equals(
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE
)
) {
val phoneNum = orgCursor.getString(orgCursor.getColumnIndex(ContactsContract.Data.DATA1))
phoneJsonArray.add(phoneNum.replace(" ", "").replace("-", ""))
} else if (orgCursor!!.getString(orgCursor.getColumnIndex(ContactsContract.Data.MIMETYPE)).equals(
ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE
)
) {
val emailAddr = orgCursor.getString(orgCursor.getColumnIndex(ContactsContract.Data.DATA1))
emailJsonArray.add(emailAddr.replace(" ", ""))
}
}
}
orgCursor.close()
personJsonObj.add("EMAIL_LIST", emailJsonArray)
personJsonObj.add("PHONE_NUMBERS", phoneJsonArray)
mainJsonArray.add(personJsonObj)
}
}
cursor.close()
return mainJsonArray
}
[{
"NAME": "Test User Test User Last Name",
"ORGANIZATION": "Some Company",
"DESIGNATION": "Associate",
"EMAIL_LIST": ["testuser@organiztion.com", "testuser1@org.com"],
"PHONE_NUMBERS": ["123456789", "9808776"]
}, {
"NAME": "User One",
"ORGANIZATION": "Test Company",
"DESIGNATION": "Owner",
"EMAIL_LIST": ["abc1@test.com", "abc2@test.com", "abc3@test.com", "abc4@test.com"],
"PHONE_NUMBERS": ["7777", "8888", "9999"]
}]
为什么要将其转换为JSON?您可以从手机中读取联系人(姓名、号码等),并将其显示在listviewHello Yupi中,感谢您的快速回复。。。我需要将他们(联系人)发送到服务器