رفتن به مطلب
جامعه‌ی برنامه‌نویسان مُدرن ایران
kamran_14

اضافه کردن مخاطب با استفاده از Content Provider‌ها


پست های پیشنهاد شده

سلام دوستان
من اضافه کردن مخاطب را با این روش اصلا متوجه نمیشم
آیا می‌توان به جای این روش از روش ساده تر و با متد insert شی getContentResolver استفاده کرد

    public void addClickListener(View v)
    {
        ArrayList<ContentProviderOperation> ops=new ArrayList<ContentProviderOperation>();
        int r=ops.size();
        Toast.makeText(getApplicationContext(),r+"",Toast.LENGTH_LONG).show();
        ops.add(ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI)
                .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE,null)
                .withValue(ContactsContract.RawContacts.ACCOUNT_NAME,null).build());

        ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, r)
                .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
                .withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, "salman").build());

        ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, r)
                .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
                .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, "0914688")
                .withValue(ContactsContract.CommonDataKinds.Phone.TYPE,ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE).build());

        try {
            getContentResolver().applyBatch(ContactsContract.AUTHORITY,ops);
        } catch (RemoteException e) {
            e.printStackTrace();
        } catch (OperationApplicationException e) {
            e.printStackTrace();
        }

        Toast.makeText(this,"Created",Toast.LENGTH_LONG).show();
    }

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 11 ساعت قبل، kamran_14 گفته است :

من اضافه کردن مخاطب را با این روش اصلا متوجه نمیشم

دقیقا چه بخشی را متوجه نمیشید؟

در 11 ساعت قبل، kamran_14 گفته است :

آیا می‌توان به جای این روش از روش ساده تر و با متد insert شی getContentResolver استفاده کرد



 

هر Content Provider می تونه متد های مختلفی برای insert داشته باشه! سوال شما مبهمه در ضمن بهتره کمی درباره Content Provider ها مطالعه داشته باشید اغلب سوالات خودتون را پیدا میکنید!

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ما در جدول rawContacts مشخص میکنیم که در جدول Data میخواهیم فقط مقادیر ستون مربوط به نوع و نام را وارد کنیم. درسته؟

مقادیر Account_type و Account_name چه چیزی میتواند باشد؟

ما در اولین insert گفتیم فقط دو ستون نوع و نام را میخواهیم در جدول Data وارد کنیم. اما در سومین insert ما سه مقدار وارد جدول کردیم

ما وقتی یوآرآی جدول داده را به عنوان پارامتر به newInsert دادیم چرا به جدول commonDataKind هم تونستیم دسترسی پیدا کنیم 

آیا وقتی می نویسیم .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, "0914688") یعنی فیلد phone در جدول CommonDataKind?

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از ۷۵ اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×
×
  • جدید...