loading...

مقالات طراحی اپ موبایل

بازدید : 10
پنجشنبه 12 بهمن 1402 زمان : 10:20


طرز های متعدد برای برقراری رابطه با خدمات
رویه های مختلفی برای تبادل داده و تعامل در بین activity و خدمت وجود داراست. مطالب ذیل طرز های ممکن برای نیل به‌این مقصود را مذکور و طرز پیشنهادی خویش را در دست طراحی اپلیکیشن در مشهد شما قرار میدهد.

استعمال از داده های کپسوله گردیده در intent
در یک سناریوی معمولی، نیازی به هیچ تعامل بی واسطه (دربین خدمت و activity) نیست. خدمت داده های کپسوله گردیده در intent را از کامپوننت استارت کننده (فراخواننده ی خدمت) اخذ نموده و عملیات مایحتاج را به ایفا می‌رساند. قابل ذکر میباشد که برای این خواسته notification ضروری وجود ندارد. در واقع در صورتیکه خدمت محتوای یک content provider را با داده های نو بروز آوری می نماید، خویش کامپوننت قابل انعطاف افزاری سابق الذکر activity را از این حادثه مطلع کرده و هیچ مبادرت یا این که مرحله ی دیگری در خدمت ما یحتاج وجود ندارد. این نحوه هم برای خدمت های محلی و هم برای خدمت هایی که در مراحل مختص به خویش جاری ساختن می‌شوند، قابل طراحی و به کارگیری خواهد بود.

استعمال از receiver
می اقتدار برای تعامل و رابطه فی مابین activity و خدمات از broadcast ها و receiver هایی که بدین broadcast ها گوش می‌دهند، سود گرفت. مثلا، activity شما قادر است یک broadcast receiver برای گوش دادن به event ای مشخص تصویب نماید و خدمت متبوع رخداد افتادن event های مربوطه را به خارج (کاپوننت های دیگر) اعلان کند. این طرز بسیار معمول بوده و اکثر وقت ها وقتی به کار گیری میشود که خدمت باید بعد از به اجرا رساندن پردازش به activity این رخداد را اعلان نماید.

شیوه ذکر شده برای خدمت های محلی و خدمت هایی که در فرآیند صاحب خانه و مختص خویش انجام می‌شوند، قابل استعمال است.

اتصال activity به خدمت محلی
در صورتی‌که activity و service هر دو در فرایندی یکسان انجام شوند، در‌این موقعیت activity حاذق خواهد بود به خدمت مستقیما به طور دو طرفه وصل گردد. نحوه حاضر از فی مابین مورد هایی که تا به امروز تیتر گردیده، با صرفه ترین بوده و برای هنگامی که activity نیاز داراست با خدمت با سرعت بالا تبادل داده داشته باشد بسیار مطلوب است.

ناگفته نماند که‌این شیوه صرفا برای خدمت های محلی (خدمت هایی که) قابل طراحی و به کارگیری میباشد.

Handler و ResultReceiver یا این که Messenger
در صورتی‌که خدمت با activity تعامل دو طرفه داشته باشد (اطلاعاتی را به activity برگرداند)، در آن شکل می‌تواند از روش داده های کپسوله گردیده در intent که از activity اخذ می نماید، آبجکتی از متاع Messenger اخذ کند. در حالتی‌که که Messenger به Handler در activity متصل باشد، سپس service توانا خواهد بود آبجکت هایی از کالا Message را به activity ارسال کند.

Messenger در واقع اینترفیس parcelable را طراحی می نماید، به‌این معنا که می قدرت آن را به مراحل دیگر ارسال کرده و با به کار گیری از این آبجکت Message هایی را به Handler در activity ارسال نمود.

Messenger همینطور متدی به اسم getBinder را ارائه میدهد. این اسلوب امکان ارسال آبجکتی از کالا Messenger به activity را مهیا می کند. activity نیز متعاقبا حاذق خواهد بود Message های (مثال هایی از کلاس Message که دربردارنده تعریف و آبجکت های داده ای دلخواه میباشد) زیادی را به خدمت متبوع ارسال نماید.

