همیشه فردا دیره ⌛ بهترین زمان برای شروع الآنه 🔥 از ۶ میلیون هدیه تا ۲۵٪ آفر ویژه 🎁 (برای شروع کلیک کن 👉)
۰ ثانیه
۰ دقیقه
۰ ساعت
۰ دیدگاه نظر سحر پاشائی
اندروید چیست و چه کاربردی دارد؟ (50 سوال مهم مصاحبه اندروید)
سرفصل‌های مقاله
  • اندروید چیه؟
  • کاربردهای اندروید
  • ویژگی‌های اندروید
  • فرآیند کار با اندروید چطوریه؟
  • اندروید چطوری کار می‌کنه و معماریش چیه؟
  • چطور اندروید رو نصب و تنظیم کنیم؟
  • مقایسه اندروید و iOS
  • 50 سوال مهم مصاحبه اندروید
  • جمع‌بندی

امروزه کم‌تر کسی هست که اسم سیستم عامل اندروید به گوشش نخورده باشه. اما چی شد که اندروید به وجود اومد و دقیقا چه کاربردهایی داره؟

قضیه برمی‌گرده به دوران ابرکامپیوترها! همه چیز بزرگ، سنگین و گرون! هیچ وسیله هوشمند قابل حملی وجود نداشت! این محدودیت‌ها باعث شد چندتا نابغه دور هم جمع بشن و تصمیم بگیرن دنیای دیجیتال رو متحول کنن. نتیجه دورهمی‌هاشون به وجود اومدن سیستم عامل‌هایی بود که به عنوان مغز دستگاه‌های هوشمندِ کوچیک عمل می‌کنن!

سال ۱۹۹۸، بنیاد سیمبیان سیستم‌عاملی به نام سیمبیان رو طراحی کرد تا گوشی‌های هوشمند رو برای برندهایی مثل نوکیا، سونی اریکسون، سامسونگ و پاناسونیک به واقعیت تبدیل کنه. اما مشکلاتی وجود داشت. مثلا، اپلیکیشن‌ها روی همه برندها به خوبی کار نمی‌کردن و حتی برنامه‌های جاوا هم به درستی اجرا نمی‌شدن.

از طرفی، شرکت‌های زیادی می‌خواستن گوشی‌های هوشمند بسازن ولی هزینه‌های بالای لایسنس سیمبیان مانعشون می‌شد. نوکیا بیشترین استفاده رو از سیمبیان داشت و در سال ۲۰۰۸ همه سهامش رو خرید، این یعنی دیگه برندهای دیگه نمی‌تونستن از این سیستم‌عامل استفاده کنن و ایده یک سیستم‌عامل یکپارچه فراموش شد.

به‌روزرسانی‌های سیمبیان کند بود و توسعه‌دهنده‌ها بهش علاقه‌ای نداشتن چون محدودیت‌های زیادی داشت. اپ استور نوکیا هم خیلی محدود بود و اپلیکیشن‌های کاربردی زیادی نداشت. در نهایت، سیمبیان در سال ۲۰۱۱ کنار گذاشته شد.

اینجا بود که مرگ سیمبیان موجب تولد اندروید شد! در سال 2003 اندی روبین و تیمش پروژه اندروید رو شروع کردن. هدفشون این بود که یه سیستم‌عامل متن‌باز بسازن که هر کسی بتونه ازش استفاده کنه. گوگل خیلی زود این پروژه رو خرید و از اون به بعد، اندروید تبدیل شد به قلب تپنده میلیون‌ها دستگاه در سراسر جهان.

اندروید چیه؟

اندروید یه سیستم‌عامل موبایله که توسط گوگل توسعه داده شده. این سیستم‌عامل بر پایه لینوکسه و بیشتر برای دستگاه‌های لمسی مثل گوشی‌های هوشمند و تبلت‌ها طراحی شده. اندروید الان محبوب‌ترین سیستم‌عامل موبایل توی دنیاست و میلیاردها دستگاه رو توی سراسر جهان پشتیبانی می‌کنه.

کاربردهای اندروید

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

گوشی‌های هوشمند

مهم‌ترین کاربرد اندروید توی گوشی‌های هوشمنده. میلیون‌ها اپلیکیشن مختلف برای اندروید وجود داره که هر کدوم برای یه کاری استفاده می‌شن. از اپلیکیشن‌های پیام‌رسانی مثل واتساپ و تلگرام گرفته تا بازی‌های جذاب و سرگرم‌کننده مثل PUBG و Candy Crush. علاوه بر این، اپلیکیشن‌های مالی، سلامت، عکاسی و خیلی چیزهای دیگه هم هستند که گوشی‌های اندرویدی رو به یه ابزار همه‌کاره تبدیل می‌کنن.

تبلت‌ها

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

تلویزیون‌های هوشمند

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

ساعت‌های هوشمند

اندروید توی ساعت‌های هوشمند هم استفاده می‌شه. این ساعت‌ها بهت کمک می‌کنن که سلامتت رو زیر نظر بگیری، پیام‌ها و تماس‌هات رو مدیریت کنی و حتی از GPS برای پیدا کردن مسیر استفاده کنی. ساعت‌های هوشمند اندرویدی می‌تونن تعداد قدم‌های روزانه‌ت رو بشمارن، ضربان قلبت رو اندازه بگیرن و حتی کیفیت خوابت رو بررسی کنن.

ماشین‌ها

ماشین‌های هوشمند هم از اندروید استفاده می‌کنن. با این ماشین‌ها می‌تونی نقشه‌های دقیق داشته باشی، موسیقی پخش کنی و حتی از اپلیکیشن‌های مختلف برای مدیریت سفرهات استفاده کنی. اندروید اتو (Android Auto) بهت کمک می‌کنه که به راحتی و با ایمنی بیشتر رانندگی کنی.

دنیای اندروید بدون مرز!

