برخلاف سری قبلی که خیلی طول کشید تا نسخه‌ی جدیدی از حِلما منتشر بشه، ایندفعه توی کمتر از یک هفته نسخه‌ی ۰٫۲٫۰ هم منتشر شد. دلیلش اینه که در نسخه‌ی قبلی، داخل پروژه‌ اندرویدی که حِلما تولید میکرد از قابلیت‌های آخرین نسخه‌ی کتابخونه‌‌ی دگر۲ (نسخه‌ی ۲.۱۱) استفاده نمیشد و نیاز بود تا حِلما به‌روز بشه. مهمترین تغییر این نسخه‌ی حلما استفاده از ماژول اندروید کتابخونه دگر هست که شکل تزریق وابستگی‌ها به اکتیویتی و فرگمنت رو کاملا عوض میکنه. در ادامه میتونید لیست تغییرات جدید رو ببینید. ادامه …

اگر پروژه‌هاتون رو براساس الگوی معماری MVP درست میکنید، احتمالا از ساخت فایل‌های اضافه برای هر اکتیویتی یا فرگمنت خسته شدید. اینجاس جنریتور میتونه کلی از کارتون کم کنه! و این وظیفه رو به عهده بگیره. خودم از وقتی که نسخه‌ی خیلی اولیه جنریتور رو منتشر کردم، ازش استفاده میکنم. مزیت جنریتور در ساخت فایل‌های مرتبط با MVP و … نسبت به روش‌های دیگه اینه هم سریع‌تر هست و هم اینکه مثل روش کپی پیست باگ تولید نمیکنه (مثلا پیش نمیاد یادتون بره یه فیلد رو rename کنید).

توی این مدت یه سری مشکلات داخلش پیدا کردم. بین پروژه‌ها دو روزی فرصت شد تا برای بهبود و توسعه‌اش وقت بذارم. البته مهمترین مشکل نسخه‌ی قبل نداشتن راهنما برای استفاده بود. در ادامه تغییرات جدید و نحوه‌ی استفاده از جنریتور رو براتون توضیح میدم. ادامه …

در قسمت قبل نحوه‌ی استفاده از Component.Builder@ و BindsInstance@ رو توضیح دادم، توی این پُست قراره در مورد دو نکته‌ی بعدی بنویسم. اگر میخواید به سورس کامل دسترسی داشته باشید به ریپوی SearchMovies برید.

ادامه …

خیلی وقت بود در مورد dagger2 (دگر۲) چیزی  نخونده بودم تا اینکه دوباره فرصت شد مقاله‌های جدیدی بخونم و ۳ تا نکته‌ی جدید ازشون یاد بگیرم. این سه نکته رو در قالب دو پُست بلاگ توضیح میدم. برای اینکه کاربردشون رو بهتر نشون بدم، هر نکته رو در قالب یک کامیت روی پروژه‌ی SearchMovies اعمال کردم.

ادامه …

گاهی پیش میاد به عنوان برنامه‌نویس اندروید نیاز میشه که یک کتابخونه‌ی جاوا رو تست کنید. مثلا فکرکنید میخواید ویژگی خاصی رو توی dagger2 یا retrofit امتحان کنید اما تا بخواید پروژه اندروید بسازید و هر بار منتظر بشید تا build بشه! خیلی وقتتون گرفته میشه.

در این موارد ساختن یه پروژه‌ی console application جاوا میتونه خیلی کمک کنه. اینجوری درگیر lifecycle اکتیویتی یا درست کردن فایل xml و … هم نمیشید و می‌تونید تمرکزتون رو روی اون موضوعی که میخواید تست کنید بذارید. فقط اگر پروژه‌ی معمولی جاوا بسازید باید خودتون فایل‌ jar کتابخونه‌هایی که نیاز دارید رو پیدا کنید و چیزی مثل gradle توی اندروید نیست تا کمکتون بکنه. برای حل این مشکل میشه از maven استفاده کرد، بهش dependecyهاتون رو شبیه gradle در یک فایل ‍xml معرفی میکنید و بقیه کار رو به اون میسپرید. بعدش میتونید خیلی راحت از کتابخونه‌ها توی کدتون استفاده کنید.

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

ادامه …

چندماه از وقتی که وب‌سرویس MoviesApi رو با هدف آموزشی درست کردم میگذره. توی این مدت فرصت نشده بود تا قابلیتی بهش اضافه کنم. بالاخره دیروز بعد چند ساعت کلنجار رفتن با لاراول تونستم امکان احراز هویت از طریق oAuth رو براش درست کنم. مزیتش اینه اگر کسی میخواد احراز هویت از طریق oAuth با password grant type  رو توی اندروید، iOS یا هر زبان دیگه‌ای یاد بگیره، میتونه با این وب‌سرویس تمرین کنه. برای پیاده‌سازی oAuth از Passport استفاده کردم و فقط یه تغییر کوچیک دادم که نیاز نباشه client_secret و client_id برای دریافت توکن ارسال بشه. ادامه …

چند وقت پیش در بلاگم پستی با تیتر “سوالات متداول توسعه‌دهندگان تازه کار اندروید” نوشتم. سوال ۸ام اون پست “چطور میشه برنامه‌نویسی اندروید رو یاد گرفت؟” بود که جوابشو بصورت خلاصه نوشته بودم. این مقاله درواقع جواب کامل اون سوال هست و داخلش منابعی رو که خودم در سه سال گذشته ازشون استفاده کردم و برنامه‌نویسی اندروید یاد گرفتم رو بهتون معرفی میکنم. در طول این سه سال گذشته در هیچ شرکت یا تیم اندرویدی نبودم و فقط از منابع داخل این پست برای یادگیری اندروید استفاده کردم. در ادامه میتونید با این منابع و روشی که ازشون استفاده میکنم آشنا بشید.

train ادامه …

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

1dd

ادامه …

شخصا برام درست کردن رابط کاربری خوشگل خیلی خیلی سخت هست. جدای اینکه بهترین کار اینه کسی باشه و بهش بگید براتون طرح کار رو بکشه😃 بعضی وقتا مجبورید خودتون اینکارو بکنید. در این مواقع یکی از راه‌ها اینه که از کارهای بقیه الگو بگیرید. امروز لیستی از سایت‌هایی که توی این راه بهتون کمک میکنند رو معرفی میکنم. ادامه …

توو این پست میخوام جواب سوالات متداولی که توی گروه‌های تلگرام یا بصورت خصوصی از خودم خیلی پرسیده میشه رو بدم. خوبی اینجا نسبت به تلگرام اینه که این جواب‌ها همیشه در دسترس هست و زیر بقیه‌ پیام‌های گروه گم نمیشند. تقریبا نفراتی که تازه با اندروید آشنا میشند، سوالات مشابهی در ذهنشون درست میشه. این سوالات و جواب‌هاشون رو در ادامه بخونید. ادامه …