این شیوه برای خدمت های محلی که در پروسه خویش ایفا میگردند، قابل به کارگیری میباشد.

اتصال به خدمت در پروسه دیگر با استعمال از AIDL
به مراد تبادل داده و اتصال (bind) به سرویسی که در پروسه دیگری در اکنون انجام میباشد، اپ نویس باید از IPC (رابطه بین پردازشی) یاری بگیرد. برای نیل بدین مقصود، آغاز مورد نیاز میباشد یک فولدر AIDL ساخت نماید که نسبتاً شبیه interface های جاوا است با این تفاوت که پسوند آن .aidl بوده و فقط اذن ی ارث بری و توسعه دیگر فولدر های AIDL را دارااست.

سفارش می شود از این شیوه هنگامی استعمال نمائید که مایحتاج باشد به سرویسی که در روند دیگری در درحال حاضر اعمال میباشد متصل گردید. مثلا وقتی که نرم افزار های دیگر درخواست به کارگیری از خدمت متبوع را داشته باشند بایستی از این خط مش بهره برد.

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

هرکدام از کامپوننتهای مهم اندروید می توانند یک started service را استارت نمایند.
زمانی یک started service آغاز به انجام می‌نماید، اجرای آن تا ابد می تواند ادامه داشته باشد تاوقتی‌که یکی متدهای stopService یا این که stopSelf فراخوانی خواهد شد.
خدمت به طور پیش‌فرض روی نخ main انجام می گردد.
چرخه حیات یک started service غیر وابسته از کامپوننتی میباشد که خدمت را شروع کرده و این یعنی خدمت می تواند به اجرایش ادامه دهد حتی در‌صورتی‌که که کامپوننت آغازگر خدمت از در میان رفته باشد.


طرز های متعدد برای برقراری رابطه با خدمات
رویه های مختلفی برای تبادل داده و تعامل در بین activity و خدمت وجود داراست. مطالب ذیل طرز های ممکن برای نیل به‌این مقصود را مذکور و طرز پیشنهادی خویش را در دست طراحی اپلیکیشن در مشهد شما قرار میدهد.

استعمال از داده های کپسوله گردیده در intent
در یک سناریوی معمولی، نیازی به هیچ تعامل بی واسطه (دربین خدمت و activity) نیست. خدمت داده های کپسوله گردیده در intent را از کامپوننت استارت کننده (فراخواننده ی خدمت) اخذ نموده و عملیات مایحتاج را به ایفا می‌رساند. قابل ذکر میباشد که برای این خواسته notification ضروری وجود ندارد. در واقع در صورتیکه خدمت محتوای یک content provider را با داده های نو بروز آوری می نماید، خویش کامپوننت قابل انعطاف افزاری سابق الذکر activity را از این حادثه مطلع کرده و هیچ مبادرت یا این که مرحله ی دیگری در خدمت ما یحتاج وجود ندارد. این نحوه هم برای خدمت های محلی و هم برای خدمت هایی که در مراحل مختص به خویش جاری ساختن می‌شوند، قابل طراحی و به کارگیری خواهد بود.

استعمال از receiver
می اقتدار برای تعامل و رابطه فی مابین activity و خدمات از broadcast ها و receiver هایی که بدین broadcast ها گوش می‌دهند، سود گرفت. مثلا، activity شما قادر است یک broadcast receiver برای گوش دادن به event ای مشخص تصویب نماید و خدمت متبوع رخداد افتادن event های مربوطه را به خارج (کاپوننت های دیگر) اعلان کند. این طرز بسیار معمول بوده و اکثر وقت ها وقتی به کار گیری میشود که خدمت باید بعد از به اجرا رساندن پردازش به activity این رخداد را اعلان نماید.

شیوه ذکر شده برای خدمت های محلی و خدمت هایی که در فرآیند صاحب خانه و مختص خویش انجام می‌شوند، قابل استعمال است.

