ساختن نرم افزار هاي اندرويدي
بر گرفته از وب سايت ويكيپديا
توسعه و گسترش دهندگان اندرويد در طول ساختن نرم افزار هاي اندرويدي با بحران هاي رايجي مانند مدير چرخه حيات حوادث، مرحله حفظ و ذخيره سازي اطلاعات مواجه ميگردند. اين كارداران سبب ساز رنج توسعه و گسترش نرم افزار اندرويدي ميگردند. به اين ترتيب دراين نوشتهي علمي ايجاد نرم افزار هاي امروزي با به كارگيري از معماري كامپوننت ها در اندرويد را باز نگري خواهيم كرد.
طراحي اپليكيشن فروشگاهي
آكادمي برنامه نويس ها ، برگزار كننده عصر هاي يادگرفتن برنامه نويسي با به كار گيري از اساتيد متبحر و ماهر در سراسر كشورايران .[ جهت مشاهده زمان هاي درحال نام نويسي كليك نماييد ]
ارائه مدارك داراي اعتبار آموزشي و ورود به بازار عمل .
گسترش دهندگان اندرويد در زمان ساختن نرم افزار هاي اندرويدي با معضل هاي رايجي مانند مدير چرخه حيات حادثه ها، مرحله مراقبت و ذخيره سازي اطلاعات مواجه ميشوند. اين كارداران منجر مشقت توسعه و گسترش نرم افزار اندرويدي ميگردند. علاوه بر اين ها اعضاي يك مجموعه اندرويد هيچگاه بينش هاي خويش را در باب اينكه از كدام معماري به كارگيري كنيم مطرح نميكنند. آنها مدام توصيه ميكنند كه از معماري اي استعمال شود كه شايسته ترين سازش رو با نرم افزار داراست، كه در طولاني تر مواقع اين توصيه سبب گنگي بيش تر مي گردد تا پرنور خيس كردن مسئله.
خوشبختانه مجموعه اندرويد، معماري كامپوننت ها را يار و همدم با راهبرد ها و ارشادوراهنمايي ها براي حل ايرادات رايج در زمان توليد نرم افزار اندرويدي دراختيار بسط دهندگان گذارده ميباشد.
معماري كامپوننت ها چه چيزي است؟
طراحي اپليكيشن فروشگاهي در مشهد
باتوجه به گفته هاي مجموعه توسعه و گسترش دهنده اين معماري، "معماري كامپوننت ها يك گروه تازه از كتابخانه هايي ميباشد كه ياري مينمايند تا شما يك نرم افزار كاركشته كه امكان آزمايش و مراقبت داراست را پباده سازي فرماييد. آنها با كلاس هايي كه وظيفه مدير چرخه حيات اجزاي رابط كاربري شما ومديريت ماندگاري اطلاعات را بر عهده داراهستند استارت كردند."
درادامه كامپوننت هاي ماژولاري كه ميتوانند با يكديگر يا اين كه مجزا به كارگيري شوند آورده شدهاست:
1- چرخه حيات (LifeCycle)
2- داده زنده (LiveData)
3- نوع نما (ViewModel)
4- دور و اطراف (Room)
نكته: تعدادي كامپوننت ديگر هم مي باشند كه جديدا منتشر گرديده اند البته ما در رابطه آن ها كلام نميكنيم زيرا در مرحله نخستين توسعه و گسترش مي باشند.
اپليكيشن فروشگاهي در مشهد
چرخه حيات (Lifecycle)
رئيس چرخه حيات يكياز بزگترين بحران هاي ايجاد يك نرم افزار اندرويدي ميباشد. در صورتي از فرگمنت ها استعمال نماييد چرخه حيات حتي ميتواند پيچيده خيس شود ، به دليل آنكه چرخه حيات آنان در ورژن هاي متفاوت اندرويد متعدد ميباشد ( اما اين ايراد حال حاضر به وسيله كتابخانه AppCompat حل شدهاست). بريم ببنيم كه كامپوننت چرخه حيات چه گونه به ما امداد ميكند تا از سد اين بحران عبور كنيم.
Lyfecycle، كلاس ها و اينترفيس هايي را اماده نموده است كه اذن ايجاد كامپوننت هاي باخبر از چرخه حيات (lifecycle-aware) را ميدهند كه به طور خود كار خلق خودشان را با چرخه حيات فعلي يك اكتيويتي يا اين كه فرگمنت سازگار مي نمايند. اين قابليت و امكان اذن ميدهد كه چرخه حيات براي ساير ابجكت ها قابل مشاهده باشد.
اين كامپوننت براي افزودن چرخه هاي حيات غير با خبر(lifecycle-awareness) استعمال ميگردد. اين آيتم براي افرادي كه كتابخانه ميسازند اثرگذار خواهد بود به دليل آن كه مي توانند منابع را باتوجه به چرخه حيات ازاد نمايند.
بريم ببينيم چه گونه كامپوننت Lyfecycle به ما امداد ميكند. اينجا يك نمونه از اينكه چه گونه يك كد كانال بنويسيم اورده شدهاست:
123456789101112131415override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Network call api.get().onResponse { data -> textView.text = data } }
نكته: كد بالا به لهجه كاتلين ميباشد، كه حال حاضر تحت عنوان لهجه قانوني توليد نرم افزار هاي اندرويد به كارگيري ميشود.
اين نمونه يك كد بي آلايش كانال ميباشد كه يك درخواست GET به اينترنت ارسال مي نمايد و جواب ان را در يك TextView تهيه و تنظيم مي نمايد.
بي آلايش به لحاظ ميرسد، اما اينطور وجود ندارد، چون زماني كه شما دستگاه اندرويدي خويش را بچرخانيد يا اين كه اينكه از برنامه بيرون گرديد، درخواستي كه به اينترنت رسول بوديد همچنان در بك گراند در اكنون اجراست و هنگامي كه جواب خويش را اخذ مي كند برنامه كرش مي نمايد زيرا ديگرTextViewوجود ندارد چون اكتويتي از در بين رفته ميباشد.
گسترش دهندگان اندرويد از اين ايراد آگاه ميباشند. براي حل اين خلل، نياز داريم هنگامي كه اكتيويتي از في مابين ميرود درخواست را كنسل كنيم مانند كد پايين:
123456789101112131415161718192021222324override fun onCreate(savedInstanceState: Bundle?) { ///.... // Network call request = api.get() request.onResponse { data -> textView.text = data request = null } } override fun onDestroy() { if (request != null) request.cancel() }هرچند، با ارتقاء پيچيدگي نرم افزار، مدير اين مساله به يك معضل تبديل ميگردد و به راحتي ممكن ميباشد جاهايي را فراموش كنيم.
كامپوننت Lyfecycle براي حل چنين مشكلاتي پباده سازي شدهاست كه با توليد كامپوننت هاي آگاه از چرخه حيات (lifecycle-aware) ( كه از حالت اكتيويتي باخبر ميباشند) اختلال را حل مي كنند.
بيايد اين توشه با استعمال از كتابخانه Lifecyle نگاهي به به عبارتي تكه كد كنيم:
123456789101112131415override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Network call api.get().onResponse(getLifecycle()) { data -> textView.text = data } }نكته: اين يك كد كانال ذهني ميباشد براي اينكه نشان دهد چه طور كتابخانه هاي ديگر مي توانند چرخه حيات را مشاهده نمايند و به طور خود كار انها را از در ميان ببرند.
ساختمان كامپوننت چرخه حيات (Lyfecycle) :
اين ساختمان از دو بخش اصلي ساخته شده ميباشد – صاحبان چرخه حيات (Lifecycle owners) و ناظران چرخه حيات (Lifecycle owners).
1- صاحبان چرخه حيات (Lifecycle owners) در دست گرفتن كنندگان رابط كاربري ميباشند، كه چرخه حيات خودشان را داراهستند مثل اكتيويتي و فرگمنت.
2- ناظران چرخه حيات (Lifecycle owners) مشاهده گر صاحبان چرخه حيات (Lifecycle owners) مي باشند و هر تغيير تحول در خصوص چرخه حيات انها را اعلان مينمايند. ما از LifecycleObserver براي توليد كامپوننت هاي با خبر از چرخه حيات (lifecycle-aware) استعمال ميكنيم.
شركت راياپارس عرضه كننده انواع اپليكيشن هاي اندرويد در ايران
برچسب: ،