تا اینجا دیدیم که اندروید چطور به وجود اومد و چه کاربردهایی داره. ولی جذابیت اندروید اینجاست که هیچ مرزی نداره! هر روز تکنولوژی‌های جدیدتری به این دنیای بزرگ اضافه می‌شن و کارهایی که می‌تونیم با اندروید انجام بدیم، روز به روز بیشتر می‌شه. حالا بیا با هم یه نگاهی به آینده بندازیم و ببینیم اندروید چه چیزهایی رو می‌تونه برامون به ارمغان بیاره.

خانه‌های هوشمند

یکی از جذاب‌ترین کاربردهای آینده اندروید توی خانه‌های هوشمنده. تصور کن همه چیز تو خونه‌ت با اندروید کنترل بشه: از روشنایی و گرمایش گرفته تا لوازم خانگی و سیستم امنیتی. همه چیز با یه دکمه روی گوشی یا حتی با صدای خودت قابل کنترله!

واقعیت افزوده و واقعیت مجازی

واقعیت افزوده (AR) و واقعیت مجازی (VR) هم از تکنولوژی‌هایی هستن که با اندروید خیلی خوب کار می‌کنن. بازی‌ها و اپلیکیشن‌های واقعیت افزوده و مجازی می‌تونن تجربه‌های جدید و جذابی رو برات به ارمغان بیارن.

اینترنت اشیاء (IoT)

اینترنت اشیاء (IoT) یکی دیگه از زمینه‌هاییه که اندروید می‌تونه توش نقش مهمی داشته باشه. تصور کن همه وسایل خونگی‌ت به اینترنت وصل باشن و بتونی اون‌ها رو از راه دور کنترل کنی. این یعنی زندگی خیلی راحت‌تر و هوشمندتر می‌شه.

اندروید با ارائه این همه امکانات و قابلیت‌ها، زندگی ما رو راحت‌تر و جذاب‌تر کرده و هر روز با تکنولوژی‌های جدیدتری که بهش اضافه می‌شه، امکانات بیشتری رو در اختیارمون قرار می‌ده.

ویژگی‌های اندروید

اندروید به خاطر قابلیت‌های متنوع و کاربردی که داره، محبوبیت زیادی پیدا کرده. حالا بیایم به طور کامل به این ویژگی‌ها بپردازیم و ببینیم چطور اندروید زندگی ما رو راحت‌تر کرده.

  • چندوظیفگی: می‌تونی چند تا اپلیکیشن رو همزمان اجرا کنی.
  • شخصی‌سازی: دستگاه‌های اندرویدی رو با لانچرها، تم‌ها و ویجت‌های مختلف تغییر بده.
  • خدمات گوگل: دسترسی به خدمات گوگل مثل جستجو، جیمیل، گوگل مپس و خیلی‌های دیگه.
  • فروشگاه اپلیکیشن: دسترسی به گوگل پلی استور که میلیون‌ها اپ و بازی داره.
  • امنیت: اندروید با ویژگی‌هایی مثل رمزگذاری دستگاه و Google Play Protect امنیت بالایی داره.
  • انتقال سریع داده‌ها (Tap To Transfer): این ویژگی بهت اجازه می‌ده تا داده‌ها رو با سرعت بالا بین دستگاه‌های اندرویدی انتقال بدی. شبیه به بلوتوث، اما سریع‌تر و کارآمدتر. قبلاً ویژگی Nearby Share برای انتقال داده‌ها از طریق وای‌فای مستقیم اضافه شده بود، اما حالا این قابلیت‌ها بیشتر و بهتر شده.
  • تنظیم اعلان‌ها (Opt-In Notification): با این ویژگی می‌تونی تعیین کنی کدوم اپلیکیشن‌ها اجازه ارسال اعلان دارن. مثلاً اگه عضو چند تا کانال تلگرام هستی و نمی‌خوای مدام نوتیفیکیشن بگیری، می‌تونی اعلان‌های تلگرام رو کلی غیرفعال کنی و هر وقت خودت خواستی به اپ سر بزنی.
  • اسکنر QR Code: حالا اندروید خودش یه اسکنر QR Code داره و دیگه نیازی به اپلیکیشن‌های جانبی نیست. این ویژگی خیلی راحت و سریع بهت اجازه می‌ده تا کدهای QR رو اسکن کنی.
  • تنظیم زبان اپلیکیشن‌ها (Panilingual Pre-app Language): این قابلیت کمک می‌کنه تا زبان اپلیکیشن‌ها رو به‌طور جداگانه تنظیم کنی. مثلاً اگه زبان گوشی‌ت انگلیسیه ولی یه اپلیکیشن ایرانی استفاده می‌کنی، می‌تونی اون اپ رو روی فارسی تنظیم کنی.
  • مدیریت مصرف باتری (Battery Measure): این ویژگی بهت کمک می‌کنه تا مصرف باتری رو بهینه‌تر مدیریت کنی. اپ‌هایی که کمتر استفاده می‌شن رو می‌بنده و به این ترتیب عمر باتری رو بیشتر می‌کنه.
  • اتصال به دستگاه‌های دیگر (Ultra Wide Band): با این ویژگی می‌تونی دستگاه‌های دیگه رو به گوشی‌ت وصل کنی و اون‌ها رو کنترل کنی. همچنین کمک می‌کنه تا گجت‌های گمشده رو راحت‌تر پیدا کنی.
  • صدای باکیفیت (Bluetooth Low-energy Audio): وقتی باتری گوشی کم شده و داری موسیقی گوش می‌کنی، این ویژگی جلوی افت کیفیت صدا رو می‌گیره و تجربه‌ای بهتر از گوش دادن به موسیقی رو فراهم می‌کنه.
  • تنظیم خروجی صدا (Output Picker Changes): به کمک این ابزار می‌تونی انتخاب کنی که صدای گوشی‌ت از اسپیکر پخش بشه یا هدست.
  • تغییرات صفحه قفل (Lockscreen Changes): مثل کامپیوترهای دسکتاپ، می‌تونی چندین حساب کاربری داشته باشی و به راحتی بین اون‌ها جابه‌جا بشی.
  • تعویق اعلان‌ها (Snooze Notifications): این ویژگی بهت اجازه می‌ده تا اعلان‌ها رو به تعویق بندازی و بعداً بهشون رسیدگی کنی.
  • تنظیمات سریع (Quick Settings): در مرکز کنترل می‌تونی تنظیمات بخش‌های مختلف رو سریع تغییر بدی.
  • ضبط صفحه نمایش (Native Screen Recording): بدون نیاز به برنامه جانبی، می‌تونی از صفحه نمایش فیلم‌برداری کنی.
  • قطع اعلان‌ها هنگام فیلم‌برداری (Muting Notifications during Video Capturing): حین فیلم‌برداری، اعلان‌ها نادیده گرفته می‌شن تا تمرکزت به هم نخوره و بعداً بهشون رسیدگی کنی.
  • افزایش حساسیت لمس (Increase Touch Sensitivity): می‌تونی حساسیت لمس صفحه نمایش رو طبق نیازت تنظیم کنی.
  • تاریخچه اعلان‌ها (Notification History): با این ویژگی می‌تونی لیستی از اعلان‌های قبلی‌ت رو ببینی و دیگه هیچکدوم رو از دست ندی.
  • لغو خودکار مجوزها (Auto Revoke App Permissions): این ویژگی بهت کمک می‌کنه مجوزهای اپلیکیشن‌ها رو بعد از یه مدت مشخص لغو کنی تا امنیت بیشتری داشته باشی.
  • حالت هواپیما بدون قطع  بلوتوث: وقتی حالت پرواز رو فعال می‌کنی، بلوتوث همچنان فعال می‌مونه و فقط آنتن‌های موبایل قطع می‌شن.
  • سنجاق کردن اپلیکیشن‌ها در منوی اشتراک‌گذاری: این ویژگی بهت اجازه می‌ده تا اپلیکیشن‌های پرکاربرد رو تو منوی اشتراک‌گذاری سنجاق کنی تا سریع‌تر بهشون دسترسی داشته باشی.

