ارائه دهنده محتوا در برنامه نویسی اندروید

4 سال پیش
رائه دهنده محتوا در برنامه نویسی اندروید
امتیاز دهید post

ارائه دهنده محتوا در برنامه نویسی اندروید

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، در مورد ارائه دهنده محتوا در برنامه نویسی اندروید صحبت خواهیم کرد.

 

یک جز ارائه دهنده محتوا، داده ها را از یک برنامه به برنامه دیگر در صورت درخواست ارائه می دهد. چنین درخواست هایی با استفاده از متدهای کلاس ContentResolver انجام می شود. یک ارائه دهنده محتوا در برنامه نویسی اندروید می تواند از روش های مختلفی برای ذخیره داده های خود استفاده کند و داده ها را می توان در یک پایگاه داده، در پرونده ها یا حتی از طریق شبکه ذخیره کرد.

 

 

گاهی اوقات لازم است داده ها را بین برنامه ها به اشتراک بگذارید اینجاست که ارائه دهندگان محتوا بسیار مفید می شوند.
ارائه دهندگان محتوا به شما امکان می دهند محتوا را در یک مکان متمرکز کنید و بسیاری از برنامه های مختلف در صورت لزوم به آن دسترسی دارند. یک ارائه دهنده محتوا بسیار شبیه یک پایگاه داده است که در آن می توانید در آن پرس و جو کنید، محتوای آن را ویرایش کنید و همچنین با استفاده از روش ()insert ()  update ()  delete () و query  محتوا را اضافه یا حذف کنید. در بیشتر موارد این داده ها در یک پایگاه داده SQlite ذخیره می شوند.

یک ارائه دهنده محتوا به عنوان یک زیر کلاس از کلاس ContentProvider پیاده سازی می شود و باید یک مجموعه استاندارد API را اجرا کند که سایر برنامه ها را قادر به انجام معاملات می کند.

 

URI های محتوا

برای پرس و جو از یک ارائه دهنده محتوا، شما رشته کوئری را به شکل URI مشخص می کنید که دارای قالب زیر است –

در اینجا جزئیات قسمت های مختلف URI وجود دارد:

1-prefix

این همیشه :// روی محتوا تنظیم می شود

2-authority

این نام ارائه دهنده محتوا را مشخص می کند، به عنوان مثال مخاطبین، مرورگر و غیره. برای ارائه دهندگان محتوای شخص ثالث، این نام می تواند، مانند com.tutorialspoint.statusprovider

3-data_type

این نشان دهنده نوع داده ای است که این ارائه دهنده خاص ارائه می دهد. به عنوان مثال، اگر تمام مخاطبین را از ارائه دهنده محتوای مخاطب دریافت می کنید، مسیر داده افراد خواهد بود و URI به این شکل است: // contact / people

4-id

رکورد خاص درخواستی را مشخص می کند. به عنوان مثال ، اگر به دنبال مخاطب شماره 5 در ارائه دهنده محتوای مخاطب هستید ، URI ،مانند این محتوا که اینگونه به نظر می رسد: // contact / people / 5.

 

ایجاد ارائه دهنده محتوا در اندروید

این شامل چندین مرحله ساده برای ایجاد ارائه دهنده محتوای  است.

  1. اول از همه شما باید یک کلاس Content Provider بسازید که ContentProviderbaseclass را گسترش دهد.
  2. دوم، شما باید آدرس URI ارائه دهنده محتوای خود را تعریف کنید که برای دسترسی به محتوا استفاده می شود.
  3. در مرحله بعدی شما باید پایگاه داده خود را برای نگهداری محتوا ایجاد کنید. معمولاً اندروید از پایگاه داده SQLite و چارچوب استفاده می کند و باید از روش ()onCreate  استفاده کند که از روش SQLite Open Helper برای ایجاد یا باز کردن پایگاه داده ارائه دهنده استفاده می کند. هنگامی که برنامه شما راه اندازی می شود، کنترل کننده ()onCreate  هر یک از ارائه دهندگان محتوای آن در بخش اصلی برنامه فراخوانی می شود.
  4. در مرحله بعدی شما باید برای انجام عملیات خاص مختلف پایگاه داده، پرس و جوهای ارائه دهنده محتوا را پیاده سازی کنید.
  5. در آخر با استفاده از برچسب <provider> ارائه دهنده محتوای خود را در پرونده فعالیت خود ثبت کنید.

 

در اینجا لیستی از روشهایی وجود دارد که شما باید در کلاس Content Provider نادیده بگیرید تا ارائه دهنده محتوای شما کار کند.

 

  • ()onCreate هنگام شروع ارائه دهنده این روش فراخوانی می شود.
  • ()query  این روش درخواستی از کلاین دریافت می کند. نتیجه به عنوان یک شی Cursor بازگردانده می شود.
  • ()insert  این روش رکورد جدیدی را به ارائه دهنده محتوا وارد می کند.
  • ()delete  این روش یک رکورد موجود را از ارائه دهنده محتوا پاک می کند.
  • ()update  این روش یک رکورد موجود را از ارائه دهنده محتوا به روز می کند.
  • ()getType  این روش نوع MIME داده ها را در URI داده شده برمی گرداند.

 

