2012-03-01 65 views
1

我已經創建了用戶手機中的聯繫人列表,現在我想添加用戶的照片(而不是從FB)如何創建? :d 這一塊我的代碼:將用戶的聯繫人的照片從手機添加到ListView? :D

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    ContentResolver cr = getContentResolver(); 
    Cursor cursor = cr.query(Uri.parse("content://sms/inbox"), null, null, 
      null, null); 

    int indexBody = cursor.getColumnIndex("body"); 
    int indexAddr = cursor.getColumnIndex("address"); 

    if (indexBody < 0 || !cursor.moveToFirst()) 
     return; 

    smsList.clear(); 

    do { 
     String str = "Sender : " + cursor.getString(indexAddr) + "\n" 
       + cursor.getString(indexBody); 
     smsList.add(str); 
     // ADDRESS[total] = cursor.getString(indexAddr); 
     // total++; 
    } while (cursor.moveToNext()); 

    ListView lvSms = (ListView) findViewById(R.id.SMSList); 
    lvSms.setAdapter(new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, smsList)); 

    // cursor.requery(); 
    lvSms.setOnItemClickListener(this); 
} 

我在此代碼創建列表:

do { 
     String str = "Sender : " + cursor.getString(indexAddr) + "\n" 
       + cursor.getString(indexBody); 
     smsList.add(str); 
     // ADDRESS[total] = cursor.getString(indexAddr); 
     // total++; 
    } while (cursor.moveToNext()); 

    ListView lvSms = (ListView) findViewById(R.id.SMSList); 
    lvSms.setAdapter(new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, smsList)); 

    // cursor.requery(); 
    lvSms.setOnItemClickListener(this); 

這就是所有,我發現我必須使用位圖,是真的嗎? 感謝所有:d

PS:英語不是我的母語的語,很抱歉,如果我做了一些錯誤的:使用此查詢d

回答

2
Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, 
       contactId); 
     Uri photoUri = Uri.withAppendedPath(contactUri, 
       Contacts.Photo.CONTENT_DIRECTORY); 
     Cursor cursor = getContentResolver().query(photoUri, null, null, null, 
       null); 

您可以在您的聯繫人提取圖片的網址爲您的用戶照片列表中,爲了與列表中的姓名和號碼一起顯示,您必須使用Base或任何其他自定義適配器。

+0

感謝:D我應該在哪裏實現這個代碼呢?因爲我已經有了一個從(「content:// sms/inbox」)獲取ContentConolver的遊標。這使我的應用程序沒有響應。請幫助,謝謝:D – 2012-03-01 10:15:29

+0

http://stackoverflow.com/questions/8634770/fetch-contact-photo-in-android-gives-null – Karthi 2012-03-01 10:47:16

+0

謝謝先生:D但我已經看到了,但我不明白它(我是初學者)謝謝:D – 2012-03-01 12:24:36