اندروید با این ویژگی‌ها تجربه کاربری رو به شدت بهبود بخشیده و امکانات زیادی رو در اختیار کاربران قرار می‌ده. این قابلیت‌ها باعث می‌شن تا استفاده از دستگاه‌های اندرویدی لذت‌بخش‌تر و کارآمدتر بشه.

"اندروید قدرت تکنولوژی را در دسترس همه قرار می‌دهد و این قدرت، جهان را تغییر می‌دهد." - اندی روبین

فرآیند کار با اندروید چطوریه؟

اندروید یه سیستم‌عامل پرکاربرده که برای توسعه و استفاده ازش باید یه سری مراحل رو طی کنی. بیا ببینیم این مراحل چیا هستن:

  • توسعه (Development): اول از همه، برنامه‌نویسا اپلیکیشن‌ها رو با زبان‌های برنامه‌نویسی مثل جاوا یا کاتلین می‌نویسن.
  • کامپایل (Compilation): کدهای نوشته شده کامپایل می‌شن و به یه فایل اجرایی تبدیل می‌شن که دستگاه بتونه اجراش کنه.
  • تست (Testing): اپلیکیشن رو تست می‌کنن تا مطمئن شن که درست کار می‌کنه و باگ نداشته باشه.
  • انتشار (Publishing): بعد از تست و رفع اشکال، اپلیکیشن توی گوگل پلی استور یا فروشگاه‌های دیگه منتشر می‌شه.
  • نصب (Installation): کاربران اپلیکیشن رو دانلود و روی دستگاه‌های اندرویدیشون نصب می‌کنن.
  • استفاده (Usage): در نهایت، کاربران با اپلیکیشن تعامل دارن و ازش استفاده می‌کنن.

اندروید چطوری کار می‌کنه و معماریش چیه؟

اندروید بر پایه کرنل لینوکسه و یه معماری لایه‌ای داره که هر لایه وظیفه خاص خودش رو داره. بیا یه نگاه به این لایه‌ها بندازیم:

  • اپلیکیشن‌ها (Applications): بالاترین لایه، شامل رابط کاربری و خود اپلیکیشن‌هاست که کاربرا باهاشون سروکار دارن.
  • فریم‌ورک اپلیکیشن (Application Framework): لایه‌ای که ابزارها و APIهایی رو فراهم می‌کنه تا برنامه‌نویسا بتونن اپلیکیشن بسازن.
  • کتابخونه‌ها (Libraries): یه سری کتابخونه که برنامه‌نویسا می‌تونن تو اپلیکیشن‌هاشون ازشون استفاده کنن.
  • زمان اجرا (Runtime): شامل ماشین مجازی دالویک (Dalvik) یا ART برای اجرای اپلیکیشن‌ها.
  • کرنل (Kernel): پایین‌ترین لایه که شامل درایورهای دستگاه، مدیریت انرژی و ویژگی‌های امنیتیه.

چطور اندروید رو نصب و تنظیم کنیم؟

اگه می‌خوای شروع کنی به توسعه اپلیکیشن‌های اندرویدی، باید مراحل زیر رو انجام بدی:

  • دانلود Android Studio: اول، Android Studio IDE رو از وب‌سایت توسعه‌دهندگان اندروید دانلود کن.
  • نصب Android Studio: نصبش کن روی کامپیوترت.
  • ایجاد پروژه جدید: Android Studio رو باز کن و یه پروژه جدید بساز.
  • انتخاب پلتفرم و دستگاه هدف: پلتفرم و دستگاهی که می‌خوای اپلیکیشن براش بنویسی رو انتخاب کن.
  • نوشتن کد: کد اپلیکیشن رو با استفاده از جاوا یا کاتلین بنویس.
  • تست اپلیکیشن: اپلیکیشن رو با استفاده از یه شبیه‌ساز یا دستگاه واقعی تست کن.
  • انتشار اپلیکیشن: اپلیکیشن رو توی گوگل پلی استور یا فروشگاه‌های دیگه منتشر کن.

