回答
在你的活動,你需要的網址下載圖片。使用以下方法(請確保此代碼必須在該活動中,您要下載的圖片):
private class DownloadProfilePicture extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
try {
InputStream in = null;
int response = -1;
URL url = "your image url";
URLConnection conn = null;
HttpURLConnection httpConn = null;
conn = url.openConnection();
if (!(conn instanceof HttpURLConnection))
throw new IOException("Not an HTTP connection");
httpConn = (HttpURLConnection) conn;
httpConn.setAllowUserInteraction(false);
httpConn.setInstanceFollowRedirects(true);
httpConn.setRequestMethod("GET");
httpConn.connect();
response = httpConn.getResponseCode();
if (response == HttpURLConnection.HTTP_OK) {
in = httpConn.getInputStream();
}
if (in != null && in.available() > 807) {
yourBitmaptype.setBitmap(
BitmapFactory.decodeStream(in));
} else {
users.get(screenName).setBitmap(
BitmapFactory.decodeResource(getResources(),
R.drawable.default_profile_pic));
}
in.close();
in = null;
} catch (Exception e) {
users.get(temp).setBitmap(
BitmapFactory.decodeResource(getResources(),
R.drawable.default_profile_pic));
Log.e(TAG, "Downloading Image Exception.. Using default");
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
// use post execute logic
super.onPostExecute(result);
}
@Override
protected void onPreExecute() {
// use pre execute logic
super.onPreExecute();
}
}
和onCreate()
稱呼其爲new DownloadProfilePicture().execute();
謝謝!我想我找到了一個更好的方法。 – rockydgeekgod 2012-07-08 05:17:09
如何獲取上次插入的聯繫人ID。請給我那個代碼 – AndroidRaji 2012-12-20 12:24:36
試試下面的代碼:
private void setContactInfo(long id){
Bitmap photoBitmap = null;
Uri contactUri = ContentUris.withAppendedId(
ContactsContract.Contacts.CONTENT_URI, id);
Cursor cursor = managedQuery(contactUri, null, null, null, null);
cursor.moveToFirst();
contact_text.setText(cursor.getString(cursor
.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)));//contact.text is a textView used to displays the contact name
String id = getIntent().getData().getLastPathSegment();
// Photo cursor
String photoWhere = ContactsContract.Data.CONTACT_ID + " = ? AND "
+ ContactsContract.Data.MIMETYPE + " = ?";
String[] photoWhereParams = new String[] { id,
ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE };
Cursor photoCur = managedQuery(ContactsContract.Data.CONTENT_URI, null,
photoWhere, photoWhereParams, null);
photoCur.moveToFirst();
if (photoCur.moveToFirst() && photoCur != null) {
byte[] photoBlob = photoCur.getBlob(photoCur
.getColumnIndex(Photo.PHOTO));
if (photoBlob != null) {
photoBitmap = BitmapFactory.decodeByteArray(photoBlob, 0,
photoBlob.length);
contact_image.setImageBitmap(photoBitmap);//contact_image is an ImageView
} else {
photoBitmap = BitmapFactory.decodeResource(getResources(),
android.R.drawable.ic_menu_report_image);//android.R.drawable.ic_menu_report_image is the default image if a Contact doesn't have any image stored
contact_image.setImageBitmap(photoBitmap);
}
}
cursor.close;
photoCur.close;
}
希望這會有所幫助。
謝謝!我想我找到了一個更好的方法。 – rockydgeekgod 2012-07-08 05:09:31
如果您觀察我發佈的代碼與您的代碼相同,並且我還處理了聯繫人圖片不可用的情況。 – 2012-07-08 06:30:18
是的,它給出了一個默認圖片,不是嗎? – rockydgeekgod 2012-07-08 07:12:09
private ByteArrayInputStream getPhoto()
{
Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, id);
Uri photoUri = Uri.withAppendedPath(contactUri, Contacts.Photo.CONTENT_DIRECTORY);
Cursor cursor = getContentResolver().query(photoUri, new String[] {ContactsContract.CommonDataKinds.Photo.PHOTO}, null, null, null);
if (cursor == null) {
return null;
}
try
{
if (cursor.moveToFirst())
{
byte[] data = cursor.getBlob(0);
if (data != null)
{
return new ByteArrayInputStream(data);
}
}
}
finally
{
cursor.close();
}
return null;
}
這是我的代碼。這是工作。
- 1. 使用聯繫人ID設置聯繫人圖片
- 2. 如何使用Ionic聯繫人顯示聯繫人圖片
- 3. Google聯繫人API:如何獲取google api聯繫人圖片?
- 4. Android應用:從聯繫人列表中檢索「我」聯繫人
- 5. 無法檢索gmail聯繫人照片
- 6. 檢索聯繫人指出
- 7. 如何獲取Android聯繫人列表上聯繫人的ID?
- 8. iPhone聯繫人圖片
- 9. Google聯繫人每個聯繫人的API檢索組名稱
- 10. 谷歌聯繫人API PHP捲曲檢索聯繫人
- 11. 檢索聯繫人時出現重複聯繫人問題
- 12. CNContact保存聯繫人時不會發送聯繫人圖片
- 13. 使用gdata.contacts.client和oauth2檢索聯繫人
- 14. 使用Zend檢索Google聯繫人
- 15. 如何檢索聯繫人的生日?
- 16. 如何爲聯繫人添加圖片?
- 17. 如何使用聯繫人框架保存聯繫人
- 18. Xcode顯示聯繫人卡片(聯繫人應用程序)
- 19. 當我點擊聯繫人時,如何檢索聯繫人的詳細信息?
- 20. 谷歌聯繫人:唯一聯繫人?
- 21. 在聯繫人插入獲取聯繫人ID
- 22. Android:聯繫人的Facebook ID
- 23. 如何在插入聯繫人後禁用聯繫人顯示
- 24. 獲取聯繫人照片
- 25. BlackBerry聯繫人照片
- 26. 如何檢索電報聯繫人的照片?
- 27. 使用集合從聯繫人ID中檢索聯繫人詳細信息選擇
- 28. 檢索谷歌聯繫人資料圖片
- 29. 無法使用聯繫人框架創建聯繫人的電子名片
- 30. 如何在Windows Phone聯繫人列表中獲取聯繫人的ID?
你試過了嗎?張貼你的代碼.. – 2012-07-07 18:23:18