بایگانی برچسب: s

retrofit-2-android-tutorial-cover

آموزش اندروید-فصل ۲۷-۸: Retrofit چیست و چطور کار می‌کند

مقدمه

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

در این بخش می‌خواهم شما را با Retrofit آشنا کنم. طبق تعریفی که خود پدیدآورندگان Retrofit کرده‌اند:

یک کلاینت REST نوع-امن جاوا و اندروید

است. از حاشیه‌نوشت‌های جاوا برای توصیف درخواست‌های HTTP و جانگهدارهای پارامترهای URL و … استفاده می‌شود. همچنین می‌توان از آن برای آپلود فایل و بدنه درخواست چندپاره (Multipart request body) استفاده کرد.

نکته: رتروفیت (Retrofit) نسخه ۲ کاملاً متفاوت با نسخه‌های ماقبل است. در این نوشته ما فقط از رتروفیت نسخه ۲ استفاده می‌کنیم و به نسخه‌های ماقبل آن کاری نداریم. اگر احیاناً آموزشی را از اینترنت می‌گیرید، حتماً حواستان به نسخه Retrofit هم باشد.

ادامه مطلب

REST-api-android-retrofit

آموزش اندروید-فصل ۲۷-۷: REST چیست

مقدمه

تا این جا مطالب زیادی درباره اتصال برنامه‌های اندروید به یک سرور و ارسال و دریافت اطلاعات نوشتیم:

در ادامه مباحث مرتبط با اتصال برنامه‌های اندروید به سرور می‌خواهم شما را با یک معماری و یک مفهوم بسیار پرکاربرد آشنا کنم: REST.

ادامه مطلب

android-image-library-Glide

آموزش اندروید-فصل ۲۷-۶: Glide چیست و چطور کار می‌کند

مقدمه

در ادامه مباحث مرتبط با اتصال برنامه‌های اندروید به اینترنت و وب، این بار به سراغ عکس‌ها و تصاویر می‌رویم.

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

همانطور که می‌دانید نظر من و بسیاری از برنامه‌نویسان اندروید این است که به جای درگیر شدن در پیاده‌سازی جزئیات این فرایندهای پیچیده، بهتر است از کتابخانه‌های موجود استفاده کنیم. برای دانلود و دستکاری عکس‌ها در اندروید کتابخانه‌های زیادی وجود دارد که معروف‌ترین آن‌ها Picasso و Glide هستند. در این مطلب نحوه کار کردن با Glide را به شما آموزش خواهم داد.

ادامه مطلب

gson

آموزش اندروید-فصل ۲۷-۵: GSON چیست و چطور کار می‌کند

در این سری مطالب مرتبط با اینترنت این‌ها را گفتیم: دریافت اطلاعات از اینترنت، ارسال اطلاعات به اینترنت، نکات پیشرفته OkHttp و فرمت متداول و محبوب JSON برای تبادل اطلاعات.

در این مطلب می‌خواهیم نحوه کار کردن با JSON را ببینیم. برای تولید JSON از اشیاء جاوا و ساختن اشیاء جاوا از روی یک JSON کتابخانه‌های زیادی وجود دارد. یکی از معروف‌ترین و کاربردی ترین آن‌ها GSON است که توسط گوگل توسعه داده شده است.

در این مطلب با مثال‌هایی سعی می‌کنم نحوه کار GSON را در حدی که برای کارهای معمول به آن نیاز دارید به شما نشان بدهم.

ادامه مطلب

android-internet-connection-explained

آموزش اندروید-فصل ۲۷-۳: نکات پیشرفته OkHttp

در دو نوشته قبلی (اینجا و اینجا) به طور خیلی ساده نحوه کار کردن با OkHttp برای دریافت و ارسال اطلاعات از/به اینترنت گفتیم. در این مطلب کمی بیشتر با امکانات OkHttp کار می‌کنیم. امکاناتی که تقریباً همه جا به آن‌ها نیاز خواهیم داشت.

ادامه مطلب

android-internet-connection-explained