با این مراحل ساده می‌تونی شروع به توسعه اپلیکیشن‌های اندرویدی کنی و وارد دنیای جذاب برنامه‌نویسی اندروید بشی!

اندروید استودیو یه IDE برای توسعه اپلیکیشن‌های اندرویدی هست که بر پایه IntelliJ IDEA از JetBrains ساخته شده. این پلتفرم مجموعه‌ای از ابزارهای قدرتمند برای نوشتن کد، طراحی رابط‌های کاربری، دیباگ کردن و مدیریت پروژه‌ها رو در اختیار توسعه‌دهندگان قرار می‌ده. اگه دوست داری بیش‌تر با این پلتفرم آشنا بشی و طریقه نصبش رو یاد بگیری یه سر به مقاله‌های "اندروید استودیو (android studio) چیست؟" و "آموزش نصب و راه اندازی اندروید استودیو (+ ترفند‌های کاربردی)" بزن.

مقایسه اندروید و iOS

خب حالا که با اندروید آشنا شدی، بیایم یه نگاهی به رقیبش، iOS، بندازیم و ببینیم این دو سیستم‌عامل چه تفاوت‌هایی دارن و کدومشون برای تو مناسب‌تره.

آزادی و شخصی‌سازی

اندروید: تو اندروید می‌تونی هر چیزی رو شخصی‌سازی کنی! از ظاهر و تم‌ها گرفته تا ویجت‌ها و لانچرها. حتی می‌تونی برنامه‌های پیش‌فرض رو تغییر بدی و به دلخواه خودت اپلیکیشن‌های دیگه‌ای نصب کنی.

iOS: آی او اس خیلی بسته‌تره. اپل کنترل زیادی روی سیستم‌عاملش داره و این یعنی آزادی شخصی‌سازی کمتری داری. اما این باعث می‌شه همه‌چیز یه‌دست و هماهنگ باشه و تجربه کاربری ساده‌تر و راحت‌تری داشته باشی.

اپلیکیشن‌ها و فروشگاه‌ها

اندروید: گوگل پلی استور بزرگ‌ترین فروشگاه اپلیکیشن دنیاست و میلیون‌ها اپلیکیشن رایگان و پولی توش پیدا می‌کنی. علاوه بر این، می‌تونی اپلیکیشن‌ها رو از منابع دیگه هم نصب کنی.

iOS: اپ استور اپل هم اپلیکیشن‌های خیلی باکیفیتی داره، ولی یه کم محدودتره. اپل روی امنیت و کیفیت اپ‌ها خیلی حساسه و همین باعث می‌شه اپ‌های مخرب کمتری توش پیدا بشه.

بروزرسانی‌ها

اندروید: بروزرسانی‌های اندروید بستگی به سازنده گوشی داره. یعنی ممکنه بروزرسانی‌ها دیرتر به دستت برسه، مگر اینکه گوشی پیکسل داشته باشی که گوگل مستقیم بروزرسانی‌ها رو براش می‌فرسته.

iOS: اپل خودش بروزرسانی‌ها رو برای همه دستگاه‌هاش همزمان می‌فرسته. این یعنی همیشه سریع‌ترین دسترسی به آخرین امکانات و امنیت رو داری.

دستگاه‌ها

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

iOS: اپل فقط چند مدل محدود آیفون رو عرضه می‌کنه که همه‌شون تو رده بالای بازار هستن. اگه بخوای آیفون بخری، انتخابت محدود به همون چند مدل می‌شه.

پشتیبانی و خدمات پس از فروش

اندروید: بسته به برند گوشی‌ت، پشتیبانی و خدمات پس از فروش می‌تونه متفاوت باشه. بعضی برندها پشتیبانی خوبی دارن و بعضی دیگه نه چندان.

iOS: اپل پشتیبانی و خدمات پس از فروش فوق‌العاده‌ای داره. اپل استورها و مراکز خدمات رسمی اپل تو بیشتر نقاط دنیا وجود دارن و به راحتی می‌تونی بهشون دسترسی داشته باشی.

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

50 سوال مهم مصاحبه اندروید

در این بخش می‌خوایم 50 سوال مهم که ممکنه در مصاحبه‌های کاری ازتون پرسیده بشه رو بررسی کنیم.

1. اندروید چیه؟

اندروید یه سیستم‌عامل متن‌بازه که بیشتر روی دستگاه‌های موبایل مثل گوشی‌ها و تبلت‌ها استفاده می‌شه. این سیستم‌عامل بر پایه هسته لینوکسه و دارای اجزای غنی‌ایه که به توسعه‌دهنده‌ها اجازه می‌ده اپلیکیشن‌هایی بسازن که می‌تونن کارهای ساده و پیشرفته انجام بدن.

2. Google Android SDK چیه؟

Google Android SDK یه ابزار کامل برای توسعه‌دهنده‌هاست تا بتونن اپلیکیشن‌های اندرویدی بنویسن. این ابزار یه رابط گرافیکی داره که محیط یه دستگاه اندرویدی رو شبیه‌سازی می‌کنه و به توسعه‌دهنده‌ها اجازه می‌ده کدهاشون رو تست و دیباگ کنن.

3. معماری اندروید چیه؟

معماری اندروید از چهار جزء اصلی تشکیل شده:

  • هسته لینوکس (Linux Kernel)
  • کتابخانه‌ها (Libraries)
  • فریم‌ورک اندروید (Android Framework)
  • اپلیکیشن‌های اندروید (Android Applications)

4. AAPT چیه؟

AAPT مخفف Android Asset Packaging Tool هستش. این ابزار به توسعه‌دهنده‌ها اجازه می‌ده تا با آرشیوهای سازگار با زیپ کار کنن، از جمله ایجاد، استخراج و مشاهده محتویاتشون.

5. اهمیت داشتن شبیه‌ساز توی محیط اندروید چیه؟

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