مثال

این مثال نحوه ایجاد ContentProvider خود را به شما توضیح می دهد. بنابراین بیایید مراحل زیر را دنبال کنیم.

مراحل توضیحات
1 شما از Android Studio IDE برای ایجاد یک برنامه اندروید استفاده می کنید و نام آن را به عنوان  My Application تحت یک بسته com.example.MyApplication، با  فعالیت خالی کرد
2 پرونده فعالیت اصلی MainActivity.java را اصلاح کنید تا دو روش جدید در  ()ClickAddName و ()onClickRetrieveStudents  اضافه کنید.
3 برای تعریف ارائه دهنده واقعی و روش های مرتبط، یک فایل جاوا جدید به نام StudentProvider.java در بسته com.example.MyApplication ایجاد کنید
4 با استفاده از برچسب <provider…/> ارائه دهنده محتوای خود را در پرونده AndroidManifest.xml خود ثبت کنید
5 محتوای پیش فرض فایل res / layout / activity_main.xml را تغییر دهید تا شامل یک رابط کاربری گرافیکی کوچک برای افزودن سوابق دانشجویان باشد.
6 نیازی به تغییر string.xml نیست. Android studio از پرونده string.xml مراقبت می کند.
7 برنامه را اجرا کنید تا شبیه ساز اندروید را راه اندازی کنید و نتیجه تغییرات انجام شده در برنامه را تأیید کنید.

در زیر محتوای پرونده فعالیت اصلی تغییر یافته src / com.example.MyApplication / MainActivity.java است. این پرونده می تواند شامل هر یک از روشهای اساسی چرخه حیات باشد. ما برای کنترل تعامل کاربر با برنامه، دو روش جدید در ()ClickAddName و ()onClickRetrieveStudents را اضافه کرده ایم.

پرونده جدید StudentProvider.java را در بسته com.example.MyApplication ایجاد کنید و در زیر محتوای src / com.example.MyApplication / StudentProvider.java است –

در زیر محتوای اصلاح شده پرونده AndroidManifest.xml اعمال می شود. در اینجا برچسب <provider…/> را اضافه کرده ایم تا شامل ارائه دهنده محتوای ما شود:

در زیر محتوای فایل res / layout / activity_main.xml آورده خواهد شد

اطمینان حاصل کنید که محتوای زیر را در پرونده res / values / strings.xml دارید:

 

بیایید سعی کنیم برنامه خود را اجرا کنیم! من تصور می کنم شما AVD خود را هنگام راه اندازی محیط ایجاد کرده اید. برای اجرای برنامه از Android studio، یکی از پرونده های فعالیت پروژه خود را باز کنید و از نوار ابزار روی Android StudioRun Icon کلیک کنید. Android Studio برنامه را روی AVD شما نصب کرده و شروع به کار می کند و اگر با تنظیمات و برنامه هایتان همه چیز خوب باشد، زیر پنجره شبیه ساز نمایش داده می شود.

 

 

حالا بیایید Name و Grade دانشجو را وارد کرده و در آخر بر روی دکمه Add Name کلیک کنید، این رکورد دانشجویی را در پایگاه داده اضافه می کند و یک پیام را در پایین فلش می کند که ContentProvider URI را به همراه شماره رکورد اضافه شده در پایگاه داده نشان می دهد. این عملیات از روش ()insert  ما استفاده می کند. بیایید این روند را تکرار کنیم تا تعداد بیشتری دانش آموز در پایگاه داده ارائه دهنده محتوای خود اضافه کنیم.

 

هنگامی که کار شما با اضافه کردن رکوردها در پایگاه داده تمام شد، اکنون وقت آن است که از ContentProvider بخواهیم آن سوابق را به ما بازگرداند، بنابراین بیایید بر روی دکمه Retrieve Students کلیک کنیم که همه رکوردها را یکی یکی دریافت می کند.

به این ترتیب می توانید از ارائه دهنده محتوا موجود مانند آدرس کتاب استفاده کنید یا می توانید از مفهوم ارائه دهنده محتوا در توسعه برنامه های دیتابیس خوب استفاده کنید که در آن می توانید انواع عملیات پایگاه داده مانند خواندن، نوشتن، به روزرسانی و حذف را همانطور که در بالا توضیح داده شده است، انجام دهید.

منبع.

لیست جلسات قبل آموزش برنامه نویسی اندروید

  1. نگاهی کلی به برنامه نویسی اندروید
  2. تنظیمات محیط  در برنامه نویسی اندروید
  3. معماری برنامه نویسی اندروید
  4. اجزای برنامه در برنامه نویسی اندروید
  5. Hello World در برنامه نویسی اندروید
  6. سازماندهی و دسترسی به منابع در برنامه نویسی اندروید
  7. فعالیت در برنامه نویسی اندروید
  8. سرویس در برنامه نویسی اندروید
  9. گیرنده های پخش در برنامه نویسی اندروید
امتیاز دهید post
0
برچسب ها :
نویسنده مطلب saber

دیدگاه شما

بدون دیدگاه