لیستی از مفاهیم مهم برای درک بهتر برنامه نویسی اندروید

Learning Android App Development
Learning Android App Development


  • Android Activity and its Lifecycle
Android Activity and its Lifecycle
Android Activity and its Lifecycle

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

https://blog.mindorks.com/android-activity-lifecycle


  • Android Fragments and its Lifcycle
Android Fragments and its Lifcycle
Android Fragments and its Lifcycle

فرگمنت را می توان به عنوان یک زیر مجموعه و یا یک بخش از اکتیویتی (sub-activity) در نظر گرفت که در نهایت قسمتی از رابط کاربری را تشکیل داده و به واسطه آن یک رابط کاربری چند قسمتی ایجاد می شود. فرگمنت در اندروید مشابه آنچه قبلا برای اکتیویتی ها آموختیم، چرخه حیات و رفتار خاص خود را دارد، رویدادهای ورودی را دریافت می کند و از دو قسمت xml (لایه واسط کاربری) و کد عملیاتی (java) تشکیل شده است. هر اکتیویتی می تواند چندین فرگمنت را در خود جای دهد و هر فرگمنت می تواند در چندین اکتیویتی استفاده شود. بنابراین فرگمنت به تنهایی قابلیت اجرا ندارد و به اکتیویتی والد و چرخه حیات آن وابسته است. فرگمنت از API 11 (اندروید Honeycomb) اضافه شد.

Android Fragments and its Lifcycle
Android Fragments and its Lifcycle
https://blog.mindorks.com/android-fragments-and-its-lifecycle


  • Debug your app | Android Developers
Debug your app | Android Developers
Debug your app | Android Developers

یاد بگیرید که چطور برنامه های خودوتن رو دیباگ کنید. هر توسعه دهنده اندروید به این مهارت نیاز دارد.

https://developer.android.com/studio/debug/


  • Android Task and Back Stack
Debug your app | Android Developersbug your app | Android Developersdroid Task and Back Stack
Debug your app | Android Developersbug your app | Android Developersdroid Task and Back Stack

اکتیویتی ها در اندروید ساختارهای منطقی هستند که کاربر را در صفحه های مختلف هدایت می نمایند. دانستن ارتباط هر اکتیوتی با سایر اکتیویتی ها برای داشتن یک تجربه کاربری خوب ضروری بوده و این ارتباط باید با تمرکز بر مبنای دید کاربر طراحی گردد. به این منظور، سیستم اندروید جریان کاری و عقب و جلو رفتن کاربر بین اکتیویتی ها را به خوبی در مفهموم Task در نظر گرفته و کنترل می نماید. یک  Task، اکتیویتی ها را با استفاده از یک پشته بنام  Back Stack نگهداری مینماید. ساختار  Stack   بصورت LIFO است و اکتیویتی ها را به ترتیب آغاز شدن آنها نگهداری نموده و هیچگاه این ترتیب را بهم نمیریزد.  کنترل و هدایت Back Stack توسط دکمه Back انجام میشود.

https://blog.mindorks.com/android-task-and-back-stack-review-5017f2c18196


  • Understanding the Context In Android Application
     Understanding the Context In Android Application
Understanding the Context In Android Application