6. فعالیت‌ها (Activities) چیه؟

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

7. کاربرد activityCreator چیه؟

activityCreator اولین قدم برای ایجاد یه پروژه جدید اندرویده. این ابزار یه اسکریپت شل داره که ساختار فایل‌های لازم برای نوشتن کدها رو توی IDE اندروید ایجاد می‌کنه.

8. Intents چیه؟

Intents پیام‌هایی هستن که به کاربر اطلاع می‌دن که یه وضعیت خاص رخ داده. کاربرا می‌تونن به Intents پاسخ بدن.

9. چه آیتم‌هایی توی هر پروژه اندرویدی مهمه؟

هر پروژه اندرویدی معمولاً شامل آیتم‌های زیره:

  • AndroidManifest.xml
  • build.xml
  • پوشه bin/
  • پوشه src/
  • پوشه res/
  • پوشه assets/

10. تفاوت بین Activities و Services چیه؟

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

11. کانتینرها چیه؟

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

12. اهمیت لایه‌های مبتنی بر XML چیه؟

استفاده از لایه‌های مبتنی بر XML یه روش ثابت و استاندارد برای تعریف رابط کاربری فراهم می‌کنه. معمولاً جزئیات لایه‌ها در فایل‌های XML قرار می‌گیرن در حالی که سایر آیتم‌ها در فایل‌های منبع قرار دارن.

13. جهت‌گیری (Orientation) چیه؟

جهت‌گیری که می‌تونی با setOrientation() تنظیمش کنی، تعیین می‌کنه که LinearLayout به صورت ردیف (HORIZONTAL) یا ستون (VERTICAL) نمایش داده بشه.

14. فکر می‌کنی بعضی از معایب اندروید چیه؟

اندروید به عنوان یه پلتفرم متن‌باز ممکنه مشکلاتی داشته باشه. به دلیل تنوع زیاد دستگاه‌ها و نسخه‌های مختلف سیستم‌عامل، سازگاری اپلیکیشن‌ها می‌تونه چالش‌برانگیز باشه. مثلاً یه اپ ممکنه روی یه نسخه خاص از اندروید خوب کار کنه ولی روی نسخه دیگه‌ای نه. علاوه بر این، تفاوت‌های زیاد در اندازه و ویژگی‌های دستگاه‌ها هم برای توسعه‌دهنده‌ها مشکل‌ساز می‌شه.

15. اهمیت اندروید توی بازار موبایل چیه؟

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

16. adb چیه؟

adb مخفف Android Debug Bridge هستش. این ابزار به توسعه‌دهنده‌ها اجازه می‌ده تا دستورات شل رو به صورت راه دور اجرا کنن و ارتباط با پورت شبیه‌ساز رو کنترل کنن.

17. چهار حالت اصلی فعالیت‌ها چیه؟

  • فعال (Active): وقتی که فعالیت توی پیش‌زمینه است.
  • مکث (Paused): وقتی که فعالیت توی پس‌زمینه است و هنوز دیده می‌شه.
  • توقف (Stopped): وقتی که فعالیت دیده نمی‌شه و توسط فعالیت دیگه‌ای پنهان شده.
  • تخریب (Destroyed): وقتی که فعالیت به طور کامل بسته یا تخریب شده.

18. ANR چیه؟

ANR مخفف Application Not Responding هستش. این یه دیالوگه که وقتی یه اپلیکیشن برای مدت طولانی پاسخگو نباشه به کاربر نشون داده می‌شه.

19. کدوم المان‌ها باید حتماً وجود داشته باشن و فقط یه بار می‌تونن رخ بدن؟

المان‌های "اند" باید حتماً وجود داشته باشن و فقط یه بار می‌تونن رخ بدن. بقیه المان‌ها اختیاری هستن و می‌تونن هر چند بار که نیاز باشه تکرار بشن.

20. چطور از کاراکترهای Escape به عنوان ویژگی استفاده می‌شه؟

کاراکترهای Escape با دو بک‌اسلش قبلی استفاده می‌شن. مثلاً، یه کاراکتر خط جدید با ‘\n’ ایجاد می‌شه.

21. کارکرد فیلتر نیت (Intent Filter) چیه؟

هر کامپوننت اندروید باید مشخص کنه که به کدوم نیت‌ها می‌تونه پاسخ بده. فیلتر نیت‌ها برای این استفاده می‌شن که نیت‌هایی که این کامپوننت‌ها می‌خوان دریافت کنن رو فیلتر کنن. بسته به خدمات و فعالیت‌هایی که استفاده می‌شن، می‌تونه یه یا چند فیلتر نیت داشته باشه.

22. اهمیت تنظیم مجوزها در توسعه اپلیکیشن چیه؟

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

23. سه حلقه کلیدی در زمان نظارت بر یک فعالیت چیا هستن؟

  • کل عمر (Entire lifetime): فعالیت بین onCreate و onDestroy اتفاق می‌افته.
  • عمر قابل مشاهده (Visible lifetime): فعالیت بین onStart و onStop اتفاق می‌افته.
  • عمر پیش‌زمینه (Foreground lifetime): فعالیت بین onResume و onPause اتفاق می‌افته.

24. آیا شرایطی وجود داره که برخی از مشخصه‌های منابع چندگانه بر لوکال (Locale) اولویت داشته باشن؟

بله، در واقع مواردی وجود دارن که برخی از مشخصه‌ها می‌تونن بر لوکال اولویت داشته باشن. دو استثنای شناخته شده وجود داره که MCC (کد کشور موبایل) و MNC (کد شبکه موبایل) هستن.

25. وضعیت‌های مختلفی که یک فرایند می‌تونه داشته باشه چیا هستن؟

چهار وضعیت ممکن برای یک فرایند وجود داره:

  • فعالیت پیش‌زمینه (foreground activity)
  • فعالیت قابل مشاهده (visible activity)
  • فعالیت پس‌زمینه (background activity)
  • فرایند خالی (empty process)

