سرفصل مطالب
درس اول: آشنایی با View و ViewGroup در اندروید
– ساختار درختی View و ViewGroup
– ویژگیهای Height و Width و مختصات View
– معنی واحد dp در توسعه اندروید
– ساختار تودرتو در طراحی Layout
– آشنایی با LinearLayout و چیدمان خطی
– آشنایی با ConstraintLayout و چیدمان flat
درس دوم: ایجاد پروژه اپلیکیشن «درباره من»
– ایجاد یک پروژه اندروید بدون اکتیویتی
– افزودن اکتیویتی به پروژه بدون Layout
– افزودن Layout و تعریف پوشه layout
– فراخوانی layout در کلاس اکتیویتی
– آشنایی با ویرایشگر Design و Text
– افزودن TextView به پروژه و تنظیمات آن
– تبدیل متن، رنگ و اندازه TextView به منابع پروژه در پوشه res
درس سوم: تنظیم و تعریف استایل یک View در اندروید
– تنظیم margin به صورت استاندارد برای TextView
– تنظیم padding به صورت استاندارد برای TextView
– فرق margin و padding در اندروید
– تعریف پوشه font و استفاده از font اختصاصی
– استخراج ویژگیهای TextView به صورت یک style
درس چهارم: کار با ImageView در اندروید
– افزودن ImageView و تفاوت آن با AppCompatImageView
– افزودن تصویر به عنوان srcCompat (سورس) ImageView
– تنظیم مقدار contentDescription و کاربرد آن
درس پنجم: استفاده از تصاویر Vector Drawable در اندروید
– استفاده از وبسایت IconFinder برای دریافت یک png
– قرار دادن تصویر png در پوشه drawable
– مشکلات استفاده از تصاویر PNG
– دریافت یک تصویر وکتوری از وبسایت Material Design Icons
– – استفاده از تصویر Vector Drawable به عنوان تصویر ImageView
– رفع خطای نمایش وکتور با افزودن useSupportLibrary به گریدل
درس ششم: استفاده از ScrollView برای نمایش محتوای طولانی
– افزودن ScrollView و ویژگی فرزند آن
– افزودن TextView به عنوان فرزند ScrollView
– تنظیم استایل TextView های بدنه
– آشنایی با نحوه تغییرنام منابع با Refactoring
– تنظیم فاصله خط ها در TextView با LineSpacingMultipler
– اجرا و صحت سنجی پروژه
درس هفتم: استفاده از EditText برای دریافت ورودی کاربر
– آشنایی با انواع Edit Text در پلت طراحی اندروید استودیو
– افزودن EditText و تنظیم ویژگی padding برای آن
– تنظیم padding برای کل صفحه طراحی
– تعیین hint برای EditText
– امکان تعیین ویژگیهای Text و استخراج Style
– تعیین نوع ورودی (Input Type) برای EditText و کارکرد آن
– اجرای اپلیکیشن و کار با EditText در محیط مجازی
درس هشتم: افزودن Button و مدیریت کلیک کاربر
– آشنایی با AppCompatButton در اندروید
– استفاده از استایل Button.Colored از کتابخانه اندروید
– آشنایی با ویژگی background و textStyle دکمه
– تعریف id برای View ها و یافتن آن در کد با findViewById
– آشنایی با تابع setOnClickListener و مدیریت کلیک کاربر
– آشنایی با ویژگی Visibility و تفاوت GONE و INVISIBLE
درس نهم: مفهوم و پیادهسازی Data Binding در پروژه اندروید
– آشنایی با مفهوم Data Binding و تفاوت آن با رویکرد Find Views
– فعال کردن DataBinding در گریدل پروژه
– افزودن تگ layout به ریشه فایل xml
– افزودن یک نمونه از کلاس DataBindingView به اکتیویتی
– مقداردهی به binding در متد onCreate اکتیویتی
– دسترسی به Viewها از طریق آبجکت binding
– اصلاح رویداد کلیک دکمه با آبجکتهای کلاس binding
– استفاده از متد app;y از کلاس Binding برای خوانایی پروژه
درس دهم: مقید کردن دادهها با Data Binding
– تشخیص گونههای داده در اپلیکیشن
– مدلسازی گونه دادهها به صورت Data Class کاتلین
– افزودن تگ data و متغیر variable به فایل xml
– اتصال دادههای فایل xml به دادههای کلاس کاتلین
درس یازدهم: ایجاد پروژه اپلیکیشن «رنگ آمیزی»
– بستن پروژه قبلی با سپردن دو تمرین: RelativeLayout و
FrameLayout
– ایجاد پروژه Color My View با یک اکتیویتی خالی
– نخستین برخورد با ConstraintLayout
– ویژگی Constraint و مقیدسازی Viewها به parent و دیگر Viewها
– ویژگی Bias و کاربرد آن در صفحههای کوچک
درس دوازدهم: طراحی Layout اپلیکیشن با ConstraintLayout
– کانسترینت لیوت را به صورت کاربردی بیاموزیم
– محدودیت ConstraintLayout در هنگام افزایش تعداد Viewها
– طراحی اولین باکس رنگی و استخراج استایل آن
– آشنایی با ویژگی 0dp به عنوان عرض و ارتفاع View
درس سیزدهم: تعیین ابعاد View به صورت نسبی (Ratio)
– طرح پرسش برای احساس نیاز به تعیین ابعاد نسبی
– کار با ویژگی Ratio در حالت Design و ِDimensionRation در xml
– کاربرد Ratio در تعیین نسبت عرض و ارتفاع View
درس چهاردهم: اشنایی با Chain و نقش آن در طراحی Layout اندروید
– مفهوم Chain در اندروید و حالتهای مختلف آن
– ایجاد سه TextView و ساخت زنجیر افقی میان آنها
– تعریف ChainStyle برای حلقه Head زنجیر
– مفهوم Spread و Spread Inside در زنجیرسازی
– وزن دهی و ایجاد Weighted Chain
– مفهوم چیدمان Packed و Packed Chain with Bias
درس پانزدهم: تمرین طراحی لیوت با Chain
– نمایش یک لیوت پیش ساخته
– بیان ویژگیهای لیوت طراحی شده
– سپردن طراحی لیوت به فراگیر
– پیوست سورس طراحی برای رفع اشکال پس از تلاش
درس شانزدهم: نوشتن رویداد کلیک همزمان برای چند View
– تغییر رنگ پس زمینه View ها به سفید
– تعریف مجموعه Viewها به صورت یک لیست
– اجرای حلقه For برای تنظیم رویداد کلیک برای تمام Viewها
– کار با When برای تعیین View کلیک شده توسط کاربر
– کار با متد setBackgroundColor و استفاده از کلاس Color
– کار با متد setBackgroundResource و استفاده از رنگهای اندروید
– معرفی حالت جایگزین برای رویداد کلیک به صورت تک تک برای تمام ویوها
درس هفدهم: آشنایی با Guideline و نقش آن در طراحی Layout اندروید
– توجیه لزوم استفاده از Guideline
– افزودن Guideline به لیوت اندروید
– آشنایی constraintGuide_begin
– آشنایی با constraintGuide_end
– انواع Vertical و Horizontal خط راهنما
درس هجدهم: آشنایی با Baseline و نقش آن در طراحی Layout اندروید
– ایجاد دو TextView با اندازه TextSize متفاوت
– توجیه لزوم استفاده از Baseline برای هم خط کردن Viewها
– نمایش خط بستر ویو با استفاده از گزینه Show Baseline
– استفاده از Align برای مقید کردن Baseline دو View
درس نوزدهم: جمعبندی و یادآوری ابزارهای ConstraintLayout
– افزودن دو دکمه به Layout
– تنظیم id و متن دکمهها
– تنظیم Constraint قائم برای یک دکمه
تنظیم Baseline برای مقیدسازی تراز دو دکمه
– استفاده از Bias برای تنظیم نسبی تراز قائم دو دکمه
– ایجاد Horizontal Chain بین دو دکمه
– تنظیم width دو دکمه به صورت 0dp برای وزن دهی در زنجیر
– افزودن رویداد کلیک دو دکمه به حلقه Listener در کلاس Activity
– سپردن تمرین و توصیههای آخر
محمد حسین جربان (خریدار محصول) –
ممنون از توضیحاتتون اما مشکل اصلی من در همون گیردل که نمیتونم ادرس گریدل دیمی بدم سر همون قسمت چهار گیر کردم و به کمک احتیاج دارم
مصطفی آصفی –
سلام به شما. ببینید درواقع مشکل عمده کاربران ایرانی با گریدل اینه که سرورهای گوگل تجریم هستن و باید وی پی ان خوب برای دریافت خودکار گریدل تنظیم شده داشته باشین. مثلا این فیلم (+) رو برای پاکسازی و سینک مجدد به کمک وی پی ان خوب ببینید. جالبه که ممکنه شما با وی پی ان خودتون بتونید به تلگرام یا حتی یوتیوب تو سیستم متصل بشین اما هر وی پی انی نمی تونه به سرورهای گوگل وصل بشه و با یه اتصال پایدار گریدل رو سینک کنه. معمولا وی پی ان پولی خوب می خواید و لازمه که پروتکل های مختلف رو تست کنید.
بعد از تهیه چنین وی پی انی کاری که می تونید بکنید اینه مشابه توضیح این لینک (+) یا منابع مشابه فارسی (اگه انگلیسی ها براتون دشوار هستن) سعی کنید گریدل رو یا آنلاین و با وی پی ان خوب سینک کنید.
پینوشت: امکان دانلود دستی فایل گریدل و ست اون هست ولی برای کاربر مبتدی توصیه نمیشه چون سخت تره.
محمد حسین جربان (خریدار محصول) –
سلام خسته نباشد
ببخشید من تو راه اندازی گریدل به مشکل خوردم و داخل قسمت چهار که گفتید پروژه رو بیاریم نمیتونه اونو سینک کنه و این مشکل رو داره
Could not install Gradle distribution from ‘https://services.gradle.org/distributions/gradle-4.10.1-all.zip’.
چه پیشنهادی دارین که این رو دقیق یاد بگیم ؟ ممنون
مصطفی آصفی –
سلام به شما. با توجه به توسعه سریع اندروید و مشکلات متعدد گریدل پیشنهاد می کنم دست به گوگل باشین. در مورد این مشکل برای مثال با جستجو کردم متن خطای دریافتی این لینک (+) می تونه مفید باشه. اینو از این جهت می گم که تنظیمات سیستم کاربر هم اثر گذاره و این خود شما هستین که باید چند راه رو امتحان کنید تا به نتیجه برسین.
حمید –
آموزش رو تهیه کردم و لحن مدرس و نحوه بیان مطالب خیلی خوب بود. لطفا در زمینه اندروید آموزش های بیشتری ارائه بفرمایید.
مصطفی آصفی –
سلام و ممنون از محبت شما. در رابطه با اندروید ضمن این که این دوره تا فصل ششم ادامه پیدا کرده -که میتونید با جستجوی عنوان آموزش اندروید در وبسایت ببینید – دوره های بعدی هم با موضوع کار با اینترنت و طراحی ویوی سفارشی در حال تولید هستن. هم رویش رو در شبکه های اجتماعی دنبال کنید تا به موقع از انتشار مطلع بشید.
وحید –
فصل یکش کجاس ؟ و ایا فصل سه هم داره ؟
مصطفی آصفی –
سلام به شما. فصلهای قبل و بعد این آموزش رو از نشانی های پایین دریافت کنید.
فصل اول: شروع سریع برنامهنویسی اندروید (+)
فصل سوم : نویگیشن در اندروید (+)
فصل چهارم انشالله طرف سه هفته آینده و فصلهای MVVM و دیتابیس که ابن بخش رو کامل میکنن انشالله در بهار ۹۹ کامل و منتشر خواهند شد که اگر صفحه هم رویش در اینستاگرام (+) رو دنبال کنید از انتشار اون ها به سرعت مطلع خواهید شد.