2011-09-11 13 views
3

私はアンドロイド2.2の連絡先の詳細から誕生日の日付を取得しようとしています。Android 2.2 Contact Birthday Date

はここに私のコードです:それは何かのように思える

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     TextView contactView = (TextView) findViewById(R.id.contactview); 

     Cursor cursor = getContacts(); 
     while (cursor.moveToNext()) { 

      String displayBirthday = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Event.START_DATE)); 
      contactView.append("Birthday: "); 
      contactView.append(displayBirthday); 
      contactView.append("\n"); 
     } 

    } 

    private Cursor getContacts() { 
     // Run query 
     Uri uri = ContactsContract.Data.CONTENT_URI; 

     String[] projection = new String[] { 
       ContactsContract.Contacts.DISPLAY_NAME, 
       ContactsContract.CommonDataKinds.Event.CONTACT_ID, 
       ContactsContract.CommonDataKinds.Event.START_DATE 
     }; 

     String where = 
       ContactsContract.Data.MIMETYPE + "= ? AND " + 
       ContactsContract.CommonDataKinds.Event.TYPE + "=" + ContactsContract.CommonDataKinds.Event.TYPE_BIRTHDAY; 
     String[] selectionArgs = new String[] {ContactsContract.CommonDataKinds.Event.CONTENT_ITEM_TYPE}; 
     String sortOrder = null; 
     return managedQuery(uri, projection, where, selectionArgs, sortOrder); 
    } 

このコードが間違っている、私は、画面上の任意の出力を得ることはありません。

誰かが私に私のクエリで間違っているものをいくつかのヒントを与えることができます私は、おかげでたくさんのAndroidManifest.xml

を中に追加しています。

敬具、 ジョニー

答えて

3

私はあなたのコードを実行し、正常に動作するようです。 enter image description here

:ここ

は、スクリーンショットSGS 2.3.3ここ

出力のスクリーンショットです