26. دالویک (Dalvik) چه نقشی در توسعه اندروید داره؟

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

27. چطور می‌تونی از ANR جلوگیری کنی؟

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

28. AndroidManifest.xml چیه؟

این فایل توی دایرکتوری ریشه هر اپلیکیشن قرار داره و اطلاعاتی درباره اپلیکیشن داره که سیستم اندروید باید قبل از اجرای کدها بدونه. این فایل برای هر اپلیکیشن اندرویدی ضروریه.

29. چطور یه دستگاه اندرویدی رو برای توسعه اپلیکیشن آماده کنیم؟

مراحل زیر رو قبل از شروع توسعه اپلیکیشن توی یه دستگاه اندرویدی دنبال کن:

  • اپلیکیشن رو توی Android Manifest به عنوان “debuggable” اعلام کن.
  • “USB Debugging” رو توی دستگاهت فعال کن.
  • سیستم رو برای شناسایی دستگاهت تنظیم کن.

30. چه زبان‌هایی برای ساخت اندروید استفاده می‌شن؟

محبوب‌ترین زبان‌های برنامه‌نویسی که می‌تونن برای توسعه اپلیکیشن‌های اندرویدی استفاده بشن عبارتند از:

  • جاوا (Java): همیشه نقطه شروع برای توسعه‌دهنده‌های جدید بوده و بیشتر افراد با این زبان کار می‌کنن. IDE‌های محبوبی که برای توسعه با جاوا استفاده می‌شن شامل Eclipse، NetBeans و IntelliJ هستن.
  • کاتلین (Kotlin): یه زبان نسبتاً جدید، مدرن، ایمن و شی‌گراست که برای توسعه اپلیکیشن‌های اندرویدی استفاده می‌شه. IDE‌هایی که با کاتلین کار می‌کنن شامل Android Studio و Eclipse هستن.
  • سی‌شارپ (C#): توسعه‌دهنده‌ها می‌تونن اپلیکیشن‌های نیتیو iOS و اندروید رو با استفاده از این زبان بسازن. Visual Studio بهترین ابزار برای توسعه اپلیکیشن‌های اندرویدی با C# هستش.
  • پایتون (Python): یه زبان برنامه‌نویسی پویا و شی‌گرا که بیشتر توی یادگیری ماشین محبوبه. از ابزارهایی مثل Pydroid 3، Dcoder و spck code editor می‌تونن برای پایتون استفاده کنن.
  • زبان‌های دیگه: شامل C++ و HTML 5. IDE‌های محبوب برای C++ شامل C4droid، CppDroid و AIDE هستن. برای HTML هم می‌تونی از Acode و spck code editor استفاده کنی.

31. سرویس توی اندروید چیه؟

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

32. کاربرد Bundle توی اندروید چیه؟

Bundle‌ها برای انتقال داده‌های لازم بین فعالیت‌های مختلف اندروید استفاده می‌شن. این ابزار مثل یه HashMap عمل می‌کنه و می‌تونه داده‌های ساده رو انتقال بده. مثلاً:

Bundle b=new Bundle();
b.putString("Email","abc@xyz.com");
i.putExtras(b); // جایی که i یک intent هست

33. هات‌اسپات وای‌فای قابل حمل چیه؟

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

34. Android Debug Bridge (ADB) چیه؟

ADB یه ابزار خط فرمانه که برای اجازه و کنترل ارتباط با شبیه‌ساز استفاده می‌شه. این ابزار به توسعه‌دهنده‌ها قدرت می‌ده تا دستورات شل رو به صورت راه دور اجرا کنن و اپلیکیشن‌ها رو روی شبیه‌ساز اجرا کنن.

35. DDMS چیه؟

DDMS (Dalvik Debug Monitor Server) یه ابزار دیباگ توی پلتفرم اندرویده که امکانات زیر رو فراهم می‌کنه:

  • فورواردینگ پورت
  • اطلاعات ترد (Thread) و حافظه
  • لاگ‌کت
  • گرفتن اسکرین‌شات از دستگاه
  • ردیابی ترافیک شبکه
  • شبیه‌سازی تماس‌ها و پیام‌های دریافتی
  • شبیه‌سازی داده‌های موقعیت

36. چرخه حیات فعالیت‌های اندروید چطوریه؟

  • OnCreate(): وقتی که فعالیت ایجاد می‌شه و نماها ایجاد می‌شن و داده‌ها از Bundle جمع‌آوری می‌شن.
  • OnStart(): وقتی که فعالیت قابل مشاهده می‌شه.
  • OnResume(): وقتی که فعالیت شروع به تعامل با کاربر می‌کنه.
  • OnPause(): وقتی که فعالیت به پس‌زمینه می‌ره ولی هنوز نابود نشده.
  • OnStop(): وقتی که فعالیت دیگه قابل مشاهده نیست.
  • OnDestroy(): وقتی که فعالیت به طور کامل بسته یا نابود می‌شه.
  • OnRestart(): وقتی که فعالیت متوقف شده و دوباره شروع می‌شه.

37. سنسورها در اندروید چیه؟

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

  • سنسورهای موقعیت (Position Sensor): برای اندازه‌گیری موقعیت فیزیکی دستگاه، شامل سنسورهای جهت‌گیری و مغناطیسی.
  • سنسورهای حرکتی (Motion Sensors): شامل سنسورهای گرانش، فعالیت چرخشی و شتاب‌سنج‌ها.
  • سنسورهای محیطی (Environmental Sensor): برای اندازه‌گیری دما، رطوبت، فشار و عوامل محیطی دیگه.

38. فایل AndroidManifest.xml چیه و چرا بهش نیاز داریم؟

فایل AndroidManifest.xml شامل اطلاعاتی درباره اپلیکیشن هست که سیستم اندروید باید قبل از اجرای کدها بدونه. این فایل برای هر اپلیکیشن اندرویدی ضروریه و در دایرکتوری ریشه قرار داره. این فایل وظایف زیر رو انجام می‌ده:

  • ارائه نام منحصر به فرد به بسته جاوا.
  • توصیف اجزای مختلف اپلیکیشن مثل فعالیت‌ها، خدمات و غیره.
  • تعریف کلاس‌هایی که این اجزا رو پیاده‌سازی می‌کنن.

39. دیالوگ‌باکس‌های پشتیبانی شده در اندروید چیه؟

اندروید چهار نوع دیالوگ‌باکس پشتیبانی می‌کنه:

  • AlertDialog: برای نمایش پیام‌ها و دریافت تصمیمات کاربر.
  • DatePickerDialog: برای انتخاب تاریخ.
  • TimePickerDialog: برای انتخاب زمان.
  • ProgressDialog: برای نمایش نوار پیشرفت.

40. تفاوت بین کلاس، فایل و فعالیت در اندروید چیه؟

  • کلاس (Class): کلاس یک فرم کامپایل شده از فایل .java هست که اندروید از اون برای تولید فایل اجرایی .apk استفاده می‌کنه.
  • فایل (File): فایل یه بلوک از اطلاعات یا منابع مختلفه که برای ذخیره اطلاعات استفاده می‌شه و می‌تونه هر نوع فایلی باشه.
  • فعالیت (Activity): فعالیت یک صفحه نمایش منفرده که رابط کاربری گرافیکی (GUI) رو نمایش می‌ده و کاربران می‌تونن باهاش تعامل داشته باشن، مثل شماره‌گیری تلفن یا مشاهده ایمیل.

41. کانتکست (Context) چیه؟

کانتکست در اندروید به وضعیت فعلی اپلیکیشن یا شیء اشاره داره. کانتکست خدماتی مثل دسترسی به پایگاه‌داده‌ها و ترجیحات، حل منابع و موارد دیگه رو فراهم می‌کنه. دو نوع کانتکست داریم:

  • کانتکست فعالیت (Activity Context): به چرخه حیات یک فعالیت متصله. این کانتکست وقتی استفاده می‌شه که شما نیاز دارید کانتکستی داشته باشید که چرخه حیاتش با فعالیت هماهنگ باشه.
  • کانتکست اپلیکیشن (Application Context): به چرخه حیات یک اپلیکیشن متصله و باید جایی استفاده بشه که نیاز به کانتکستی با چرخه حیات جداگانه از فعالیت دارید.

42. Toast چیه و نحوه نوشتن سینتکس اون چطوریه؟

Toast پیامی است که روی صفحه ظاهر می‌شه و برای نمایش وضعیت عملیات کاربر استفاده می‌شه. این پیام خودکار محو می‌شه و تعامل کاربر رو نمی‌پذیره.

سینتکس:

Toast.makeText(ProjectActivity.this, "Your message here", Toast.LENGTH_LONG).show();

43. تفاوت بین Intent صریح و ضمنی چیه؟

  • Intent صریح (Explicit Intent): در این نوع Intent، شما به سیستم اطلاع می‌دید که کدوم فعالیت باید این Intent رو پردازش کنه. در اینجا کامپوننت هدف مستقیماً در Intent تعریف شده.

مثال:

Intent i = new Intent(this, ActivityTwo.class); // ActivityTwo کامپوننت هدف است
i.putExtra("Value1","This is ActivityTwo"); 
i.putExtra("Value2","This Value two for ActivityTwo"); 
startActivity(i);
  • Intent ضمنی (Implicit Intent): در این نوع Intent، شما عملی رو که می‌خواهید انجام بشه اعلام می‌کنید. سپس سیستم اندروید بررسی می‌کنه که کدوم کامپوننت‌ها برای پردازش این عمل ثبت شده‌اند. در اینجا کامپوننت هدف در Intent تعریف نشده.

مثال:

Intent i = new Intent(ACTION_VIEW, Uri.parse("http://www.interviewbit.com")); 
startActivity(i);

44. تکنیک‌های رفع مشکل برای وقتی که یک اپلیکیشن مکرراً کرش می‌کنه چیه؟

اگه یه اپلیکیشن اندرویدی مکرراً کرش می‌کنه، می‌تونید از تکنیک‌های زیر استفاده کنید:

  • بررسی سازگاری (Compatibility Check): ممکنه اپلیکیشن با سیستم‌عامل دستگاه شما سازگار نباشه.
  • مدیریت حافظه (Memory Management): برخی اپلیکیشن‌ها روی یک دستگاه به خوبی اجرا می‌شن ولی روی دستگاه دیگه ممکنه کرش کنن. آزادسازی فضای حافظه می‌تونه به عملکرد بهتر اپلیکیشن کمک کنه.
  • حذف داده‌های اپلیکیشن: حذف داده‌های اپلیکیشن، کش حافظه رو پاک می‌کنه و فضای آزاد بیشتری فراهم می‌کنه که می‌تونه عملکرد اپلیکیشن رو بهبود بده.

45. حالت‌های مختلف راه‌اندازی در اندروید چیه؟

  • حالت استاندارد (Standard): این حالت یک نمونه جدید از فعالیت رو در وظیفه‌ای که از اون منشأ گرفته ایجاد می‌کنه. می‌تونید چندین نمونه برای همون فعالیت ایجاد کنید.

مثال: اگر پشته فعلی A -> B -> C باشه و فعالیت B رو با حالت "standard" دوباره راه‌اندازی کنیم، پشته جدید A -> B -> C -> B می‌شه.

  • حالت singleTop: شبیه حالت استاندارده با این تفاوت که اگه نمونه قبلی فعالیت در بالای پشته وجود داشته باشه، نمونه جدیدی ایجاد نمی‌شه.

مثال: اگه پشته فعلی A -> B -> C باشه و فعالیت B رو با حالت "singleTop" دوباره راه‌اندازی کنیم، پشته جدید A -> B -> C -> B می‌شه. ولی اگه فعالیت C رو دوباره راه‌اندازی کنیم، پشته همون A -> B -> C باقی می‌مونه.

  • حالت singleTask: این حالت یک وظیفه جدید ایجاد می‌کنه و یک نمونه جدید به عنوان ریشه به وظیفه اضافه می‌کنه.

مثال: اگه پشته فعلی A -> B -> C -> D باشه و فعالیت B رو با حالت "singleTask" دوباره راه‌اندازی کنیم، پشته جدید A -> B می‌شه.

  • حالت singleInstance: این حالت شبیه حالت singleTask هست با این تفاوت که سیستم اجازه نمی‌ده فعالیت‌های جدیدی در همون وظیفه راه‌اندازی بشن.

مثال: اگه پشته فعلی A -> B -> C باشه و فعالیت D رو با حالت "singleInstance" راه‌اندازی کنیم، دو پشته ایجاد می‌شه: A -> B -> C و D. اگه فعالیت E رو فراخوانی کنیم، به پشته اول اضافه می‌شه: A -> B -> C -> E و D.

46. Broadcast Receiver چیه و چطور پیاده‌سازی می‌شه؟

Broadcast Receiver مکانیزمی برای گوش دادن به رویدادهای سطح سیستم مثل دریافت تماس‌ها و پیامک‌ها هست. به عنوان زیرکلاسی از کلاس BroadcastReceiver پیاده‌سازی می‌شه و هر پیام به عنوان یک شیء Intent ارسال می‌شه.

مثال:

public class MyReceiver extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent) {
        // کد شما اینجا
    }
}

