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

Learning Android App DevelopmentAndroid Activity and its LifecycleAndroid Activity and its Lifecycle در چرخه فعالیت اکتیویتی ، شما می توانید اعلام کنید که چگونه اکتیویتی شما چگونه و چطور رفتار می کند، زمانی که یکی از اکتیویتی ها از بین می رود و مجدا وارد اکتیویتی می شود. به عنوان مثال، اگر شما در حال ساخت یک پخش کننده ویدیویی هستید، زمانی که کاربر با یک برنامه دیگر، ویدیو را متوقف می کند و اتصال شبکه را قطع می کند. می توانید به شبکه دوباره وصل شود و به کاربر اجازه می دهد تا ویدیو را شروع کند.https://blog.mindorks.com/android-activity-lifecycleAndroid Fragments and its LifcycleAndroid Fragments and its Lifcycle فرگمنت را می توان به عنوان یک زیر مجموعه و یا یک بخش از اکتیویتی (sub-activity) در نظر گرفت که در نهایت قسمتی از رابط کاربری را تشکیل داده و به واسطه آن یک رابط کاربری چند قسمتی ایجاد می شود. فرگمنت در اندروید مشابه آنچه قبلا برای اکتیویتی ها آموختیم، چرخه حیات و رفتار خاص خود را دارد، رویدادهای ورودی را دریافت می کند و از دو قسمت xml (لایه واسط کاربری) و کد عملیاتی (java) تشکیل شده است. هر اکتیویتی می تواند چندین فرگمنت را در خود جای دهد و هر فرگمنت می تواند در چندین اکتیویتی استفاده شود. بنابراین فرگمنت به تنهایی قابلیت اجرا ندارد و به اکتیویتی والد و چرخه حیات آن وابسته است. فرگمنت از API 11 (اندروید Honeycomb) اضافه شد. Android Fragments and its Lifcyclehttps://blog.mindorks.com/android-fragments-and-its-lifecycle Debug your app | Android DevelopersDebug 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 اکتیویتی ها در اندروید ساختارهای منطقی هستند که کاربر را در صفحه های مختلف هدایت می نمایند. دانستن ارتباط هر اکتیوتی با سایر اکتیویتی ها برای داشتن یک تجربه کاربری خوب ضروری بوده و این ارتباط باید با تمرکز بر مبنای دید کاربر طراحی گردد. به این منظور، سیستم اندروید جریان کاری و عقب و جلو رفتن کاربر بین اکتیویتی ها را به خوبی در مفهموم Task در نظر گرفته و کنترل می نماید. یک Task، اکتیویتی ها را با استفاده از یک پشته بنام Back Stack نگهداری مینماید. ساختار Stack بصورت LIFO است و اکتیویتی ها را به ترتیب آغاز شدن آنها نگهداری نموده و هیچگاه این ترتیب را بهم نمیریزد. کنترل و هدایت Back Stack توسط دکمه Back انجام میشود. https://blog.mindorks.com/android-task-and-back-stack-review-5017f2c18196Understanding 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 در سیستم عامل های مختلف (از جمله اندروید)، thread ها یکی از مفاهیم اصلی می باشند که به ما قابلیت انجام چند کار (multitasking) را می دهند، به گونه ای که بتوانیم عملیات های مختلف را به شکلی مدیریت کنیم که هیچ اختلالی برای یکدیگر ایجاد نکنند. در واقع با استفاده از thread ها می توانیم اجرای موازی (parallel execution) عملیات های مختلف در برنامه ها (applications) را امکان پذیر کنیم. https://developer.android.com/reference/java/lang/ThreadHandle Configuration Changes Handle Configuration Changes یاد بگیرید چگونه با تغییرات رفتاری یک گوشی در برنامه خودتان رفتار کنید. زمانی که برنامه شما در حال اجراست ممکن است ممکن از تغییراتی در زمان اجرای برنامه شما در گوشی کاربر رخ دهد. مااند چرخش صفحه, در دسترس بودن صفحه کلید, روش یا خاموش بودن اینترنت و ...https://developer.android.com/guide/topics/resources/runtime-changesAndroid Content ProviderAndroid Content Providerگاهی اوقات نیاز هست که اطلاعات و داده ها بین برنامه ها به اشتراک گذاشته شود . اینجاست که اهمیت content provider ها مشخص میشود . Content Provider ها یا تامین کننده ی محتواها در اندروید ، به شما این اجازه را میدهند که اطلاعات و داده های خود را در نقطه ی متمرکزی با دیگر برنامه هایی که به این اطلاعات نیاز دارند ، به اشتراک بگذارد . https://developer.android.com/guide/topics/providers/content-provider-basicsAndroid Store | Libraries, Projects, Tools and AppsAndroid 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 Looper، Handler، HandlerThread راه حل اندروید برای مشکلات برنامه نویسی ناهمزمان هستند درک هسته اندروید : Looper , Handler و HandlerThread Understanding the Android Core. Looper, Handler, and HandlerThread Service Overview and IntentService Service Overview and IntentService سرویس ها اغلب برای انجام عملیات تکراری و طولانی مورد استفاده قرار می گیرند. از جمله ی این عملیات می توان به دانلود از اینترنت، بررسی و جستجو برای داده های جدید، پردازش اطلاعات، بروز آوری content provider ها و موارد مشابه اشاره کرد. https://developer.android.com/guide/components/services Android App Optimization Using ArrayMap and SparseArrayبهینه سازی عملکرد برنامه در زمان استفاده از ArrayMapAndroid App Optimization Using ArrayMap and SparseArrayhttps://blog.mindorks.com/android-app-optimization-using-arraymap-and-sparsearray-f2b4e2e3dc47پایان بخش اولمنبع : medium.com