Java 查询以在一行代码中获取电子邮件、联系人姓名和号码

Java 查询以在一行代码中获取电子邮件、联系人姓名和号码,java,android,xml,eclipse,Java,Android,Xml,Eclipse,使用游标Cursor=getContentResolver()为nullim .query(contactUri,projection,null,null,null);获取已单击联系人的数量。是否可以使用此查询获取电子邮件、号码和姓名。同时? 我们可以这样做吗?如下图所示 String[] projection = {Phone.NUMBER}; String[] projection1 = {Email.DATA};

使用游标Cursor=getContentResolver()为nullim .query(contactUri,projection,null,null,null);获取已单击联系人的数量。是否可以使用此查询获取电子邮件、号码和姓名。同时? 我们可以这样做吗?如下图所示

                 String[] projection = {Phone.NUMBER};
             String[] projection1 = {Email.DATA};
             String[] projection2 = {Contacts.DISPLAY_NAME};
                 Cursor cursor = getContentResolver().
                 query(contactUri, projection, null,projection1,projection2);
             cursor.moveToFirst();
                 int column = cursor.getColumnIndex(Phone.NUMBER);
             int column1 = cursor.getColumnIndex(Email.DATA);
             int column2= cursor.getColumnIndex(Contacts.DISPLAY_NAME);
             String number = cursor.getString(column);
             String email1 = cursor.getString(column1);
             String name1 = cursor.getString(column2)
这可能吗

现在是这样吗

   String[] projection = {Phone.NUMBER, Email.ADDRESS, Contacts.DISPLAY_NAME};
   Cursor cursor = getContentResolver().
             query(contactUri, projection, null,null,null);
         cursor.moveToFirst();
             int column = cursor.getColumnIndex(Phone.NUMBER);
         int column1 = cursor.getColumnIndex(Email.ADDRESS);
         int column2= cursor.getColumnIndex(Contacts.DISPLAY_NAME);
         String number = cursor.getString(column);
         String email1 = cursor.getString(column1);
         String name1 = cursor.getString(column2)


             editText3 = (EditText) findViewById(R.id.editText3);
             editText17 = (EditText) findViewById(R.id.editText17);
             editText3.setText(number); 
             editText17.setText(email1); 

文本框中只设置了电话号码 edittext3和edittext17都有手机号码?我做错了什么?
谢谢

您可以在一个数组中放置多个值:

String[] projection = {Phone.NUMBER, Email.DATA, Contacts.DISPLAY_NAME};

总而言之:

String[] projection = {Phone.NUMBER, Email.DATA, Contacts.DISPLAY_NAME};
Cursor cursor = getContentResolver().query(contactUri, projection, null, null, null);

int column = cursor.getColumnIndex(Phone.NUMBER);
int column1 = cursor.getColumnIndex(Email.DATA);
int column2= cursor.getColumnIndex(Contacts.DISPLAY_NAME);
if(cursor.moveToFirst()) { // Check if data exists
     String number = cursor.getString(column);
     String email1 = cursor.getString(column1);
     String name1 = cursor.getString(column2)
}

在文本框edittext3和edittext17中仅设置了电话号码是否都有手机号码?我做错了什么?谢谢,我正在获取姓名和号码,但在电子邮件的位置,号码ID再次出现:(尝试
email.ADDRESS
而不是
email.DATA
。不工作:(号码再次出现。实际上email.ADDRESS应该给出电子邮件地址i don no y它不工作吗?Uri contactUri=DATA.getData();