اتصال activity به خدمت محلی
در صورتی‌که activity و service هر دو در فرایندی یکسان انجام شوند، در‌این موقعیت activity حاذق خواهد بود به خدمت مستقیما به طور دو طرفه وصل گردد. نحوه حاضر از فی مابین مورد هایی که تا به امروز تیتر گردیده، با صرفه ترین بوده و برای هنگامی که activity نیاز داراست با خدمت با سرعت بالا تبادل داده داشته باشد بسیار مطلوب است.

ناگفته نماند که‌این شیوه صرفا برای خدمت های محلی (خدمت هایی که) قابل طراحی و به کارگیری میباشد.

Handler و ResultReceiver یا این که Messenger
در صورتی‌که خدمت با activity تعامل دو طرفه داشته باشد (اطلاعاتی را به activity برگرداند)، در آن شکل می‌تواند از روش داده های کپسوله گردیده در intent که از activity اخذ می نماید، آبجکتی از متاع Messenger اخذ کند. در حالتی‌که که Messenger به Handler در activity متصل باشد، سپس service توانا خواهد بود آبجکت هایی از کالا Message را به activity ارسال کند.

Messenger در واقع اینترفیس parcelable را طراحی می نماید، به‌این معنا که می قدرت آن را به مراحل دیگر ارسال کرده و با به کار گیری از این آبجکت Message هایی را به Handler در activity ارسال نمود.

Messenger همینطور متدی به اسم getBinder را ارائه میدهد. این اسلوب امکان ارسال آبجکتی از کالا Messenger به activity را مهیا می کند. activity نیز متعاقبا حاذق خواهد بود Message های (مثال هایی از کلاس Message که دربردارنده تعریف و آبجکت های داده ای دلخواه میباشد) زیادی را به خدمت متبوع ارسال نماید.

این شیوه برای خدمت های محلی که در پروسه خویش ایفا میگردند، قابل به کارگیری میباشد.

اتصال به خدمت در پروسه دیگر با استعمال از AIDL
به مراد تبادل داده و اتصال (bind) به سرویسی که در پروسه دیگری در اکنون انجام میباشد، اپ نویس باید از IPC (رابطه بین پردازشی) یاری بگیرد. برای نیل بدین مقصود، آغاز مورد نیاز میباشد یک فولدر AIDL ساخت نماید که نسبتاً شبیه interface های جاوا است با این تفاوت که پسوند آن .aidl بوده و فقط اذن ی ارث بری و توسعه دیگر فولدر های AIDL را دارااست.

سفارش می شود از این شیوه هنگامی استعمال نمائید که مایحتاج باشد به سرویسی که در روند دیگری در درحال حاضر اعمال میباشد متصل گردید. مثلا وقتی که نرم افزار های دیگر درخواست به کارگیری از خدمت متبوع را داشته باشند بایستی از این خط مش بهره برد.

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

هرکدام از کامپوننتهای مهم اندروید می توانند یک started service را استارت نمایند.
زمانی یک started service آغاز به انجام می‌نماید، اجرای آن تا ابد می تواند ادامه داشته باشد تاوقتی‌که یکی متدهای stopService یا این که stopSelf فراخوانی خواهد شد.
خدمت به طور پیش‌فرض روی نخ main انجام می گردد.
چرخه حیات یک started service غیر وابسته از کامپوننتی میباشد که خدمت را شروع کرده و این یعنی خدمت می تواند به اجرایش ادامه دهد حتی در‌صورتی‌که که کامپوننت آغازگر خدمت از در میان رفته باشد.

نظرات این مطلب

تعداد صفحات : 0

درباره ما
موضوعات
آمار سایت
  • کل مطالب : 575
  • کل نظرات : 0
  • افراد آنلاین : 2
  • تعداد اعضا : 0
  • بازدید امروز : 48
  • بازدید کننده امروز : 1
  • باردید دیروز : 174
  • بازدید کننده دیروز : 0
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 336
  • بازدید ماه : 1080
  • بازدید سال : 6512
  • بازدید کلی : 32714
  • <
    پیوندهای روزانه
    اطلاعات کاربری
    نام کاربری :
    رمز عبور :
  • فراموشی رمز عبور؟
  • خبر نامه


    معرفی وبلاگ به یک دوست


    ایمیل شما :

    ایمیل دوست شما :



    لینک های ویژه