اندروید دارای مجموعه ای سالم از گزینه های اتصال از جمله وای فای، بلوتوث، NFC و البته اتصالات سلولی در هر شبکه ای است که می توانید تصور کنید. سرویسهای مبتنی بر مکان، برنامههای نقشهبرداری و ناوبری محبوب را تقویت میکنند. دوربینهای دیجیتال به دلیل کیفیت دوربینهای موجود در گوشیهای هوشمند مدرن اساساً از بازار عقب نشینی کردهاند. اندروید از چندین دوربین با قابلیت فیلم برداری کامل با حرکت پشتیبانی می کند. یکی از کلاس های مورد علاقه من بینایی ماشین است، جایی که برنامه ها از دوربین به عنوان یک دستگاه ورودی برای انجام بازرسی برای ساخت استفاده می کنند. خدمات مبتنی بر صدا، دستگاه اندرویدی مدرن را به یک دستیار شخصی مجازی تبدیل می کند.
اگر می توانید آن را رویا کنید، می توانید آن را روی پلتفرم اندروید برنامه ریزی کنید!
واضح است که اندروید یک پلتفرم محاسباتی توانمند است، بنابراین بیایید ببینیم اندروید چه نوع برنامه هایی را می تواند اجرا کند.
معماری اپلیکیشن
یکی از جنبه های مهم محیط برنامه اندروید این است که برنامه های اندروید در طول تاریخ به زبان برنامه نویسی Java™ نوشته شده اند. با این حال، شما همچنین می توانید آنها را به یک زبان برنامه نویسی نسبتا جدید از گوگل به نام Kotlin بنویسید. این مقاله به طور انحصاری بر جاوا تمرکز دارد، اما کاتلین در حال افزایش است و ممکن است نگاه دقیقتری به آن داشته باشید. بین گرایش به سمت «جدیدتر، بهتر» در زبانهای برنامهنویسی (به عنوان مثال، سوئیفت در حال پیشی گرفتن از Objective-C برای توسعه iOS/Apple) و نبرد حقوقی مداوم بر سر جاهایی که جاوا میتواند یا نمیتواند مورد استفاده قرار گیرد، کاتلین احتمالاً زبان پیشرو در این زمینه خواهد بود. اندروید ظرف چند سال
در این مقاله ویکیپدیا ، میتوانید درباره دعوای اوراکل و گوگل درباره استفاده گوگل از جاوا در سیستم عامل اندروید خود اطلاعات بیشتری کسب کنید .
در حال حاضر جاوا فناوری فعلی است. اگر به تازگی شروع به کار کرده اید، جاوا به چند دلیل مکان امنی برای کار است. اول، یک دهه منابع اندرویدی روی وب متمرکز بر جاوا وجود دارد. دوم، جاوا زبانی است که هنوز برای پلتفرمهای دیگر - بهویژه فناوریهای وب سمت سرور - زنده است. به عنوان یک زبان برنامه نویسی شی گرا کلاسیک، مهارت های جاوا هنوز اهمیت دارد.
اگرچه ممکن است در این مرحله اهمیتی نداشته باشد، جزئیات جالبی در مورد چگونگی زنده شدن برنامه های اندروید از کد منبع اصلی آنها وجود دارد. باز هم در این مقاله تمرکز ما بر روی برنامه نویسی جاوا است.
کد منبع جاوا کامپایل و به بایت کد قالب بندی می شود که منطق یک برنامه کاربردی را نشان می دهد اما دستورالعمل های خاص یک دستگاه سخت افزاری خاص را نشان نمی دهد. شبیه به محیطهای سنتی جاوا، نسخههای اولیه اندروید با تبدیل این کدهای بایت به کد اجرایی مخصوص سختافزار عمل میکردند. این جادوی تبدیل با استفاده از یک کامپایلر Just-In-Time (JIT) انجام می شود و هر بار که برنامه اجرا می شود انجام می شود. هنگامی که کامپایلر JIT کد را تبدیل کرد، در یک ماشین مجازی به نام Dalvik VM اجرا می شود.
با شروع اندروید نسخه 4.4 (KitKat)، Dalvik VM جایگزین شده است. کامپایلر JIT هر بار که برنامه اجرا می شود، بایت کدها را مستقیماً در دستگاه در زمان اجرا به کدهای اجرایی تبدیل می کند. رویکرد جدید تلفیقی پیش از زمان (AOT) نامیده می شود. با کامپایل AOT، کد بایت تنها یک بار پس از نصب برنامه تبدیل می شود. این امر فعالیت یک بار نصب برنامه را کند می کند، اما از مزایای اجرای سریعتر در زمان اجرا در زمانی که واقعاً اهمیت دارد، بهره مند می شود.
با AOT، ما از تجربه زمان اجرا سریعتر با نیازهای رم کمتر به قیمت نیازهای ذخیره سازی بیشتر لذت می بریم. با توجه به کاهش بی وقفه در هزینه ذخیره سازی، این یک جهت قابل قبول برای حرکت در برنامه های تلفن همراه ما است. شکل 2 محیط های اجرایی قدیمی و جدید را در تضاد قرار می دهد.
شکل 2. Dalvik VM در مقابل زمان اجرا اندروید
