مقالات تخصصي طراحي اپ موبايل مرجع رسمي مقالات طراحي اپليكيشن
|
اين سياق ها براي تغيير تحول داده باطن MutableLiveData به كار گيري ميشوند. setValue را صرفا ميتوانيد در Thread اساسي فراخواني فرمائيد دقت: متدهاي setValue و postValue در كلاس LiveData نيز وجود دارا هستند اما در كلاس LiveData اين متدها protected مي باشند و تنها كلاس هايي كه از LiveData ارث بري داراهستند بهاين متدها دسترسي داراهستند. طراحي اپليكيشن اما در MutableLiveData اين متدها public و در دسترس مي باشند. LiveData / MutableLiveData معمولاً در آپ ديت رساني داده هاي تيم اي (List راياپارس ، ArrayList و غيره) در RecyclerView استعمال ميگردد. درپي ، طرحي ساختوساز خوا هيم كرد كه اطلاعات را از مقر داده SQLite ميخواند، داده هاي مقر داده را تغييرو تحول ميدهد و اطلاعات را در RecyclerView آرم ميدهد. براي اينكه هر فرصت اطلاعات تغيير تحول كرد ركوردهاي RecyclerView آپ تو ديت خواهد شد از MutableLiveData استعمال خوا هيم كرد. در هر آپ ديت رساني اطلاعات ، براي خودداري از بارگيري دوباره سطرهاي RecyclerView كه تغيير و تحول نكرده اند ArrayList سابق و نو را با DiffUtil مقايسه ميكنيم.
ساختار پروژه مثال ادامه مطلب
امتیاز:
بازدید:
شما در رهبري گروه هاي پيشرفت اپ مي بايست طراحي اپليكيشن يك گام بالاتر از همدلي در مجموعه ها برويد و بايستي بتوانيد عواملي كه سبب فرسودگي اعضاي گروه ها مي گردند را شناسايي فرماييد. علائم فرسودگي شغلي مشمول كاهش فايده وري، ارتقا بدبيني نسبت به همياران و شم طلاق از كمپاني ميگردد. Dawn Parzych رئيس بازاريابي بسط دهندگان در كمپاني LaunchDarkly اين نظر را دارد راياپارس كه مجموعه هاي بسط دهنده ميتوانند با به كار گيري از ابزارها و طرق مدرني كه در اين مورد وجود دارا هستند استرس را به معيار متعددي كاهش داده و در اختيار گرفتن نمايند. وي رسيدگي اي كه جديدا دراين مورد ايفا داده ميباشد را به اشتراك ميگذارد كه نماد ميدهد 91 درصد از متخصصان بسط نرمافزار كه فاقد فرايندهايي مانند استعمال از درفش هاي خصوصيت مي باشند گزارش ميدهند كه در حين استقرار كدهاي خويش استرس متعددي را تجارب مي نمايند. وي سفارش مي نمايد كه تحت عنوان يك مديريت براي رهبري دسته هاي گسترش نرمافزار بدين تصور كنيد كه به چه شكل ميتوانيد استرس را از دربين برده و به اعضاي دسته خويش امداد نمائيد تا با بهبود فرايندهاي تشكيل داد و استقرار از روش قابليت و امكان مشاهده يا اين كه درفش هاي خصوصيت از اين فرسودگي پرهيز و اجتناب نمايند. درپي اشخاص مدبر باشيد كه در پي راهحل مسائل باشند Marcus Merrell نائب رئيس استراتژيك تكنولوژي در كمپاني Sauce Labs بر عنايت شناسايي جويندگان راهحل هاي مطلوب در حين مدير و رهبري دسته هاي پيشرفت اپ تاكيد داراست. وي ميگويد مواردي وجود داراست كه زرنگ ترين شخص با شايسته ترين الگوريتم كسي ميباشد كه شما به آن نياز داريد. با اين اكنون بيشتر وقت ها شما به كسي نياز داريد كه جواب مايحتاج شمارا در كتابخانه يا اين كه ابزاري بيابد. ادامه مطلب
امتیاز:
بازدید:
UTF-8 يك سيستم كد گذاري كاراكترها براي پيوندها الكترونيكي ميباشد و تحت عنوان charset استاندارد اينترنت نيز شناخته ميشود. Charset در واقع يك قابليت و امكان رمز گذاري كليه كاراكترهايي ميباشد كه فعلا در فضاي اينترنت وجود داراهستند. با به وجود وارد شدن اين تغيير و تحول در ورژن 18 جاوا API هايي كه متعلق به charset پيش فرض بودند به صورت مداوم در كليه طراحي ها، طراحي اپليكيشن سيستم عوامل و پيكربندي اخلاق قبل خويش را تكرار مي نمايند. اعتنا داشته باشيد كهاين توصيه ارائه نشده ميباشد تا API هاي استاندارد جاوا را به صورت جديدي تمجيد نمايد. با مشخص و معلوم كردن UTF-8 تحت عنوان charset پيش فرض اين خطر وجود دارااست كه هنگامي كه نرم افزار ها داده هاي ساخت گرديده قبل از تعريفوتمجيد كردن charset پيش فرض راياپارس نو را پردازش مي نمايند، مشكلاتي براي آنان به وجود بيايد. ولي بايستي دقت داشته باشيد كهاين خطر يك زمينه نو وجود ندارد البته با اين درحال حاضر نرم افزار هايي كه در دور و بر هاي متفاوت وجود داراهستند ميتوانند به معيار مقداري نسبت به UTF-8 شم خطر داشته باشند.
ادامه مطلب
امتیاز:
بازدید:
پيشرفت نرمافزار در 30 سال قبل مسير وقتگير را طي نموده است. در قبل گسترش دهندگان نرمافزار مي توانستند چرخه قدمت گسترش اپليكيشن خويش را روي كامپيوترهاي فردي خويش نيز مدير نمايند. شما تحت عنوان يك بسط دهنده اپ مي توانستيد طراحي اپليكيشن كدهاي خويش را بنويسيد، آنها را انواع زدايي و ديباگ كرده و مبادرت به Build كردن آنان فرماييد. در كنار تك تك اين مفاد شما مي توانستيد مجموع آنهارا از دسكتاپ خويش ارسال فرماييد. منابع شما در يك سرور ذخيره گرديده و داده ها با ذخيره شدن در يك فولدر فشرده گرديده راياپارس در نقطه نهايي روز مدير مي شدند. در شرايطي كه شما هم در قبل از يك ابزار در اختيار گرفتن منبع استعمال مي كرديد احتمالا اين ابزار يكياز ابزارهاي CVS يا اين كه SVN با يك سرور مركزي بود كه انشعاب و مخلوط پروژه را به يك معضل بسيار دورازشوخي براي شما تبديل ميكرد. با اين درحال حاضر امروزه نحوه ها و ابزارهاي امروزي تري براي در دست گرفتن چرخه حيات گسترش برنامه ساخت گرديده اند كه شناخت با آنها براي كل پيشرفت دهندگان ميتواند اثرگذار و كاربردي باشد. فرآيند رئيس گسترش برنامه در پيشين و امروز امروزه فرايند در دست گرفتن و مدير بسط برنامه هم بي آلايش خيس و هم غامض خيس گرديده است. اكثر قابل انعطاف افزارهاي تازه به وسيله مرورگرها ارائه ميشوند. گروه هاي بسط دهندگان از روش به دور مقر كدهاي گران قدر را با استعمال از مخازن كد مركزي مدير مي نمايند كه ممكن ميباشد پاره اي غامض به حيث رسد. آنها ميتوانند اين شغل را با به كارگيري از ابزارهاي رديابي و ارتباطي هماهنگ و اعمال دهند. اين دليل نيز سبب ساز يك پارچه سازي مداوم و استقرار مداوم كدها با به كار گيري از ابزارهايي كه به صورت خاص به همين خواسته پياده سازي گرديده اند ميشود. سبك هاي تحويل و ارائه پروژه مانند Saas به دسته هاي بسط برنامه اذن ميدهند تا هر مجال كه بخواهند بتوانند بلافاصله خصوصيت هاي نو را به پروژه اضافه نمايند.
به اين ترتيب پرسش مهم كه در اين مكان ممكن ميباشد براي شما به وجود بيايد اين ميباشد كه براي گسترش اپ امروزي به چه ابزارها و قابل انعطاف افزارهايي نياز داريم؟ گروه هاي گسترش نرمافزار امروزي براي اين فعاليت دست كم به 5 ابزار پايين نياز پيدا خواهند كرد. ادامه مطلب
امتیاز:
بازدید:
بسط دهندگان اندرويد در طول ساختن نرم افزار هاي اندرويدي با معضل هاي رايجي مانند مدير چرخه حيات حادثه ها، مرحله مراقبت و ذخيره سازي اطلاعات مواجه ميگردند. اين دست اندركاران سبب رنج توسعه و گسترش نرم افزار اندرويدي ميشوند. طراحي اپليكيشن به اين ترتيب دراين نوشتهيعلمي ايجاد كرد نرم افزار هاي امروزي با به كار گيري از معماري كامپوننت ها در اندرويد را رسيدگي خواهيم كرد.
خوشبختانه گروه اندرويد، معماري كامپوننت ها را همپا با شيوه نامه ها و ارشادوراهنمايي ها براي حل خطاها رايج در زمان تشكيل داد نرم افزار اندرويدي دراختيار بسط دهندگان گذارده ميباشد. معماري كامپوننت ها چيست؟ باتوجه به گفته هاي مجموعه گسترش دهنده اين معماري، "معماري كامپوننت ها يك گروه نو از كتابخانه هايي ميباشد كه ياري ميكنند تا شما يك نرم افزار حاذق كه امكان آزمايش و حفظ دارااست را پياده سازي نمائيد. آنان با كلاس هايي كه وظيفه مدير چرخه حيات اجزاي رابط كاربري شما ومديريت ماندگاري اطلاعات را بر عهده دارا هستند استارت كردند."
درادامه كامپوننت هاي ماژولاري كه ميتوانند با يكديگر يا اين كه جداازهم استعمال شوند اورده شده ميباشد: 1- چرخه حيات (LifeCycle) 2- داده زنده (LiveData) 3- سبك نما (ViewModel) 4- محيط (Room) نكته: يك سري كامپوننت ديگر هم ميباشند كه اخيرا منتشر گرديده اند البته ما درباره آن ها سخن نميكنيم زيرا در مرحله نخستين بسط ميباشند. ادامه مطلب
امتیاز:
بازدید:
چرخه حيات (LifeCycle) 2- داده زنده (LiveData) 3- سبك نما (ViewModel) 4- محيط (Room) نكته: تعدادي كامپوننت ديگر هم ميباشند كه جديدا منتشر گرديده اند طراحي اپليكيشن اما ما درباره آن ها كلام نميكنيم زيرا در مرحله اول بسط ميباشند. چرخه حيات (Lifecycle) رئيس چرخه حيات يكياز بزگترين بحران هاي ايجاد كرد يك نرم افزار اندرويدي ميباشد. راياپارس در شرايطي كه از فرگمنت ها به كار گيري نمائيد چرخه حيات حتي ميتواند بغرنج خيس خواهد شد ، چرا كه چرخه حيات آنها در ورژن هاي گوناگون اندرويد گوناگون ميباشد ( ولي اين خلل الان به وسيله كتابخانه AppCompat حل گرديدهاست). بريم ببنيم كه كامپوننت چرخه حيات چهگونه به ما ياري ميكند تا از بند اين بحران عبور كنيم. Lyfecycle، كلاس ها و اينترفيس هايي را اماده نموده است كه اذن تشكيل داد كامپوننت هاي آگاه از چرخه حيات (lifecycle-aware) را مي دهند كه به طور خود كار خلق و خوي خودشان را با چرخه حيات فعلي يك اكتيويتي يا اين كه فرگمنت سازگار ميكنند. اين قابليت و امكان اذن ميدهد كه چرخه حيات براي ساير ابجكت ها قابل مشاهده باشد. اين كامپوننت براي افزودن چرخه هاي حيات غير باخبر(lifecycle-awareness) به كارگيري مي گردد. اين گزينه براي اشخاصي كه كتابخانه ميسازند اثر گذار خواهد بود به دليل آن كه ميتوانند منابع را باتوجه به چرخه حيات ازاد نمايند. بريم ببينيم چه طور كامپوننت Lyfecycle به ما ياري ميكند. اينجا يك نمونه از اينكه چهگونه يك كد كانال بنويسيم بيان شده ميباشد: override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Network call api.get().onResponse { data -> textView.text = data } }
اين نمونه يك كد بي آلايش كانال ميباشد كه يك درخواست GET به اينترنت ارسال ميكند و جواب ان را در يك TextView تهيه و تنظيم ميكند. بي آلايش به لحاظ ميرسد، البته اينطور وجود ندارد، چون زماني كه شما دستگاه اندرويدي خويش را بچرخانيد يااينكه از نرمافزار بيرون گرديد، درخواستي كه به اينترنت رسول بوديد همچنان در بك گراند در حالا اجراست و هنگامي كه جواب خويش را اخذ ميكند اپليكيشن كرش ميكند زيرا ديگرTextViewوجود ندارد چون اكتويتي از در ميان رفته ميباشد. ادامه مطلب
امتیاز:
بازدید:
در دنياي امروز و بعداز انقلاب تكنولوژي واژه و كلمه نرم افزار (application) كه طراحي اپليكيشن به اختصار app ناميده مي توان به تيتر يكياز پرتكرار ترين لغات، در مكالمات روزانه ما نقش ويژه اي پيدا نموده است. نرم افزار چيست؟ وظيفه اساسي نرم افزار ها چيست؟ پياده سازي نرم افزار و پروسه آن چيست؟ ادامه مطلب
امتیاز:
بازدید:
در شرايطيكه مقالهها مرتبط با جاوا را دنبال كرده باشيد مي دانيد طراحي اپليكيشن كه جاوا يك حوزه نرم افزارنويسي شيگرا ست كه با به كار گيري از آن مياقتدار اپليكيشنهاي بخش اعظمي را پايين دسكتاپ، پايين اينترنت و يا اين كه نرم افزارهاي گوشي ساخت. گويش جاوا به انگيزه خصوصيتهايي همانند امنيت بالا و قابل حمل بودن كدهاي درج شده در آن، برنامه نويس ها اكثري را در سراسر عالم به خويش جلب نموده است. دراين مقاله قرار ميباشد درخصوص خطاهاي متداول دراين لهجه سخن كنيم. راياپارس در بنا شده در گويشهاي نرمافزار نويسي گونه هاي اشتباهات يك قسمت جداناپذير از آن ها ميباشند. اما آشنايي و رفع هركدام از اين مشكلات مي تواند براي هر اپليكيشن نويسي يك چاره توليد نمايد تا در اين باره چيرهخيس فعاليت نمايد ۱) Expected معمولا اين پيغام غلط به جاي دقيقي كه در آن اشتباه صورت داده ميباشد اشاره نمينمايد. ۲) Unclosed String Literal نكته: در شرايطي كه كه يك فن از اجزاي مختلفي درست شده باشد كه به وسيله نشان “+” به هم متصل گرديده و فن را تشكيل دهند، ممكن ميباشد گذاشتن كوتيشن ميان آنها فراموش گردد. نكته: در كنار كوتيشنهايي كه بخشي از string ميباشند مي بايست از “” به كار گرفت. ۳) Illegal Start of an Expression وقتي كه براي تعريفوتمجيد يك مقدار نو يا اين كه تخصيص يك مقدار به متغير از يك عبارت استعمال ميكنيم، ممكن ميباشد كامپايلر به جهت پيدا نكردن سينتكس آيتم انتظارش آن مقدار را شناسايي نكند و اين غلط صورت دهد. ۴) x Cannot Find Symbol دلايلي كه ميتوانند سبب اخذ پيغام خطاي Cannot Find Symbol شوند: املاي غلط شناسه كه موجب عدم تطبيق آن با شناسهي تمجيد گرديده ميگردد. ادامه مطلب
امتیاز:
بازدید:
كيت بسط مستقر يا اين كه Native Development Kit، به برنامه نويس ها طراحي اپليكيشن و يوزرها اين اذن را مي دهد كه كدهايي كه به لهجه C و ++C مندرج ميباشد را در نرم افزار خويش اعمال نمايند. Gradle نكته: در اندروبد استوديو پلاگين اي به نام گرادل وجود دارااست كه شما مي توانيد از روش آن به سادگي از نرم افزار خويش خروجي اخذ نمائيد. اين پلاگين به گويش groovy مندرج ميباشد و اين قضيه فعاليت اپليكيشن نويس اندرويد را بسيار شل نموده است، به دليل آنكه ديگر نياز به يادگيري اين گويش نرمافزار نويسي نيست.(از مزاياي اندرويد استوديو) شناسه نرم افزار اندرويد (Manifest) اسم بسته (Package name) ادامه مطلب
امتیاز:
بازدید:
درحالتي كه activity و service هر دو در فرايندي يكسان اعمال شوند، طراحي اپليكيشن درين وضعيت activity قدرتمند خواهد بود به خدمت مستقيما به طور دو طرفه وصل گردد. طريق حاضر از في مابين آيتم هايي كه تا به امروز تيتر گرديده، با صرفه ترين بوده و براي وقتي كه activity نياز دارااست با خدمت با سرعت بالا تبادل داده داشته باشد بسيار مطلوب ميباشد. ناگفته نماند كهاين نحوه فقط براي خدمت هاي محلي (خدمت هايي كه) قابل طراحي و استعمال ميباشد. Handler و ResultReceiver يا اين كه Messenger Messenger در واقع اينترفيس parcelable را طراحي مي نمايد، بهاين مضمون كه مي قدرت آن را به مراحل ديگر ارسال كرده و با به كار گيري از اين آبجكت Mesغير مجاز مي باشدe هايي را به Handler در activity ارسال نمود. Messenger همينطور متدي به اسم getBinder را ارائه ميدهد. اين سياق امكان ارسال آبجكتي از فرآورده Messenger به activity را مهيا مي كند. activity نيز متعاقبا توانمند خواهد بود Mesغير مجاز مي باشدe هاي (مثال هايي از كلاس Mesغير مجاز مي باشدe كه دربردارنده تعريف و آبجكت هاي داده اي دلخواه ميباشد) زيادي را به خدمت متبوع ارسال نمايد. اين طريق براي خدمت هاي محلي كه در پروسه خويش انجام مي گردند، قابل به كارگيري است. اتصال به خدمت در روند ديگر با به كار گيري از AIDL توصيه ميشود از اين شيوه وقتي به كارگيري فرماييد كه مايحتاج باشد به سرويسي كه در فرآيند ديگري در درحال حاضر جاري ساختن ميباشد متصل گرديد. مثلا وقتي كه نرم افزار هاي ديگر درخواست به كار گيري از خدمت متبوع را داشته باشند مي بايست از اين شيوه استفاده نمود. گردآوري بندي هريك از كامپوننتهاي اساسي اندرويد ميتوانند يك started service را استارت نمايند. ادامه مطلب
امتیاز:
بازدید:
[ ۱ ][ ۲ ][ ۳ ][ ۴ ][ ۵ ][ ۶ ][ ۷ ][ ۸ ][ ۹ ][ ۱۰ ][ ۱۱ ][ ۱۲ ][ ۱۳ ][ ۱۴ ][ ۱۵ ][ ۱۶ ][ ۱۷ ][ ۱۸ ][ ۱۹ ][ ۲۰ ][ ۲۱ ][ ۲۲ ][ ۲۳ ][ ۲۴ ][ ۲۵ ][ ۲۶ ][ ۲۷ ][ ۲۸ ][ ۲۹ ][ ۳۰ ][ ۳۱ ][ ۳۲ ][ ۳۳ ][ ۳۴ ][ ۳۵ ][ ۳۶ ][ ۳۷ ][ ۳۸ ][ ۳۹ ][ ۴۰ ][ ۴۱ ][ ۴۲ ][ ۴۳ ][ ۴۴ ][ ۴۵ ][ ۴۶ ][ ۴۷ ][ ۴۸ ][ ۴۹ ][ ۵۰ ][ ۵۱ ][ ۵۲ ][ ۵۳ ][ ۵۴ ][ ۵۵ ][ ۵۶ ]
|
|
[قالب وبلاگ : سایت آریا] [Weblog Themes By : sitearia.ir] |