EX05_10.java
上传用户:vip_99
上传日期:2021-03-27
资源大小:61159k
文件大小:3k
源码类别:

android开发

开发平台:

Java

  1. package irdc.EX05_10;
  2. import android.app.Activity; 
  3. import android.content.Intent; 
  4. import android.os.Bundle; 
  5. /*必须引用database.Cursor,Contacts.People
  6. 与 net.uri等类来使用联系人数据*/
  7. import android.database.Cursor; 
  8. import android.net.Uri; 
  9. import android.provider.Contacts.People; 
  10. import android.view.View; 
  11. import android.widget.Button; 
  12. import android.widget.EditText;
  13. import android.widget.TextView; 
  14. public class EX05_10 extends Activity 
  15.   /*声明四个UI变量与一个常数作为Activity接收返回值用*/
  16.   private TextView mTextView01; 
  17.   private Button mButton01;
  18.   private EditText mEditText01;
  19.   private EditText mEditText02;
  20.   private static final int PICK_CONTACT_SUBACTIVITY = 2; 
  21.    
  22.   /** Called when the activity is first created. */ 
  23.   @Override 
  24.   public void onCreate(Bundle savedInstanceState) 
  25.   { 
  26.     super.onCreate(savedInstanceState); 
  27.     setContentView(R.layout.main); 
  28.     
  29.     /*通过findViewById构造器来构造一个TextView,
  30.     两个EditText,一个Button对象**/
  31.     mTextView01 = (TextView)findViewById(R.id.myTextView1); 
  32.     mEditText01 = (EditText)findViewById(R.id.myEditText01);
  33.     mEditText02 = (EditText)findViewById(R.id.myEditText02);
  34.     mButton01 = (Button)findViewById(R.id.myButton1); 
  35.     
  36.     /*设置onClickListener 让用户点击Button时搜索联系人*/
  37.     mButton01.setOnClickListener(new Button.OnClickListener() 
  38.     { 
  39.       @Override 
  40.       public void onClick(View v) 
  41.       { 
  42.         // TODO Auto-generated method stub 
  43.         /*建构Uri来取得联系人的资源位置*/
  44.         Uri uri = Uri.parse("content://contacts/people"); 
  45.         /*通过Intent来取得联系人数据并返回所选的值*/
  46.         Intent intent = new Intent(Intent.ACTION_PICK, uri);
  47.         /*打开新的Activity并期望该Activity返回值*/
  48.         startActivityForResult(intent, PICK_CONTACT_SUBACTIVITY); 
  49.       } 
  50.     }); 
  51.   } 
  52.   
  53.   @Override 
  54.   protected void onActivityResult 
  55. (int requestCode, int resultCode, Intent data) 
  56.   { 
  57.     // TODO Auto-generated method stub 
  58.     switch (requestCode) 
  59.     {  
  60.       case PICK_CONTACT_SUBACTIVITY: 
  61.         final Uri uriRet = data.getData(); 
  62.         if(uriRet != null) 
  63.         { 
  64.           try 
  65.           { 
  66.             /* 必须要有android.permission.READ_CONTACTS权限 */ 
  67.             Cursor c = managedQuery(uriRet, null, null, null, null); 
  68.             /*将Cursor移到资料最前端*/
  69.             c.moveToFirst(); 
  70.             /*取得联系人的姓名*/
  71.             String strName =  
  72.             c.getString(c.getColumnIndexOrThrow(People.NAME)); 
  73.             /*取得联系人的电话*/
  74.             String strPhone =  
  75.             c.getString(c.getColumnIndexOrThrow(People.NUMBER)); 
  76.             /*将姓名与电话写入EditText01,EditText02中*/
  77.             mEditText01.setText(strName); 
  78.             mEditText02.setText(strPhone);
  79.           } 
  80.           catch(Exception e) 
  81.           { 
  82.             /*将错误信息在TextView中显示*/
  83.             mTextView01.setText(e.toString()); 
  84.             e.printStackTrace(); 
  85.           } 
  86.         } 
  87.         break; 
  88.     } 
  89.     super.onActivityResult(requestCode, resultCode, data); 
  90.   } 
  91. }