اکتبر 29, 2016
xamarin permission

مجوزها در زامارین (بخش اول)

مجوزها در زامارین می توانید از قالب پشتیبانی شده در ویژوال استودیو برای افزودن مجوزها در Manifest اندروید استفاده نمایید . فقط درخواست می دهید که برنامه برای اجرا نیاز به آن مجوز دارد ،زمانی که کاربران نرم افزار را دانلود می کنند باید این مجوز را بدهند. این راهنما توضیح می دهد که چگونه یک مجوز در ویژوال استودیو اضافه می شود و در این رابطه باید طریقه ی اضافه کردن به manifest را مطالعه فرمایید. 1- روی Properties در Solution Explorer دابل کلیک نمایید و در صفحه ی باز شده تب Android Manifest را انتخاب نمایید: 2- اگر […]
اکتبر 26, 2016

ذخیره حالت Activity در زامارین

ذخیره حالت Activity در زامارین در این بخش تئوری پشت ذخیره حالت در چرخه حیات Activity در زامارین توضیح داده می شود. ابتدا پروژه activity lifecycle را باز کرده و build و run کنید. پروژه بسیار ساده ای است که 2 تا activity دارد که نشان می دهد چرخه حیات چگونه است و متدهای مختلف به چه صورتی فراخوانی می شوند. زمانی که پروژه بالا می آید MainActivity به صورت زیر نمایش داده می شود: تراکنش های View State تمامی متدهای این نمونه کد در پنجره خروجی اپلیکیشن IDE نوشته شده است تا حالت های activity نمایش داده شود (برای […]
اکتبر 24, 2016
activity lifecycle

چرخه حیات Activity در زامارین (بخش پنجم)

چرخه حیات Activity در زامارین تداوم پیچیدگی اطلاعات علاوه بر تداوم دیتا در bundle، اندروید ذخیره اطلاعات را با override کردن OnRetainNonConfigurationInstance و بازگشت نمونه از Java.Lang.Object که شامل تداوم دیتا می شود را پشتیبانی می کند. 2 هدف اصلی برای ذخیره حالت با استفاده از OnRetainNonConfigurationInstance وجود دارد: 1- آبجکت برگشت داده شده از OnRetainNonConfigurationInstance در مقیاس بزرگ و دیتا تایپ های پیچیده به خوبی انجام می شود و دلیل آن این است که حافظه آبجکت را بر می گرداند. 2- متد OnRetainNonConfigurationInstance طبق نیاز و تقاضا فراخوانی می شود که مقرون به صرفه تر از استفاده از یک […]
اکتبر 22, 2016
activity lifecycle

چرخه حیات Activity در زامارین (بخش چهارم)

چرخه حیات Activity در زامارین Bundle State گزینه اصلی برای ذخیره حالت instance استفاده از آبجکت دیکشنری key/value که به عنوان bundle شناخته می شود است. همانطور که قبلا گفته شد زمانی که یک activity ایجاد می شود متد OnCreate به عنوان پارامتر bundle را پاس می دهد. این bundle می تواند حالت instance را restore کند. در زمانی که دیتا پیچیده است و به سادگی و با سرعت در key/value pair سریالایز نمی شود، استفاده از bundle توصیه نمی شود (مانند bitmapها) بلکه باید آن را برای مقدار ساده مانند رشته مورد استفاده قرار داد. هر activity روشی برای […]
اکتبر 20, 2016
activity lifecycle

چرخه حیات Activity در زامارین (بخش سوم)

چرخه حیات Activity در زامارین OnStop این متد زمانی فراخوانی می شود که activity دیگر برای کاربر قابل مشاهده نیست و زمانی اتفاق می افتد که یکی از اتفاقات زیر روی دهد: 1- activity جدید آغاز شده باشد و تحت پوشش قرار بگیرد 2- activity های موجود که به پیش زمینه آورده می شوند 3- activity ها destroy شوند OnStop معمولا در وضعیت low-memory فراخوانی نمی شود مانند زمانی که اندروید برای کمبود منبع دارد و نمی تواند به درستی activity را در بک گراند اجرا کند. برای حل این مشکل بهتر است در زمان destroy شدن activity به فراخوانی […]
اکتبر 16, 2016
activity lifecycle

چرخه حیات Activity در زامارین (بخش دوم)

چرخه حیات Activity در زامارین ایجاد مجدد Activity در پاسخ به تغییرات پیکربندی برای این که مسائل پیچیده تر شوند اندروید تغییرات پیکربندی را نیز اضافه کرده است. تغییرات پیکربندی چرخه ایجاد مجدد/تخریب activity را سریع می کند و زمانی اتفاق می افتد که پیکربندی activity تغییر کند مانند زمانی که دستگاه چرخانده می شود ( و activity نیاز به rebuild شدن در حالت landscape یا portrait دارد) یا زمانی که کیبورد نمایش داده می شود ( و activity با فرصتی برای تغییر سایز نمایش داده می شود). تغییرات پیکربندی هنوز هم دلیل تغییر حالت activity است که در زمان […]
اکتبر 12, 2016
activity lifecycle

چرخه حیات Activity در زامارین (بخش اول)

چرخه حیات Activity در زامارین Activityها پایه های اصلی اپلیکیشن های اندروید هستند و می توانند در حالت های مختلف وجود داشته باشند.چرخه حیات activity با یک instantiation شروع و با destruction با پایان می رسد. در این بین حالت های مختلفی را شامل می شود. زمانی که حالت activity تغییر می کند متد مناسب چرخه حیات فراخوانی می شود و activity را از یک تغییر حالت ناگهانی مطلع می سازد و به منظور انطباق با این تغییر اجازه اجرای کد را به آن می دهد. این مقاله به بررسی چرخه حیات activityها و مسئولیتی که هر activity در طول […]
سپتامبر 29, 2016
android-marshmallow

اندروید مارشمالو در زامارین (بخش چهارم)

اندروید مارشمالو در زامارین تب های سفارشی کروم تب های کروم این امکان را برای کاربر فراهم می کند تا کاربران بدون خروج از اپلیکیشن بتوانند وب سایت ها را نمایش دهند. این قابلیت به اپلیکیشنتان کنترل بهتری روی وب به کاربر می دهد. این کار انتقال یکپارچه بین زبان و محتوای وب بدون نیاز به WebView ایجاد می کند. موارد سفارشی کردن زیر به ایجاد احساس بهتر به کاربر کمک می کند: 1- Toolbar color 2- انیمیشن های ورود و خروج 3- اکشن های سفارشی در نوار ابزار کروم و overflow menu 4- pre-start کروم و pre-fetch محتوا ( […]
سپتامبر 23, 2016
android-marshmallow

اندروید مارشمالو در زامارین (بخش سوم)

اندروید مارشمالو در زامارین قابلیت های جدید بسیاری از تغییرات معرفی شده در اندروید مارشمالو در بهبود کاربری اندروید، افزایش عملکرد و رفع اشکالات متمرکز شده است. با این حال، مارشمالو نیز برخی از تغییرات گسترده را در اصول و مبانی پلت فرم اندروید معرفی می کند. در ادامه در مورد پیشرفت های برجسته در اندروید مارشمالو بحث خواهد شد. مجوزهای RunTime سیستم مجوزدهی اندروید مارشمالو نسبت به اندروید لیلی پاپ به طور قابل توجهی بهینه سازی و ساده شده است. در اندروید 6.0 مارشمالو کاربران اجازه دسترسی مورد به مورد در زمان اجرا دارند. برای پشتیبانی از این قابلیت […]