47. تفاوت بین Serializable و Parcelable چیه؟ کدوم برای اندروید بهتره؟

وقتی که اپلیکیشن می‌سازی و نیاز داری داده‌ها رو از یک فعالیت به فعالیت دیگه منتقل کنی، باید این داده‌ها رو به یک شیء Intent اضافه کنی. برای این کار باید شیء یا Serializable یا Parcelable باشه.

  • Serializable: Serializable یه اینترفیس استاندارد جاواست. تو این روش، کافیه که یه کلاس رو با پیاده‌سازی این اینترفیس Serializable کنی و جاوا به طور خودکار اونو سریالیزه می‌کنه. در طول این فرآیند از Reflection استفاده می‌شه و اشیای اضافی زیادی ایجاد می‌شه که این منجر به جمع‌آوری زباله زیاد و عملکرد ضعیف می‌شه.
  • Parcelable: Parcelable یه اینترفیس خاص اندرویده. تو این روش، سریالیزاسیون رو خودت پیاده‌سازی می‌کنی. در این فرآیند از Reflection استفاده نمی‌شه و بنابراین زباله‌ای ایجاد نمی‌شه. Parcelable به مراتب کارآمدتر از Serializable هست چون مشکلاتی که در سریالیزاسیون پیش‌فرض جاوا وجود داره رو حل می‌کنه. همچنین سریع‌تره چون برای استفاده در توسعه اندروید بهینه‌سازی شده و نتایج بهتری نشون می‌ده.

