TourokuActivityでユーザー本人のメールアドレスを入力し、登録ボタンをタップすると ユーザのスマートフォンにある友人の名前の一覧が表示されるようにします。 まず、TourokuActivityのonClickTourokuメソッドのコメントアウトした部分を有効にします。 public void onClickTouroku(View v){ EditText edit=(EditText)findViewById(R.id.editText1); editMail= edit.getText().toString(); Intent intent=new Intent(TourokuActivity.this,InfoActivity.class); intent.putExtra("mailAddress",editMail); startActivity(intent); } //をとる。 InfoActivityとinfo.xmlを作成します. InfoActivityは次の通りです。 import java.io.*; import java.util.*; import android.app.Activity; import android.content.ContentResolver; import android.content.Intent; import android.database.Cursor; import android.os.Bundle; import android.provider.ContactsContract; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.TextView; public class InfoActivity extends Activity { public String[] listSample; public ArrayList mail =new ArrayList(); public String[] nickName; public ArrayList nick =new ArrayList(); public StringBuilder sb= new StringBuilder(); public String[] listSample_1; private ListView listView; private TextView text; String str=""; public String mailAddress; public String mailAddress_1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.info); //TourokuActivityでユーザーが入力したメールアドレスを取得してinfo.xmlにアウトプット Intent intent=getIntent(); mailAddress=intent.getStringExtra("mailAddress"); if(mailAddress.length()>8 ){ //登録文字数が8を越えたときのみ処理を行う。 mailAddress_1="発信::"+mailAddress; text=(TextView)findViewById(R.id.textView5); text.setText(mailAddress_1); }else{ return; } //ユーザーがスマートフォンに登録している友人の情報を取得 ContentResolver resolver = getContentResolver(); Cursor cursor = resolver.query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null); while(cursor.moveToNext()){ String contactsId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); String contactsMail = ""; String contactsName = ""; //mailが友人のメールアドレス、nick友人の名前 Cursor cMail = resolver.query( ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ? ", new String[]{contactsId}, null); while(cMail.moveToNext()) { contactsMail = cMail.getString(cMail.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA1)); contactsName = cMail.getString(cMail.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); mail.add(contactsMail); nick.add(contactsName); } cMail.close(); } //友人のメールアドレスをString[]型の配列 listSampeに変更 listSample=new String[mail.size()-1]; for(int i=0;i adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_multiple_choice,nickName); listView.setAdapter(adapter); } //以上により友人の名前のリストが表示される。 public void onClickTouroku(View v){ Intent intent=new Intent(InfoActivity.this,TourokuActivity.class); startActivity(intent); } public void onClickCancel(View v){ Intent intent=new Intent(InfoActivity.this,DefenceActivity.class); startActivity(intent); } } info.xmlは次の通りです。