2012-04-11 3 views
2

連絡先から情報を取得する方法と、連絡先に情報を入力する方法を理解するのが苦労しています。誰もが学ぶ良い方法を知っていますか?ビットマップを連絡先イメージに設定する

とにかく、私の主な質問です。私はインターネット上で見つけたいくつかのランダムなコードから連絡先イメージを取得しましたが、今では私の連絡先に新しいビットマップイメージを設定したいと思います。連絡先(URIまたはContact_id)にはどのような情報が必要ですか。誰かが私に非常に基本的でシンプルな単純なコードとステップを与えることができればすばらしいでしょう。しかし、あなたがそれを踏み越える時間がなければ、単純な基本コードだけが良いはずです。助けてくれてありがとう。 NOW

EDIT GOT WORKING CODE:

// Update picture to contact 
     ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); 

     //contactUriId is my contact URI with just contact id number at the end of the "content://..." 
     try 
     { 
      Bitmap bitmap = bmpNewContact; 
      ByteArrayOutputStream image = new ByteArrayOutputStream(); 
      bitmap.compress(Bitmap.CompressFormat.JPEG , 100, image); 

      Builder contentOp = ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI); 
      contentOp.withSelection(ContactsContract.Data.CONTACT_ID + "=?" + " AND " + ContactsContract.Data.MIMETYPE + "=?", new String[]{String.valueOf(contactUriId), ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE}); 
      contentOp.withValue(ContactsContract.CommonDataKinds.Photo.PHOTO, image.toByteArray()); 
      ops.add(contentOp.build()); 
     } 
     catch (Exception e) 
     { 
      e.printStackTrace(); 
     } 

     // Update 
     try 
     { 
      getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); 
     } 
     catch (Exception e) 
     { 
      e.printStackTrace(); 
     } 
+0

チェックこの記事はあなたのためにいくつかの貴重なポイントを持っている場合: これは私が使用したコードです。 http://stackoverflow.com/questions/2200436/update-contact-details-on-android。{}どんな減価償却の人々ありえないので、私は一種の日までもっと何かを望むた – Niko

+0

?もし私がこれをしようとすれば、私はそれを正しくしたいと思います。しかし、提案に感謝します。誰か他に提案がありますか? – BinaryNexus

答えて

0
// Update picture to contact 
    ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); 

    //contactUriId is my contact URI with just contact id number at the end of the "content://..." 
    try 
    { 
     Bitmap bitmap = bmpNewContact; 
     ByteArrayOutputStream image = new ByteArrayOutputStream(); 
     bitmap.compress(Bitmap.CompressFormat.JPEG , 100, image); 

     Builder contentOp = ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI); 
     contentOp.withSelection(ContactsContract.Data.CONTACT_ID + "=?" + " AND " + ContactsContract.Data.MIMETYPE + "=?", new String[]{String.valueOf(contactUriId), ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE}); 
     contentOp.withValue(ContactsContract.CommonDataKinds.Photo.PHOTO, image.toByteArray()); 
     ops.add(contentOp.build()); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 

    // Update 
    try 
    { 
     getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 
関連する問題