48. تفاوت بین Service و Thread چیه؟

تفاوت اصلی بین Service و Thread به شرح زیره:

  • Service: یه کامپوننت اپلیکیشنیه که به اپلیکیشن اجازه می‌ده تا در پس‌زمینه عملیات طولانی‌مدت رو بدون تعامل کاربر انجام بده. Service به چندین برنامه کاربردی امکانات کمی ارائه می‌ده و می‌تونه مستقل از فعالیت‌ها اجرا بشه. وقتی که یه اپلیکیشن کشته می‌شه، Service همچنان به کارش ادامه می‌ده.
  • Thread: یک واحد اجرای هم‌زمانه. Thread توسط هندلرها و لوپرها کنترل می‌شه. وقتی که یه اپلیکیشن کشته می‌شه، Thread هم کشته می‌شه.

49. اهمیت فایل .dex چیه؟

برنامه‌های اندروید به فایل .dex (Dalvik Executable) توسط DVM کامپایل می‌شن و سپس به فایل .apk در دستگاه فشرده می‌شن. فایل‌های .dex با ترجمه برنامه‌های کامپایل شده به زبان جاوا ایجاد می‌شن. فرمت .dex برای ذخیره‌سازی مؤثر و اجرای قابل مپ کردن حافظه بهینه‌سازی شده.

50. تفاوت بین Fragment و Activity چیه؟

Fragment و Activity هر دو بخش‌های اصلی ساختار اپلیکیشن‌های اندرویدی هستن، اما تفاوت‌های مهمی با هم دارن:

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

با استفاده از Fragment‌ها می‌تونید رابط کاربری رو به بخش‌های کوچکتر و قابل مدیریت‌تر تقسیم کنید و از قابلیت‌های چند پنجره‌ای در اپلیکیشن‌های خودتون بهره ببرید.

جمع‌بندی

اندروید با ارائه یک سیستم‌عامل متن‌باز و چندمنظوره، تونسته دنیای تکنولوژی رو متحول کنه و امکانات بی‌شماری رو برای کاربران و توسعه‌دهندگان فراهم کنه. از گوشی‌های هوشمند و تبلت‌ها گرفته تا تلویزیون‌های هوشمند و خانه‌های هوشمند، اندروید در هر جایی که فکرش رو بکنید حضور داره و به ما کمک می‌کنه که از تکنولوژی به بهترین شکل ممکن استفاده کنیم. با توجه به روند رو به رشد تکنولوژی، آینده اندروید بسیار روشن و پر از امکانات جدید خواهد بود. پس آماده باشید که با اندروید به آینده قدم بگذارید!

۰ دیدگاه
ما همه سوالات و دیدگاه‌ها رو می‌خونیم و پاسخ میدیم

دوره الفبای برنامه نویسی با هدف انتخاب زبان برنامه نویسی مناسب برای شما و پاسخگویی به سوالات متداول در شروع یادگیری موقتا رایگان شد:

۲۰۰ هزار تومان رایگان
دریافت دوره الفبای برنامه نویسی