آموزش اندروید-فصل ۲۷: اتصال به اینترنت در اندروید-۱

مقدمه

برای بسیاری از کارها لازم است که برنامه‌های اندروید به اینترنت متصل شوند و داده‌ها را از اینترنت بگیرند یا داده‌هایی که در برنامه تولید شده را به سرور ارسال کنند. قطعاً مثال‌های زیادی می‌توانید از نیاز به اتصال اینترنتی در برنامه‌ها مثال‌های زیادی بزنید. بنابراین به جای پرداختن به حاشیه‌ها، مستقیم می‌رویم سراغ کد!

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

ادامه مطلب

What-2-Years-of-Android-Development-Have-Taught-Me-the-Hard-Way

آنچه بعد از دو سال برنامه‌نویسی اندروید آموختم-قسمت سوم

در قسمت اول و دوم این مطلب ۱۰ تا از توصیه‌های Aritra Roy را با هم مرور کردیم. در این مطلب بخش دیگری از توصیه‌های وی را با هم می‌خوانیم.

۱۱- با تنظیم بیلد گریدل پنج ساعت در هفته در وقت صرفه‌جویی کن

بسیار محتمل است که از اندروید استودیو و گریدل برای توسعه برنامه‌های اندروید استفاده کنی. گریدل عالی ولی کند است و وقتی پروژه کمی بزرگ‌تر شود کندتر هم می‌شود.

ساعت‌های بی شماری را به باد می‌آورم که بیکار می‌نشسم تا بیلد گریدل تمام شود. در زمان‌های شلوغی کار به راحتی یک ساعت از وقت من صرف بیلدهای گریدل می‌شود و این یعنی ۵ ساعت در هفته و ۲۰ ساعت در ماه.

اما راه‌هایی هست تا گریدل را سریع‌تر کنی.

برای این کار اینجا و اینجا را ببین. با استفاده از این رهنمودها و بهینه‌سازی مناسب، زمان بیلد من از چهار دقیقه به حدود ۳۰ ثانیه رسید.

ادامه مطلب

What-2-Years-of-Android-Development-Have-Taught-Me-the-Hard-Way

آنچه بعد از دو سال برنامه‌نویسی اندروید آموختم-قسمت دوم

در قسمت قبل پنج توصیه Aritra Roy را خواندید. در این مطلب ادامه مطلب را می‌خوانیم:

۶- از معماری مناسب استفاده کن

همیشه از خودت به خاطر انتخاب یک معماری مناسب در اول کار، سپاسگزار خواهی بود. می‌توانی از MVP یا همان Model-View-Presenter استفاده کنی که برنامه را به لایه‌های متفاوتی تجزیه می‌کند تا مدیریت آن ساده‌تر باشد. این باعث می‌شود تا انعطاف کد بالاتر برود و زمان نگهداری آن کاهش یابد.

این یک پروژه دموی بسیار عالی برای شروع است. اگر با مفهموم آشنا نیستید می‌توانید این راهنمای دقیق و با جزئیات را بخوانید.

جایزه: حتما این و این را ببینید. اینها کمک بزرگی به پیاده‌سازی MVP در پروژه به شما می‌کنند.

ادامه مطلب

0to100-part-002-cover

صفر تا صد: ۲- ویژگی‌های برنامه برای نسخه جدید

در ادامه پروژه صفر تا صد بازنویسی فرایاد، فلسفه برنامه و نظر کاربران را بررسی کردیم. حالا وقت آن است که ویژگی‌های برنامه را برای نسخه جدید بررسی کنیم. در انتهای این فرایند به یک نگاه کلی از نسخه جدید برنامه خواهیم رسید و این که نسخه جدید چه شکلی خواهد بود. بعد از تهیه فهرست ویژگی‌ها می‌توانیم طراحی اولیه نسخه جدید را انجام بدهیم. در طراحی هم سعی می‌کنیم تا حد امکان اصول طراحی تجربه کاربری (UX) و رابط کاربری (UX)  بر اساس طراحی متریال گوگل را رعایت کنیم.

ادامه مطلب