یک برنامه ی اندرویدی یا مجموعه ی بسته نرم افزاری(APK)، یک بسته ی نرم افزاری از componentها هستند. این componentها در Manifest تعریف می شوند و عمدتا شامل (Activity(UI و (Service(Background و (BroadcastReceiver(Action و (ContentProvider (Data و (...,Resources (images, strings هستند.

توسعه دهنده می تواند این componentها را در سیستم با استفاده از intent-filter به نمایش بگذارد. برای مثال ارسال ایمیل یا به اشتراک گذاری تصویر. آن ها می توانند این componentها را به همراه componentهای دیگر در برنامه ی خود نشان دهند.

به طور مشابه سیستم عامل اندروید نیز نمایش componentها را طراحی نموده است. چند مورد شناخته شده ی آن نظیر WifiManager، Vibrator  و PackageManager هستند

ما از Context برای معرفی Component به Activity، Content Provider، BroadcastReceiver و... استفاده می کنیم. ما همچنین از آن به منظور دستیابی به منابع و فایل های سیستم بهره می گیریم.

https://blog.mindorks.com/understanding-context-in-android-application-330913e32514


  • Threading
     Threading
Threading

در سیستم عامل های مختلف (از جمله اندروید)، thread ها یکی از مفاهیم اصلی می باشند که به ما قابلیت انجام چند کار (multitasking) را می دهند، به گونه ای که بتوانیم عملیات های مختلف را به شکلی مدیریت کنیم که هیچ اختلالی برای یکدیگر ایجاد نکنند. در واقع با استفاده از thread ها می توانیم اجرای موازی (parallel execution) عملیات های مختلف در برنامه ها (applications) را امکان پذیر کنیم.

https://developer.android.com/reference/java/lang/Thread


  • Handle Configuration Changes
Handle  Configuration Changes
Handle Configuration Changes

یاد بگیرید چگونه با تغییرات رفتاری یک گوشی در برنامه خودتان رفتار کنید. زمانی که برنامه شما در حال اجراست ممکن است ممکن از تغییراتی در زمان اجرای برنامه شما در گوشی کاربر رخ دهد. مااند چرخش صفحه, در دسترس بودن صفحه کلید, روش یا خاموش بودن اینترنت و ...

https://developer.android.com/guide/topics/resources/runtime-changes


  • Android Content Provider
Android Content Provider
Android Content Provider

گاهی اوقات نیاز هست که اطلاعات و داده ها بین برنامه ها به اشتراک گذاشته شود . اینجاست که اهمیت content provider ها مشخص میشود . Content Provider ها یا تامین کننده ی محتواها در اندروید ، به شما این اجازه را میدهند که اطلاعات و داده های خود را در نقطه ی متمرکزی با دیگر برنامه هایی که به این اطلاعات نیاز دارند ، به اشتراک بگذارد .

https://developer.android.com/guide/topics/providers/content-provider-basics


Android Store | Libraries, Projects, Tools and Apps

Android Store | Libraries, Projects, Tools and Apps
Android Store | Libraries, Projects, Tools and Apps

با انواع کتابخانه های اندروید آشنایی داشته باید میتوانید از سایت GitHub در این زمینه استفاده کنید. و در اولین فرصت نحوه کار با با خود گیت هارو فرا بگیرید. با ابزار های توسعه اندروید بیشتر آشنا باید.کد و نمونه مثال ببینید و تمرین کنید.

https://mindorks.com/android/store


  • Understanding the Android Core. Looper, Handler, and HandlerThread
 Understanding the Android Core. Looper, Handler, and HandlerThread
Understanding the Android Core. Looper, Handler, and HandlerThread

Looper، Handler، HandlerThread

راه حل اندروید برای مشکلات برنامه نویسی ناهمزمان هستند

درک هسته اندروید : Looper , Handler و HandlerThread
Understanding the Android Core. Looper, Handler, and HandlerThread



  • Service Overview and IntentService
 Service Overview and IntentService
Service Overview and IntentService

سرویس ها اغلب برای انجام عملیات تکراری و طولانی مورد استفاده قرار می گیرند. از جمله ی این عملیات می توان به دانلود از اینترنت، بررسی و جستجو برای داده های جدید، پردازش اطلاعات، بروز آوری content provider ها و موارد مشابه اشاره کرد.

https://developer.android.com/guide/components/services


  • Android App Optimization Using ArrayMap and SparseArray

بهینه سازی عملکرد برنامه در زمان استفاده از ArrayMap

Android App Optimization Using ArrayMap and SparseArray
Android App Optimization Using ArrayMap and SparseArray


https://blog.mindorks.com/android-app-optimization-using-arraymap-and-sparsearray-f2b4e2e3dc47
پایان بخش اول
منبع : medium.com