کتاب Head First Android Development با رویکرد چارچوب کاتلین، یکی از عظیمترین و پرمحتواترین کتب آموزشی برنامهنویسی سیستم عامل اندروید است. این کتاب در 19 فصل به آموزش برنامهنویسی اندروید در قالب چارچوب کاتلین خواهد پرداخت. همچنین یکی از نقاط قوت این کتاب استفاده از شکلها و توضیحات بر روی کدها میباشد که با نگارههایی جذاب توانسته مطالب خود را جذابتر جلوه دهد.
در ادامه مقدمهای از کتاب Head First Android Development را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Head First Android Development:
نحوه استفاده از این کتاب: مقدمه
مغز شما در اندروید
در اینجا شما در حال تلاش برای یادگیری چیزی هستید، در حالی که مغز شما اینجاست و با اطمینان از عدم ماندگاری یادگیری به شما لطف میکند. فکر مغز شما، “بهتر است برای چیزهای مهمتر جا بگذارید، مانند اینکه از کدام حیوانات وحشی اجتناب کنید و اینکه آیا اسنوبورد برهنه ایده بدی است یا خیر.” بنابراین چگونه میتوانید مغز خود را فریب دهید تا فکر کند زندگی شما به دانستن نحوه توسعه برنامههای اندروید بستگی دارد؟
- “این کتاب مال کیه؟”
- “ما میدانیم به چه فکر میکنید”
- “ما میدانیم که مغز شما به چه چیزی فکر میکند”
- فراشناخت: تفکر درباره تفکر
- “این چیزی است که ما انجام دادیم”
- “مرا بخوان”
- “تیم بازبینی فنی واقعاً عالی”
- “تشکرات”
فصل 1 کتاب Head First Android Development
اندروید محبوبترین سیستم عامل موبایل در جهان است. و میلیاردها کاربر اندروید در سراسر جهان وجود دارد که همه منتظر دانلود ایده عالی بعدی شما هستند.
در این فصل از کتاب Head First Android Development، خواهید فهمید که چگونه با ساختن یک برنامه اندرویدی پایه و بهروز رسانی آن، ایدههای خود را به واقعیت تبدیل کنید. شما یاد خواهید گرفت که چگونه آن را در دستگاههای فیزیکی و مجازی اجرا کنید. در طول مسیر، با دو مؤلفه اصلی همه برنامههای اندروید روبرو خواهید شد: فعالیتها و طرحبندیها.
- “به اندروید ویل خوش آمدید”
- “فعالیتها و طرحبندیها ستون فقرات برنامه شما را تشکیل میدهند”
- “در اینجا کاری است که ما میخواهیم انجام دهیم”
- «اندروید استودیو: محیط توسعه شما»
- “نصب اندروید استودیو”
- “بیایید یک برنامه اساسی بسازیم”
- “نحوه ساخت اپلیکیشن”
- “نسخههای اندروید از نزدیک”
- “شما اولین پروژه اندروید خود را ایجاد کردید”
- “کالبد شکافی پروژه جدید شما”
- “معرفی فایلهای کلیدی پروژه شما”
- “ویرایش کد با ویرایشگرهای Android Studio”
- “داستان تا اینجا”
- نحوه اجرای برنامه در دستگاه فیزیکی
- نحوه اجرای برنامه در دستگاه مجازی
- “ایجاد یک دستگاه مجازی اندروید (AVD)”
- “کامپایل، بسته بندی، استقرار، اجرا”
- “چه اتفاقی افتاده؟”
- “بیایید برنامه را اصلاح کنیم”
- “در چیدمان چیست؟”
- “activity_main.xml دارای دو عنصر است”
- “متن نمایش داده شده در طرحبندی را به روز کنید”
- “کد چه میکند”
- “جعبه ابزار اندروید شما”
فصل 2 کتاب Head First Android Development
اکثر برنامهها باید به نحوی به کاربر پاسخ دهند. و در این فصل، خواهید دید که چگونه میتوانید برنامههای خود را تعاملی تر کنید. خواهید فهمید که چگونه یک OnClickListener را به کد فعالیت خود اضافه کنید تا برنامه شما بتواند به کارهای کاربر گوش دهد و پاسخ مناسب را بدهد.
در این فصل از کتاب Head First Android Development، درباره نحوه طراحی طرحبندیها اطلاعات بیشتری کسب خواهید کرد و خواهید آموخت که چگونه هر مؤلفه رابط کاربری که به طرحبندی خود اضافه میکنید از یک اجداد View مشترک مشتق شده است. در طول مسیر، متوجه خواهید شد که چرا منابع String برای برنامههای انعطاف پذیر و خوب طراحی شده بسیار مهم هستند.
- “بیایید یک برنامه مشاور آبجو بسازیم”
- “ایجاد پروژه”
- “نگاهی دقیق تر به ویرایشگر طراحی”
- “افزودن یک دکمه با استفاده از ویرایشگر طراحی”
- “نگاهی دقیق تر به کد طرحبندی”
- “بیایید طرح XML را به روز کنیم”
- “تغییرات XML در ویرایشگر طراحی منعکس میشود”
- “هشدارهایی در طرح وجود دارد…”
- قرار دادن متن در فایل منبع رشتهای
- استخراج منبع رشته
- “افزودن و استفاده از یک منبع جدید رشته”
- “منابع رشته از نزدیک”
- “افزودن مقادیر به اسپینر”
- “آرایه رشتهای را به strings.xml اضافه کنید”
- “ما باید برنامه را تعاملی کنیم”
- “کد MainActivity چگونه به نظر میرسد”
- “یک دکمه میتواند به رویدادهای روی کلیک گوش دهد…”
- «دریافت ارجاع به دکمه…»
- “ارسال یک لامبدا به روش setOnClickListener”
- “چگونه متن یک نمای متن را ویرایش کنیم”
- “کد به روز شده برای MainActivity.kt”
- “وقتی کد را اجرا میکنید چه اتفاقی میافتد”
- “متد getBeers() را اضافه کنید”
- “جعبه ابزار اندروید شما”
فصل 3 کتاب Head First Android Development
ما فقط سطح استفاده از طرحبندی را مرور کردهایم. تاکنون، نحوه چیدمان نماها را در یک طرحبندی خطی ساده دیدهاید، اما طرحبندیها میتوانند کارهای بسیار بیشتری انجام دهند.
در این فصل از کتاب Head First Android Development فصل کمی عمیقتر میشویم و به شما نشان میدهیم که چیدمانها واقعاًً چگونه کار میکنند.
شما یاد خواهید گرفت که چگونه چیدمان های خطی خود را دقیق تنظیم کنید. نحوه استفاده از طرحبندی قاب و نماهای اسکرول را خواهید فهمید. و در پایان فصل، خواهید آموخت که اگرچه ممکن است کمی متفاوت به نظر برسند، اما همه طرحبندیها – و نماهایی که به آنها اضافه میکنید – بیشتر از آنچه فکر میکنید مشترک هستند.
- “همه چیز با یک چیدمان شروع میشود”
- “اندروید دارای انواع مختلفی از طرحبندی است”
- “چگونه یک طرحبندی خطی تعریف کنیم”
- “جهت میتواند عمودی یا افقی باشد”
- “آناتومی AndroidManifest.xml”
- «از padding برای افزودن فضا به لبههای طرحبندی استفاده کنید»
- “کد چیدمان تا کنون”
- “یک متن ویرایش به شما امکان میدهد متن را وارد کنید”
- “افزودن نماها به طرحبندی XML”
- “با اضافه کردن وزن یک نمای خیابانی ایجاد کنید”
- “چگونه به یک نما وزن اضافه کنیم”
- “چگونه به چندین نمایش وزن اضافه کنیم”
- مقادیری که میتوانید با ویژگی android:gvity استفاده کنید
- “داستان تا اینجا”
- “مقادیر بیشتری که میتوانید با ویژگی android:layout-gvity استفاده کنید”
- “استفاده از حاشیه برای افزودن فاصله بین نماها”
- «کد فعالیت شما به اندروید میگوید از چه طرحبندی استفاده میکند»
- “تورم طرح: یک مثال”
- “طرحبندی فریم نماهای خود را روی هم میگذارد”
- “یک تصویر به پروژه خود اضافه کنید”
- “منابع قابل کشیدن از نزدیک”
- «طرحبندی فریم نماها را به ترتیبی که در طرحبندی XML ظاهر میشوند روی هم میگذارد».
- «همه طرحبندیها نوعی ViewGroup هستند…»
- “نمای اسکرول یک نوار پیمایش عمودی را وارد میکند”
- “جعبه ابزار اندروید شما”
فصل 4 کتاب Head First Android Development
شما بدون نقشه خانه نمیسازید. و برخی از طرحبندیها از طرحهای اولیه استفاده میکنند تا مطمئن شوند که دقیقاً همانطور که میخواهید به نظر میرسند.
در این فصل از کتاب Head First Android Development، شما را با چیدمان محدودیت اندروید آشنا میکنیم: روشی انعطافپذیر برای طراحی رابطهای کاربری پیچیدهتر. متوجه خواهید شد که چگونه محدودیتها و سوگیریها به شما اجازه میدهند تا نماهای خود را بدون در نظر گرفتن اندازه و جهت صفحه، موقعیت و اندازه کنید. خواهید فهمید که چگونه با دستورالعمل ها و موانع، دیدگاه ها را در جای خود نگه دارید. در نهایت، یاد خواهید گرفت که چگونه نماها را با زنجیره ها و جریان ها بسته بندی یا پخش کنید.
- «طرحبندیهای تودرتو مورد بازبینی قرار گرفت»
- “معرفی طرحبندی محدودیتها”
- “طرحبندیهای محدودیت بخشی از Android Jetpack هستند”
- “از Gradle برای گنجاندن کتابخانههای Jetpack استفاده کنید”
- “بیایید یک طرحبندی محدودیت به activity_main.xml اضافه کنیم”
- “افزودن یک دکمه به طرح اولیه”
- “موقعیت نماها با استفاده از محدودیتها”
- “یک محدودیت عمودی نیز اضافه کنید”
- «از محدودیتهای مخالف برای مرکز نماها استفاده کنید»
- “حذف محدودیتها با ویجت محدودیت”
- “تغییرات طرح اولیه در XML ظاهر میشود”
- “نمایشها میتوانند سوگیری داشته باشند”
- “شما میتوانید اندازه یک نما را تغییر دهید”
- «بیشتر طرحبندیها به چند نمایش نیاز دارند»
- “شما میتوانید نماها را به نماهای دیگر متصل کنید”
- «تراز کردن نماها با استفاده از دستورالعملها»
- “راهنماها موقعیت ثابتی دارند”
- “ایجاد یک مانع متحرک”
- “اضافه کردن یک مانع افقی”
- “یک دکمه را در زیر مانع محدود کنید”
- “از یک زنجیره برای کنترل یک گروه خطی از نماها استفاده کنید”
- “ایجاد زنجیره افقی”
- “سبکهای مختلفی از زنجیره وجود دارد”
- “جریان مانند یک زنجیره چند خطی است”
- “چگونه یک جریان اضافه کنیم”
- “شما میتوانید ظاهر جریان را کنترل کنید”
- “جعبه ابزار اندروید شما”
فصل 5 کتاب Head First Android Development
فعالیتها اساس هر برنامه اندرویدی را تشکیل میدهند. تاکنون نحوه ایجاد یک فعالیت و استفاده از آن برای تعامل با کاربر را دیده اید. اما اگر در مورد چرخه حیات فعالیت اطلاعی ندارید، برخی از رفتارهای آن ممکن است شما را غافلگیر کند.
در این فصل از کتاب Head First Android Development، یاد خواهید گرفت که وقتی یک فعالیت ایجاد و از بین میرود چه اتفاقی میافتد و چگونه میتواند منجر به عواقب غیرمنتظره شود. هنگامی که قابل مشاهده یا پنهان شود، متوجه خواهید شد که چگونه رفتار آن را کنترل کنید. شما حتی راههایی را برای ذخیره و بازیابی وضعیت فعالیت خود، درست زمانی که به آن نیاز دارید، کشف خواهید کرد.
- “فعالیتها واقعاً چگونه کار میکنند؟”
- “ایجاد یک پروژه جدید”
- “کد کامل برای activity_main.xml”
- “کد فعالیت کرونومتر را کنترل میکند”
- “کد کامل برای MainActivity.kt”
- “وقتی برنامه را اجرا میکنید چه اتفاقی میافتد”
- “چرخش صفحه نمایش پیکربندی دستگاه را تغییر میدهد”
- “وضعیتهای یک فعالیت”
- چرخه حیات فعالیت: از ایجاد تا تخریب
- “فعالیت شما وارث روشهای چرخه زندگی است”
- “ذخیره وضعیت فعلی در یک بسته”
- “ذخیر وضعیت با استفاده از onSaveInstanceState()”
- “کد به روز شده MainActivity.kt”
- “وقتی برنامه را اجرا میکنید چه اتفاقی میافتد”
- “در زندگی یک فعالیت چیزی بیشتر از ایجاد و تخریب وجود دارد”
- “چرخه حیات قابل مشاهده”
- “ما باید دو روش چرخه حیات دیگر را پیادهسازی کنیم”
- “وقتی برنامه قابل مشاهده شد، کرونومتر را مجددا راهاندازی کنید”
- “وقتی برنامه را اجرا میکنید چه اتفاقی میافتد”
- “اگر یک فعالیت فقط تا حدی قابل مشاهده باشد چه؟”
- “چرخه زندگی پیش زمینه”
- «اگر فعالیت متوقف شد، کرونومتر را مکث کنید»
- “کد کامل MainActivity.kt”
- “وقتی برنامه را اجرا میکنید چه اتفاقی میافتد”
- “راهنمای مفید شما برای روشهای چرخه حیات فعالیت”
- “جعبه ابزار اندروید شما”
فصل 6 کتاب Head First Android Development
اکثر برنامهها به بیش از یک صفحه نیاز دارند. تا اینجا ما فقط نحوه ایجاد برنامههای تک صفحهای را بررسی کردهایم که برای برنامههای ساده مناسب است. اما اگر نیازهای پیچیدهتری داشته باشید چه؟
در این فصل از کتاب Head First Android Development، نحوه استفاده از قطعات و مولفه Navigation برای ساخت برنامههای چند صفحهای را یاد خواهید گرفت. شما خواهید آموخت که چگونه فرگمنتها با روشهای خاص خود مانند زیرفعالیتها هستند. خواهید فهمید که چگونه نمودارهای ناوبری موثر طراحی کنید. در نهایت، میزبان ناوبری و کنترلکننده ناوبری را ملاقات خواهید کرد و یاد خواهید گرفت که چگونه به شما کمک میکنند از مکانی به مکان دیگر حرکت کنید.
- “اکثر برنامهها به بیش از یک صفحه نیاز دارند”
- “هر صفحه یک قطعه است”
- «پیمایش بین صفحهها با استفاده از مؤلفه ناوبری»
- “ایجاد یک پروژه جدید”
- “افزودن WelcomeFragment به پروژه”
- “کد قطعه به چه شکل است”
- “روش onCreateView() قطعه”
- “کد طرحبندی قطعه شبیه کد طرحبندی فعالیت است”
- “شما یک قطعه را در یک FragmentContainerView نمایش میدهید”
- “بهروز رسانی کد activity_main.xml”
- “کد چه میکند”
- “Create MessageFragment”
- «از مؤلفه Navigation برای پیمایش بین قطعات استفاده کنید»
- از Gradle برای اضافه کردن مولفه Navigation به پروژه خود استفاده کنید.
- “ایجاد یک نمودار ناوبری”
- “افزودن قطعات به نمودار ناوبری”
- “اتصال قطعات با استفاده از یک عمل”
- “نمودارهای ناوبری منابع XML هستند”
- «با استفاده از FragmentContainerView یک میزبان ناوبری به طرحبندی اضافه کنید»
- “افزودن NavHostFragment به activity_main.xml”
- «یک OnClickListener به دکمه اضافه کنید»
- “دریافت یک کنترلر ناوبری”
- “کد کامل WelcomeFragment.kt”
- “وقتی برنامه اجرا میشود چه اتفاقی میافتد”
- “جعبه ابزار اندروید شما”
فصل 7 کتاب Head First Android Development
گاهی اوقات قطعات برای درست کار کردن به اطلاعات اضافی نیاز دارند. برای مثال، اگر قطعهای جزئیات یک مخاطب را نشان میدهد، باید بداند کدام مخاطب را نمایش دهد. اما اگر این اطلاعات از قطعه دیگری باشد چه؟
در این فصل از کتاب Head First Android Development، با یادگیری نحوه انتقال دادهها بین قطعات، دانش ناوبری خود را تقویت خواهید کرد. خواهید فهمید که چگونه میتوان آرگومان هایی را به مقصدهای ناوبری اضافه کرد تا آنها بتوانند اطلاعات مورد نیاز خود را دریافت کنند. شما با افزونه Safe Args آشنا خواهید شد و نحوه استفاده از آن برای نوشتن کد ایمن تایپ را خواهید آموخت. در نهایت، نحوه دستکاری پشته پشتی و کنترل رفتار دکمه برگشت را خواهید یافت.
- “برنامه پیام مخفی بین قطعات حرکت میکند”
- “MessageFragment باید پیام را به یک قطعه جدید ارسال کند”
- «ایجاد بخش رمزگذاری شده…»
- “افزودن بخش رمزگذاری شده به نمودار ناوبری”
- “MessageFragment باید به EncryptFragment حرکت کند”
- “افزودن Safe Args به فایلهای build.gradle”
- «EncryptFragment باید آرگومان String را بپذیرد»
- “MessageFragment باید یک پیام به EncryptFragment ارسال کند”
- “Safe Args کلاس های Directions را ایجاد میکند”
- “بهروز رسانی کد MessageFragment.kt”
- «EncryptFragment باید مقدار آرگومان را دریافت کند»
- “کد کامل برای EncryptFragment.kt”
- “وقتی برنامه اجرا میشود چه اتفاقی میافتد”
- “اگر کاربر بخواهد برگردد چه؟”
- “به پشته خوش آمدید”
- “از نمودار پیمایش برای بیرون کشیدن قطعات از پشته استفاده کنید”
- “جعبه ابزار اندروید شما”
فصل 8 کتاب Head First Android Development
اکثر برنامهها باید بتوانند بین مقصد حرکت کنند. و با مولفه ناوبری اندروید، ساخت این رابط کاربری بسیار ساده تر شد.
در این فصل از کتاب Head First Android Development، نحوه استفاده از برخی از مؤلفههای رابط کاربری ناوبری اندروید را یاد میگیرید تا کاربران شما بتوانند راحتتر در برنامه شما حرکت کنند.
نحوه استفاده از تمها را خواهید دید و نوار برنامه پیشفرض برنامه خود را با نوار ابزار جایگزین کنید. یاد خواهید گرفت که چگونه آیتمهای منو را که میتوانید برای پیمایش استفاده کنید اضافه کنید. نحوه پیادهسازی ناوبری نوار پایین را خواهید یافت. در نهایت، یک کشوی ناوبری swish ایجاد میکنید: پانلی که از کنار فعالیت شما خارج میشود.
- “برنامههای مختلف، ساختارهای مختلف”
- «اندروید شامل اجزای رابط کاربری ناوبری است»
- “برنامه CatChat چگونه کار خواهد کرد”
- “اعمال یک تم در AndroidManifest.xml”
- “تعریف سبکها در فایلهای منبع سبک”
- «نوار برنامه پیشفرض را با نوار ابزار جایگزین کنید»
- “ایجاد InboxFragment”
- “مشخص کردن موارد در نوار ابزار با فایل منبع منو”
- “onCreateOptionsMenu() آیتمهای منو را به نوار ابزار اضافه میکند”
- به کلیکهای آیتمهای منو با onOptionsItemSelected() پاسخ دهید.
- “پیکربندی نوار ابزار با استفاده از AppBarConfiguration”
- “وقتی برنامه اجرا میشود چه اتفاقی میافتد”
- “بیشتر انواع ناوبری رابط کاربری با مولفه Navigation کار میکنند”
- “ایجاد SentItemsFragment”
- “نوار پیمایش پایین به یک فایل منبع منوی جدید نیاز دارد”
- “نوار پیمایش پایین را به کنترلکننده پیمایش پیوند دهید”
- “کشوی ناوبری به شما امکان میدهد بسیاری از موارد ناوبری را نمایش دهید”
- “افزودن بخش پشتیبانی…”
- “مورد انتخاب شده را با گروه هایلایت کنید”
- “ایجاد هدر کشوی پیمایش”
- “چگونه یک کشوی ناوبری ایجاد کنیم”
- “پیکربندی نماد کشوی نوار ابزار…”
- “جعبه ابزار اندروید شما”
فصل 9 کتاب Head First Android Development
اکثر برنامهها به یک رابط کاربری نرم و صاف نیاز دارند که به کاربر پاسخ دهد. تاکنون یاد گرفتهاید که چگونه از نماهایی مانند نمای متنی، دکمهها و چرخندهها و استفاده از تمهای Material برای ایجاد تغییرات گسترده در ظاهر و ظاهر برنامهتان استفاده کنید.
اما کارهای بسیار بیشتری وجود دارد که میتوانید انجام دهید. در اینجا، یاد خواهید گرفت که چگونه رابط کاربری خود را با چیدمان هماهنگکننده پاسخگوتر کنید. شما نوار ابزارهایی ایجاد خواهید کرد که میتوانند جمع شوند یا به دلخواه پیمایش کنند. نماهای جدید هیجان انگیزی مانند چک باکس ها، دکمه های رادیویی، تراشه ها و دکمه های اکشن شناور را خواهید دید. در نهایت، نحوه نمایش پیامهای پاپ آپ دوستانه را با استفاده از نان تست و اسنکبار خواهید فهمید.
- “مواد در سراسر Androidville استفاده میشود”
- “برنامه بیت و پیتزا”
- “Create OrderFragment”
- «نوار برنامه پیشفرض را با نوار ابزار جایگزین کنید»
- “Fragment ها متد setSupportActionBar() ندارند”
- “طرح هماهنگ کننده انیمیشن ها را بین نماها هماهنگ میکند”
- “طرحبندی نوار برنامه انیمیشن نوار ابزار را فعال میکند”
- “به نوار ابزار بگویید چگونه به رویدادهای پیمایش پاسخ دهد”
- “چگونه یک نوار ابزار جمع شونده ساده ایجاد کنیم”
- “چگونه یک تصویر به نوار ابزار در حال جمع شدن اضافه کنیم”
- “ما باید محتوای اصلی OrderFragment را بسازیم”
- “یک نوع پیتزا را با استفاده از دکمه رادیویی انتخاب کنید”
- “تراشه نوعی دکمه ترکیبی انعطاف پذیر است”
- “افزودن چند تراشه به یک گروه تراشه”
- “FAB یک دکمه عمل شناور است”
- “شما میتوانید یک FAB را به یک نوار ابزار در حال فروپاشی متصل کنید”
- “ما باید طرحبندی OrderFragment را بسازیم”
- «یک OnClickListener به FAB اضافه کنید»
- “یک نان تست یک پیام پاپ آپ ساده است”
- “نمایش سفارش پیتزا در یک اسنکبار”
- ” کد اسنکبار برای سفارش پیتزا ”
- “کد کامل برای OrderFragment.kt”
- “جعبه ابزار اندروید شما”
فصل 10 کتاب Head First Android Development
زمان خداحافظی برای findViewById() فرا رسیده است. همانطور که احتمالاً تا به حال متوجه شدهاید، هرچه تعداد بازدیدهای شما بیشتر باشد و برنامههای شما تعامل بیشتری داشته باشند، باید تماس های بیشتری برای findViewById() برقرار کنید. و اگر هر بار که میخواهید با یک view کار کنید از تایپ کد این روش خسته شدهاید، تنها نیستید.
در این فصل از کتاب Head First Android Development، نحوه تبدیل ()findViewById را در گذشته با اجرای view binding کشف خواهید کرد. خواهید فهمید که چگونه این تکنیک را هم برای فعالیت و هم برای کد قطعه اعمال کنید، و خواهید آموخت که چرا این رویکرد روشی امن تر و کارآمدتر برای دسترسی به نماهای طرحبندی شما است.
- “پشت صحنه findViewById()”
- “یک نکته منفی برای findViewById() وجود دارد”
- “مشاهده اتصال به نجات”
- “در اینجا نحوه استفاده از view binding آورده شده است”
- «برنامه کرونومتر بازبینی شد»
- “فعال کردن view binding در فایل app build.gradle”
- “نحوه اضافه کردن View binding به یک فعالیت”
- «از ویژگی binding برای تعامل با نماها استفاده کنید»
- “کد کامل برای MainActivity.kt”
- “کد چه میکند”
- بخشها میتوانند از view binding نیز استفاده کنند (اما کد کمی متفاوت است)
- “فعال کردن نمای صحافی برای بیت ها و پیتزاها”
- “کد صحافی نمای قطعه کمی متفاوت است”
- “Fragments میتوانند به نماها از onCreateView() تا onDestroyView() دسترسی داشته باشند.
- «روشهای چرخه حیات قطعه از نزدیک»
- “کد صحافی نمای قطعه چگونه به نظر میرسد”
- “_binding به شیء اتصال اشاره دارد…”
- “کد کامل برای OrderFragment.kt”
- “جعبه ابزار اندروید شما”
فصل 11 کتاب Head First Android Development
همانطور که برنامهها پیچیدهتر میشوند، قطعات چیزهای بیشتری برای دستکاری دارند. و اگر مراقب نباشید، این میتواند منجر به ایجاد کدهای متورم شود که سعی میکند همه چیز را انجام دهد. منطق کسب و کار، ناوبری، کنترل رابط کاربری، رسیدگی به تغییرات پیکربندی… شما نام ببرید، این در آنجاست.
در این فصل از کتاب Head First Android Development، نحوه برخورد با این نوع موقعیتها را با استفاده از مدلهای مشاهده خواهید آموخت. متوجه خواهید شد که چگونه فعالیت و کد قطعه شما را ساده میکنند. خواهید فهمید که چگونه آنها از تغییرات پیکربندی جان سالم به در میبرند و وضعیت برنامه شما را امن و سالم نگه میدارند. در نهایت، ما به شما نشان خواهیم داد که چگونه یک کارخانه مدل view بسازید، و چه زمانی ممکن است به آن نیاز باشد.
- “تغییرات پیکربندی دوباره بررسی شد”
- ” معرفی مدل view ”
- “بازی حدس زدن چه خواهد کرد”
- “نحوه ساختار برنامه”
- “بهروز رسانی فایل build.gradle پروژه…”
- “برنامه بازی حدس زدن دارای دو بخش است”
- “چگونه ناوبری باید کار کند”
- “بهروز رسانی نمودار ناوبری”
- “وقتی برنامه اجرا میشود چه اتفاقی میافتد”
- “بازی با چرخش صفحه نمایش وضعیت خود را از دست میدهد”
- “یک مدل دیدگاه دارای منطق تجاری است”
- “افزودن یک وابستگی مدل view به فایل app build.gradle…”
- “ایجاد یک شی GameViewModel”
- “وقتی برنامه اجرا میشود چه اتفاقی میافتد”
- “مشاهده مدل ها از نزدیک”
- “ResultViewModel باید نتیجه را نگه دارد”
- “کارخانه مدل view مدل های نما را ایجاد میکند”
- ایجاد کلاس ResultViewModelFactory
- “از کارخانه برای ایجاد مدل دید استفاده کنید”
- “وقتی برنامه اجرا میشود چه اتفاقی میافتد”
- “جعبه ابزار اندروید شما”
فصل 12 کتاب Head First Android Development
کد شما اغلب باید به تغییرات ارزش دارایی واکنش نشان دهد. برای مثال، اگر یک ویژگی مدل view مقدارش را تغییر دهد، ممکن است قطعه نیاز داشته باشد با بهروزرسانی نماهایش یا پیمایش در جای دیگری پاسخ دهد.
اما چگونه یک قطعه زمانی که یک ویژگی به روز میشود شنیده میشود؟ در اینجا، ما شما را با دادههای زنده آشنا میکنیم: راهی برای گفتن اینکه چه زمانی چیزی تغییر کرده است. شما همه چیز را در مورد MutableLiveData خواهید آموخت و چگونه میتوانید قطعه خود را وادار به مشاهده ویژگیهای این نوع کنید. متوجه خواهید شد که چگونه نوع LiveData به حفظ یکپارچگی برنامه شما کمک میکند.
- “برنامه بازی حدس زدن دوباره بازدید شد”
- “قطعات تصمیم میگیرند که چه زمانی نماها را به روز کنند”
- “در اینجا کاری است که ما میخواهیم انجام دهیم”
- “GameViewModel و GameFragment باید از دادههای زنده استفاده کنند”
- “اشیاء داده زنده از یک ویژگی مقدار استفاده میکنند”
- قطعه ویژگیهای مدل view را مشاهده میکند و به تغییرات واکنش نشان میدهد.
- “کد کامل GameFragment.kt”
- “وقتی برنامه اجرا میشود چه اتفاقی میافتد”
- “فرگمنتها میتوانند ویژگیهای GameViewModel را به روز کنند”
- “وقتی برنامه اجرا میشود چه اتفاقی میافتد”
- “GameFragment همچنان شامل منطق بازی است”
- “کد کامل GameViewModel.kt”
- «Make GameFragment ویژگی جدید را مشاهده کند»
- “وقتی برنامه اجرا میشود چه اتفاقی میافتد”
- “جعبه ابزار اندروید شما”
فصل 13 کتاب Head First Android Development
لایهها میتوانند بیشتر از کنترل ظاهر برنامه شما انجام دهند. به همه طرحبندیهایی که تا کنون نوشتهاید، نحوه رفتار آنها براساس فعالیت یا کد قطعه گفته شده است. اما فقط تصور کنید که آیا طرحبندیها بتوانند خودشان فکر کنند و خودشان تصمیم بگیرند.
در این فصل از کتاب Head First Android Development، ما شما را با اتصال دادهها آشنا میکنیم: راهی برای افزایش IQ طرحبندی. خواهید فهمید که چگونه میتوان نماها را مستقیماً از مدل view مقادیر دریافت کرد.
شما از اتصال شنونده برای وادار کردن دکمهها به فراخوانی روشهای خود استفاده خواهید کرد. شما حتی خواهید فهمید که چگونه یک خط ساده کد به نماها اجازه میدهد که به بهروز رسانی دادههای زنده پاسخ دهند.
- “بازگشت به برنامه بازی حدس زدن”
- “قطعات نماها را در طرحبندی خود به روز میکنند”
- “فعال کردن اتصال داده در فایل app build.gradle”
- “ResultFragment متن را در طرحبندی خود به روز میکند”
- “1. عناصر <layout> و <data> را اضافه کنید.
- «2. تنظیم متغیر اتصال داده layout”
- “3. برای دسترسی به مدل view از متغیر data binding layout استفاده کنید.
- “وقتی برنامه اجرا میشود چه اتفاقی میافتد”
- “<layout> از نزدیک”
- “GameFragment میتواند از اتصال داده نیز استفاده کند”
- عناصر <layout> و <data> را به fragment_game.xml اضافه کنید.
- برای تنظیم متن طرحبندی از متغیر اتصال داده استفاده کنید.
- “منابع رشته بازبینی شد”
- “طرحبندی میتواند پارامترها را به منابع رشته ارسال کند”
- “ما باید متغیر gameViewModel را تنظیم کنیم”
- “وقتی برنامه اجرا میشود چه اتفاقی میافتد”
- «میتوانید برای فراخوانی از روشهای اتصال داده استفاده کنید»
- “افزودن finishGame() به GameViewModel.kt”
- «از اتصال داده استفاده کنید تا یک دکمه هنگام کلیک کردن، روشی را فراخوانی کند»
- “وقتی برنامه اجرا میشود چه اتفاقی میافتد”
- “چت های کنار آتش”
- “ما میتوانیم صحافی نمایش را خاموش کنیم”
- “جعبه ابزار اندروید شما”
فصل 14 کتاب Head First Android Development
اکثر برنامهها به دادههایی نیاز دارند که باقی بماند. اما اگر برای ذخیره این دادهها در جایی اقدام نکنید، به محض بسته شدن برنامه برای همیشه از بین میرود. شما معمولاً دادهها را در Androidville با ذخیره آن در پایگاه داده ایمن نگه میدارید، بنابراین در این فصل از Head First Android Development، شما را با کتابخانه ماندگاری Room آشنا میکنیم.
شما یاد خواهید گرفت که چگونه پایگاه داده بسازید، جداول ایجاد کنید و روشهای دسترسی به دادهها را با استفاده از کلاس ها و رابط های حاشیه نویسی تعریف کنید. خواهید فهمید که چگونه از کوروتین ها برای اجرای کد پایگاه داده در پسزمینه استفاده کنید. و در طول مسیر، متوجه خواهید شد که چگونه دادههای زنده خود را به محض تغییر با کمی کمک از Transformations.map () تغییر دهید.
- “بیشتر برنامهها نیاز به ذخیره داده دارند”
- “Room یک کتابخانه پایگاه داده است که در بالای SQLite قرار دارد”
- “ایجاد TasksFragment”
- “چگونه پایگاه داده اتاق ایجاد میشود”
- “ما دادههای وظایف را در یک جدول ذخیره خواهیم کرد”
- «نام جدول را با Entity@ مشخص کنید»
- “از یک رابط برای مشخص کردن عملیات داده استفاده کنید”
- برای درج رکورد از @Insert استفاده کنید
- برای حذف رکورد از @Delete استفاده کنید
- “ایجاد یک کلاس انتزاعی TaskDatabase”
- “افزودن ویژگی برای هر رابط DAO”
- “MVVM بازبینی شد”
- “عملیات پایگاه داده میتواند در slooooow-moooo اجرا شود”
- “1. متدهای TaskDao را با suspend علامت گذاری کنید.
- «2. متد insert() را در پسزمینه اجرا کنید.
- “TasksViewModel به یک کارخانه مدل view نیاز دارد”
- “ما از data binding برای درج یک رکورد استفاده خواهیم کرد”
- “وقتی کد اجرا میشود چه اتفاقی میافتد”
- “TasksFragment نیاز به نمایش رکوردها دارد”
- برای دریافت تمام وظایف از پایگاه داده از getAll() استفاده کنید.
- “A LiveData<List<Task>> یک نوع پیچیدهتر است”
- “بیایید کد TasksViewModel را به روز کنیم”
- “ما ویژگی tasksString را به نمای متنی طرحبندی متصل خواهیم کرد”
- “وقتی کد اجرا میشود چه اتفاقی میافتد”
- “جعبه ابزار اندروید شما”
فصل 15 کتاب Head First Android Development
لیست دادهها بخش کلیدی اکثر برنامهها هستند. و در این فصل، ما به شما نشان خواهیم داد که چگونه با استفاده از نمای بازیافتکننده، یکی بسازید: روشی فوقالعاده انعطافپذیر برای ساخت فهرست قابل پیمایش.
شما در این فصل از کتاب Head First Android Development یاد خواهید گرفت که چگونه برای لیست خود طرحبندیهای انعطافپذیر ایجاد کنید، از جمله نمای متن، چک باکس و موارد دیگر. خواهید فهمید که چگونه میتوانید آداپتورهایی ایجاد کنید که دادههای شما را به هر روشی که انتخاب میکنید در نمای بازیافت کننده قرار دهند.
خواهید فهمید که چگونه از نماهای کارت برای دادن ظاهری سهبعدی به دادههای خود استفاده کنید. در نهایت، ما به شما نشان خواهیم داد که چگونه مدیران چیدمان میتوانند ظاهر لیست شما را تنها با یک یا دو خط کد به طور کامل تغییر دهند.
- “برنامه Tasks در حال حاضر چگونه به نظر میرسد”
- “ما میتوانیم لیست را به یک نمای بازیافتی تبدیل کنیم”
- “به نمایشگر بازیافت بگویید چگونه هر مورد را نمایش دهد…”
- “آداپتور دادهها را به نمای بازیافت اضافه میکند”
- “تعریف نگهدارنده نمای آداپتور”
- «روی روش onCreateViewHolder()»
- “افزودن داده به نمای طرحبندی”
- “ما باید نمای بازیافت را نمایش دهیم”
- “ما یک نمای بازیافت کننده به طرحبندی TasksFragment اضافه کردهایم”
- “TasksFragment باید ویژگی داده TaskItemAdapter را به روز کند”
- “وقتی کد اجرا میشود چه اتفاقی میافتد”
- “نماهای بازیافت بسیار انعطاف پذیر هستند”
- “نحوه ایجاد نمای کارت”
- “کد کامل task_item.xml”
- “دارنده نمای آداپتور باید با کد طرحبندی جدید کار کند”
- “کد کامل برای TaskItemAdapter.kt”
- “گالری مدیر چیدمان”
- «بهروزرسانی fragment_tasks.xml برای مرتب کردن موارد در یک شبکه»
- “وقتی کد اجرا میشود چه اتفاقی میافتد”
- “جعبه ابزار اندروید شما”
فصل 16 کتاب Head First Android Development
برنامه شما باید تا حد امکان روان و کارآمد اجرا شود. اما اگر مراقب نباشید، مجموعه دادههای بزرگ یا پیچیده میتواند باعث اختلال در نمای بازیافتکننده شما شود. در این فصل، DiffUtil را به شما معرفی میکنیم: یک کلاس کاربردی که هوشمندیهای بیشتری را به نمای بازیافت شما اضافه میکند.
شما در این فصل از کتاب Head First Android Development خواهید فهمید که چگونه از آن برای بهروز رسانی کارآمد در نمای بازیافت خود استفاده کنید. متوجه خواهید شد که ListAdapters چگونه با استفاده از DiffUtil یک نسیم درست میکند. و در طول مسیر، یاد خواهید گرفت که چگونه با پیادهسازی data binding در کد view recycler خود، از شر findViewById() برای همیشه خلاص شوید.
- «برنامه Tasks دوباره مورد بازدید قرار گرفت»
- “چگونه نمای بازیافتی دادههای خود را دریافت میکند”
- «تنظیمکننده ویژگی داده، notifyDataSetChanged()» را فراخوانی میکند.
- «به دیدگاه بازیافتکننده بگویید چه چیزی باید تغییر کند»
- “در اینجا کاری است که ما میخواهیم انجام دهیم”
- “ما باید DiffUtil.ItemCallback را پیادهسازی کنیم”
- “یک ListAdapter آرگومان DiffUtil.ItemCallback را میپذیرد”
- “کد به روز شده برای TaskItemAdapter.kt”
- «فهرست ListAdapter را پر کنید…»
- “کد به روز شده برای TasksFragment.kt”
- “وقتی کد اجرا میشود چه اتفاقی میافتد”
- «نماهای بازیافتکننده میتوانند از اتصال داده استفاده کنند»
- “یک متغیر اتصال داده به task_item.xml اضافه کنید”
- “طرحبندی در کد نگهدارنده نمای آداپتور متورم میشود”
- “از کلاس binding برای افزایش طرحبندی استفاده کنید”
- “کد کامل برای TaskItemAdapter.kt”
- “کد کامل task_item.xml”
- “وقتی کد اجرا میشود چه اتفاقی میافتد”
- “جعبه ابزار اندروید شما”
فصل 17 کتاب Head First Android Development
برخی از برنامهها به انتخاب کاربر از یک لیست متکی هستند. و در این فصل، شما یاد خواهید گرفت که چگونه نماهای بازیافتی را با قابلیت کلیک کردن اقلام آنها به بخش اصلی طراحی اپلیکیشن خود تبدیل کنید.
نحوه پیادهسازی ناوبری مشاهده بازیافت را با حرکت دادن برنامه به صفحه جدید هر بار که کاربر روی یک رکورد کلیک میکند، کشف خواهید کرد.
شما در این فصل از کتاب Head First Android Development خواهید فهمید که چگونه میتوانید اطلاعات اضافی را در مورد رکورد انتخابی کاربر نشان دهید و آن را در پایگاه داده به روز کنید.
- “نماهای بازیافت را میتوان برای ناوبری استفاده کرد”
- “هر مورد را قابل کلیک کنید”
- “از کجا باید نان تست را ایجاد کنیم؟”
- “ما یک لامبدا را به TaskItemAdapter ارسال خواهیم کرد”
- “وقتی کد اجرا میشود چه اتفاقی میافتد”
- “ما میخواهیم از نمای بازیافت برای پیمایش به یک قطعه جدید استفاده کنیم”
- «ایجاد EditTaskFragment…»
- “بهروز رسانی نمودار ناوبری”
- «TasksFragment را به EditTaskFragment هدایت کنید»
- «EditTaskFragment را به نمایش شناسه وظیفه تبدیل کنید»
- “وقتی کد اجرا میشود چه اتفاقی میافتد”
- “ما میخواهیم از EditTaskFragment برای بهروز رسانی سوابق کار استفاده کنیم”
- “از TaskDao برای تعامل با رکوردهای پایگاه داده استفاده کنید”
- “ایجاد EditTaskViewModel”
- “EditTaskViewModel به EditTaskFragment میگوید که چه زمانی باید پیمایش کند”
- “EditTaskViewModel به یک کارخانه نمایش مدل نیاز دارد”
- «fragment_edit_task.xml باید کار را نمایش دهد»
- “وقتی کد اجرا میشود چه اتفاقی میافتد”
- “جعبه ابزار اندروید شما”
فصل 18 کتاب Head First Android Development
تمام رابطهای کاربری که تاکنون ساختهاید از فایلهای نما و طرحبندی استفاده کردهاند. اما با Jetpack Compose، این تنها گزینه نیست. در این فصل، میخواهیم سفری جادهای به Composeville داشته باشیم و نحوه ساخت رابطهای کاربری را با استفاده از کامپوننتهای Compose به نام composable بهجای views دریابیم.
شما در این فصل از کتاب Head First Android Development، یاد خواهید گرفت که چگونه از قابلیتهای ترکیبی داخلی مانند Text, Image, TextField و Button استفاده کنید. خواهید فهمید که چگونه آنها را در ردیفها و ستونها مرتب کنید و با استفاده از تمها به آنها استایل دهید. شما توابع قابل ترکیب خود را مینویسید و پیشنمایش میکنید. شما حتی خواهید فهمید که چگونه با استفاده از اشیاء MutableState وضعیت یک composable را مدیریت کنید.
- «اجزای UI مؤلفهها نباید Views باشند»
- “ایجاد یک پروژه جدید نوشتن”
- “نوشتن پروژه ها فاقد فایلهای طرحبندی هستند”
- “کد فعالیت نوشتن چگونه به نظر میرسد”
- برای نمایش متن از یک متن قابل نوشتن استفاده کنید
- “استفاده از composables در توابع composable”
- «پیشنمایش اجزای سازنده با گزینه Design یا Split»
- «بیایید برنامه را تبدیل به دما کنیم»
- “افزودن یک تابع ترکیبی MainActivityContent”
- “افزودن یک تصویر به MainActivity.kt”
- “بیایید متن دما را نمایش دهیم”
- برای افزودن دکمه از یک دکمه قابل ترکیب استفاده کنید
- “ما باید یک لامبدا را به ConvertButton منتقل کنیم”
- “ترکیب از نزدیک”
- “ما باید مقدار آرگومان TemperatureText را تغییر دهیم”
- “وقتی برنامه اجرا میشود چه اتفاقی میافتد”
- “افزودن یک TextField به یک تابع ترکیبی”
- “وقتی برنامه اجرا میشود چه اتفاقی میافتد”
- “افزودن بالشتک به ستون قابل ترکیب”
- «میتوانید ترکیبپذیرها را در ستونها یا ردیفها در مرکز قرار دهید»
- «بهکارگیری مضامین: بازبینی شده»
- «اندروید استودیو شامل کد تم اضافی است»
- “کد کامل برای MainActivity.kt”
- “جعبه ابزار اندروید شما”
فصل 19 کتاب Head First Android Development
وقتی همه چیز با هم کار میکند بهترین نتایج را میگیرید. تاکنون، یاد گرفتهاید که چگونه با استفاده از views یا composable یک رابط کاربری بسازید. اما اگر بخواهید از هر دو استفاده کنید چه؟
در این فصل از کتاب Head First Android Development، خواهید فهمید که چگونه با افزودن اجزای سازنده به یک رابط کاربری مبتنی بر View، بهترینها را از هر دو دنیا به دست آورید. شما تکنیکهایی را برای ساختن کامپوزیشنها با مدلهای view کشف خواهید کرد. شما حتی خواهید فهمید که چگونه آنها را وادار کنید که به بهروز رسانی LiveData پاسخ دهند. در پایان فصل، تمام ابزارهایی را که برای استفاده از composables با view ها یا حتی مهاجرت به یک Compose UI خالص نیاز دارید، خواهید داشت.
- “شما میتوانید composable ها را به UI های مبتنی بر View اضافه کنید”
- “ساختار برنامه بازی حدس زدن”
- “ما نماهای ResultFragment را با composable ها جایگزین خواهیم کرد”
- “A ComposeView به شما امکان میدهد تا کامپوزیشنها را به یک طرحبندی اضافه کنید”
- “افزودن قابل ترکیب با استفاده از کد Kotlin”
- “یک تابع قابل ترکیب برای محتوای قطعه اضافه کنید”
- “بازتولید دکمه شروع بازی جدید”
- “تکثیر ResultFragment’s TextView”
- “onCreateView() نمای ریشه UI را برمیگرداند”
- “کد کامل ResultFragment.kt”
- “وقتی برنامه اجرا میشود چه اتفاقی میافتد”
- “در مرحله بعد، GameFragment را نیز از composables استفاده خواهیم کرد”
- “ما یک ComposeView را به fragment_game.xml اضافه خواهیم کرد”
- “یک تابع قابل ترکیب برای محتوای GameFragment اضافه کنید”
- «بازتولید دکمه پایان بازی»
- “تکثیر متن ویرایش با یک TextField”
- “بازتولید دکمه حدس زدن”
- “ما حدس های نادرست را در یک متن قابل نوشتن نمایش خواهیم داد”
- “ایجاد یک تابع ترکیبی IncorrectGuessesText”
- “جعبه ابزار اندروید شما”
پیوست اول کتاب Head First Android Development
حتی بعد از همه اینها، هنوز کمی بیشتر وجود دارد. فقط چند چیز دیگر وجود دارد که فکر میکنیم باید بدانید. ما نمیخواهیم آنها را نادیده بگیریم، و واقعاًً میخواستیم کتابی را به شما بدهیم که بتوانید بدون تمرین گسترده در باشگاه محلی بلند کنید. قبل از اینکه کتاب Head First Android Development را زمین بگذارید، این نکات را بخوانید.
- “1. به اشتراک گذاری دادهها با برنامههای دیگر
- «2. مدیر کار”
- “3. دیالوگها و اعلانها”
- “4. تست خودکار”
- “5. پشتیبانی از اندازههای مختلف صفحه نمایش”
- “6. ویژگیهای بیشتر نوشتن»
- «7. مقاومسازی”
- “8. کیت توسعه بازی اندروید
- “9. CameraX”
- “10. انتشار اپلیکیشن شما”
همچنین شما میتوانید علاوه بر کتاب Head First Android Development، برای مطالعهی بیشتر بر روی کاتلین از کتاب Kotlin Programming نیز استفاده نمائید.
سرفصلهای کتاب Head First Android Development:
- How to use this book: Intro
- Chapter 1. Getting Started: Diving In
- Chapter 2. Building Interactive Apps: Apps That Do Something
- Chapter 3. Layouts: Being a layout
- Chapter 4. Constraint Layouts: Draw Up a Blueprint
- Chapter 5. The Activity Lifecycle: Being an Activity
- Chapter 6. Fragments and Navigation: Finding Your Way
- Chapter 7. Safe Args: Passing Information
- Chapter 8. Navigation ui: Going Places
- Chapter 9. Material Views: A Material World
- Chapter 10. View Binding: Bound Together
- Chapter 11. View Models: Model Behavior
- Chapter 12. Live Data: Leaping into Action
- Chapter 13. Data Binding: Building Smart Layouts
- Chapter 14. Room Databases: Room with a View
- Chapter 15. Recycler Views: Reduce, Reuse, Recycle
- Chapter 16. Diffutil and Data Binding: Life in the Fast Lane
- Chapter 17. Recycler View Navigation: Pick a Card
- Chapter 18. Jetpack Compose: Compose Yourself
- Chapter 19. Integrating Compose with views: Perfect Harmony
- Appendix A. Leftovers: The Top Ten Things (we didn’t cover)
- Index
فایل کتاب Head First Android Development را میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.