مجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت ششم

سلام و خسته نباشید خدمت همهقسمت ششم از مجموعه تقلب مصاحبه شغلی برنامه نویس اندروید رو در پیش داریم که میتونید از طریق لینک های زیر به توضیحات و قسمت های قبلی دسترسی داشته باشید ، امروز میریم سراغ ده سوال بعدی...مجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت اولمجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت دوممجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت سوممجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت چهارممجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت پنجم ۵۱ـ Loader در اندروید چیست ؟لودر ها در API ورژن ۱۱ توسط گوگل معرفی شدند که وظیفه ی آن ها لود کردن اطلاعات از یک منبع برای نمایش در اکتیویتی یا فرگمنت است. لودر ها نتایج را هنگام تغییرات تنظیماتی کش کرده و آن ها را ذخیره می کند و از استفاده کوئری های تکراری جلوگیری می کند.۵۲. تفاوت Dialog و DialogFragmnet چیست؟DialogFragmnet ها در اصل فرگمنت هایی هستند که شامل یک دیالوگ شناور بالای اکتیویتی هستند و این فرگمنت وضعیت مناسبی را برای نمایش دیالوگ فراهم میکند در صورتی که Dialog ها کاملا به اکتیویتی ها وابسته هستند و در صورتی که اکتیویتی چرخانده شود دیالوگ ها dismiss می شوند اما DialogFragmnet ها حواسشان به تغییرات تنظیماتی هست.۵۳. تفاوت margin و padding چیست ؟padding فضا را درون container افزایش می دهد در صورتی که margin فضای بیرون نگهدارنده ( container ) را افزایش می دهد۵۴ـ ViewGroup ها چیستند و چه تفاوتی با View ها دارند ؟View : آبجکت های View اساسی ترین بلاک های رابط کاربری در اندروید هستند. View یک مستطیل ساده است که به اعمال کاربر واکنش نشان می دهد مانند EditText و Button و...مرجع View ها کلاس android.view.View است که اساسی ترین کلاس تمامی المان های رابط کاربری است.ViewGroup : در اصل یک نگهدارنده ( container ) پنهان است که View ها و ViewGroup ها را در خود نگه می دارد برای مثال LinearLayout یک ViewGroup است که می تواند یک button که یک View است را در خود نگهدارد همچنین دیگر لی اوت ها و ... . ViewGroup کلاس اساسی Layout هاست.۵۵. تفاوت فایل تصویری .png ساده و nine-patch چیست ؟فایل های nine-patch بیتمپ هایی با قابلیت تغییر اندازه هستند که به عنوان پس زمینه یا دیگر تصاویر اندروید استفاده می شوند. کلاس nine-patch توانایی رسم بیتمپ ها در ۹ قسمت را دارد. ۴ گوشه تصویر که قابلیت تغییر اندازه ندارند. ۱ قسمت در وسط تصویر که قابلیت تغییر اندازه در راستای دو محور را دارد و همچنین ۴ قسمت وسط اضلاع که قابلیت تغییر اندازه در راستای یک محور را دارد.۵۶.تفاوت Relative Layout و Linear Layout چیست ؟Linear Layout : المان ها را در یک راستا به صورت عمودی یا افقی در کنار هم میچیند.Relative Layout : المان ها را توسط ارتباطشان به والد یا دیگر المان ها میچیند.۵۷ـ ConstraintLayout چیست؟توسط ConstraintLayout می توانید layout های مسطح و سلسله مراتبی ( نه تو در تو ) را به راحتی پیاده سازی کنید. شباهت بسیاری به RelativeLayout دارد با این تفاوت که در آن ویو ها توسط ارتباطشان با یک دیگر و layout والد طراحی می شوند همچنین انعطاف پذیر تر از RelativeLayout است و کار با آن توسط ادیتور اندروید استودیو بسیار ساده تر است.۵۸. چه زمانی باید از FrameLayout استفاده کرد ؟FrameLayout به گونه ای طراحی شده که تنها یک شئ را در خود نگهداری کند و گزینه خوبی برای مواقعی است که شما نیاز به نمایش یک ویو دارید ؛ اگر چندین ویو را به صورت متوالی به FrameLayout اضافه کنید آن ها را به صورت پشته مانند بر روی هم نمایش می دهد پس برای زمانی که نیاز به روی هم گذاری ویو ها دارید نیز به کار شما می آید.۵۹ـ Adapter ها چیستند ؟آداپتر ها در اساس وظیفه تبدیل را بر عهده دارند خصوصا در اندروید وظیفه تبدیل هرگونه داده را به View دارند و آن ها را به یک AdapterView پاس می دهند. ( مانند ListView یا RecyclerView )۶۰. چگونه اندازه صفحات مختلف را پشتیبانی کنیم ؟ساخت یک لی اوت انعطاف پذیر : بهترین راه برای ساخت لی اوت های ریسپانسیو استفاده از Constraint layout به عنوان لی اوت اساسی رابط کاربری است ؛ چون کانسترینت لی اوت ویو ها را توسط ارتباطشان با یک دیگر اندازه دهی می کند می توانید آن ها را جا به جا یا کشیده کنید زمانی که از اندازه صفحات مختلف استفاده می شود.ساخت nine-patch های دارای قابلیت کشیدگیخودداری از hardcode کردن اندازه لی اوت ها : از wrap_content یا match_parent استفاده کنیداز صفت های کوچکترین پهنا ( smallest width qualifier ) استفاده کنید : می توانید یک main_activity بسازید و با استفاده از صفت های کوچکترین پهنا آن را برای محدوده پهناهای مختلف آماده سازی کنید به عنوان مثال : res/layout/main_activity.xml و res/layout-sw600dp/main_activity.xmlترجمه متنی از Anitaa Murthyتشکر بابت مطالعه پستلایک و حمایت یادتون نرهسوالی بود درخدمتمنوشته شده با ❤️ توسط کوچیکتون حمیدرضا شجراوی =)))