جاوا در اندروید
با بسیاری از زبان های برنامه نویسی، شما باید از جاوا در اندروید یک کامپایلر استفاده کنید تا کد خود را به زبان ماشینی که دستگاه قابل درک باشد کاهش دهد. در حالی که این خوب و خوب است، دستگاه های مختلف از زبان های ماشین متفاوتی استفاده می کنند. این بدان معنی است که ممکن است لازم باشد برنامه های خود را برای هر دستگاه یا زبان ماشین مختلف کامپایل کنید - به عبارت دیگر، کد شما خیلی قابل حمل نیست. اینs در جاوا صدق نمی کند. کامپایلرهای جاوا کد شما را از فایل های منبع جاوا قابل خواندن توسط انسان به چیزی به نام بایت کد در دنیای جاوا تبدیل می کنند. اینها توسط یک ماشین مجازی جاوا تفسیر می شوند، که بسیار شبیه به یک CPU فیزیکی ممکن است بر روی کد ماشین کار کند، عمل می کند تا در واقع کد کامپایل شده را اجرا کند. اگرچه ممکن است به نظر ناکارآمد باشد، اما تلاش زیادی برای انجام این فرآیند بسیار سریع و کارآمد انجام شده است. این تلاشها نتیجه داده است که عملکرد جاوا به طور کلی پس از C/C++ در مقایسه عملکرد زبان رایج در رتبه دوم قرار دارد.
برنامه های اندروید در یک ماشین مجازی جاوا در اندروید مخصوص به نام Dalvik VM اجرا می شوند. در حالی که جزئیات این ماشین مجازی برای توسعهدهندگان عادی بیاهمیت است، فکر کردن به Dalvik VM به عنوان حبابی که برنامه اندرویدی شما در آن اجرا میشود میتواند مفید باشد و به شما این امکان را میدهد که نگران نباشید که آیا دستگاه موتورولا دروید است یا خیر. HTC Evo یا جدیدترین توستر با اندروید.ایرانیان سایبرتا زمانی که دستگاه Dalvik VM دوستانه باشد، اهمیتی نمیدهید - و این وظیفه سازنده دستگاه است، نه شما.چرا جاوا امن است؟
بیایید این ایده حباب را کمی جلوتر ببریم. از آنجا که برنامه های جاوا در حباب که یک ماشین مجازی است اجرا می شوند، از سخت افزار دستگاه زیرین جدا می شوند. بنابراین، یک ماشین مجازی میتواند در مقایسه با زبانهایی که مستقیماً در کد ماشین کار میکنند، اجرای کد را محصور، حاوی و مدیریت کند. پلتفرم اندروید همه چیز را یک قدم جلوتر می برد. هر برنامه اندروید بر روی سیستم عامل (مبتنی بر لینوکس) با استفاده از یک حساب کاربری متفاوت و در نمونه خودش از Dalvik VM اجرا می شود. برنامه های اندروید به دقت توسط سیستم عامل نظارت می شوند و در صورت عدم اجرای خوب (مانند استفاده از قدرت پردازش بیش از حد، پاسخگو نبودن، اتلاف جاوا در اندروید منابع و غیره) خاموش می شوند. بنابراین، توسعه برنامههایی که پایدار و پاسخگو باشند، مهم است. برنامه ها می توانند با استفاده از پروتکل های کاملاً تعریف شده با یکدیگر ارتباط برقرار کنند.
مانند بسیاری از زبانها، جاوا هنوز یک زبان کامپایلشده است، حتی اگر تا آخر به کد ماشین کامپایل نمیشود. این بدان معناست که شما، توسعهدهنده، باید پروژههای Android خود را کامپایل کرده و آنها را برای استقرار در دستگاهها بسته بندی کنید. محیط توسعه Eclipse (که با افزونه توسعه اندروید استفاده می شود) این کار را بسیار بی دردسر می کند. در Eclipse، کامپایل خودکار اغلب به طور پیش فرض روشن است. این بدان معناست که هر بار که یک فایل پروژه را ذخیره می کنید، Eclipse تغییرات را برای بسته برنامه شما دوباره کامپایل می کند.
بلافاصله خطاهای کامپایل را مشاهده می کنید. Eclipse همچنین جاوا را در حین تایپ تفسیر میکند و رنگآمیزی و قالببندی کد مفیدی را ارائه میکند و همچنین انواع بسیاری از خطاها را در حین حرکت نشان میدهد. اغلب، میتوانید روی خطا کلیک کنید و Eclipse را بهطور خودکار یک اشتباه تایپی را برطرف کنید، یا یک عبارت import اضافه کنید، یا یک روش خرد برای شما ارائه دهد، که در تایپ زیادی جاوا در اندروید صرفهجویی میکند.
در صورت تمایل همچنان می توانید کد خود را به صورت دستی کامپایل کنید. در Eclipse، تنظیمات Build را در منوی پروژه پیدا خواهید کرد. اگر «ساخت خودکار» را روشن کردهاید، همچنان میتوانید گزینه «پاک کردن…» را انتخاب کنید که به شما امکان میدهد بازسازی کامل همه فایلها را انجام دهید. اگر «ساخت خودکار» خاموش باشد، گزینههای منوی «ساخت همه» و «ساخت پروژه» فعال میشوند. "ساخت همه" به معنای ساخت همه پروژه ها در فضای کاری است. شما می توانید پروژه های زیادی را در یک فضای کاری Eclipse داشته باشید.
فرآیند ساخت، برای پروژه های معمولی جاوا، منجر به فایلی با پسوند JAR – Java ARchive می شود. برنامههای Android فایلهای JAR را میگیرند و آنها را برای استقرار در دستگاهها بهعنوان فایلهای Android PackKage با پسوند apk. بسته بندی میکنند. این فرمتها نه تنها شامل کد جاوا کامپایلشده شما، بلکه هر منبع دیگری مانند رشتهها، تصاویر یا فایلهای صوتی که برنامه شما برای اجرا به آن نیاز دارد و همچنین فایل Application Manifest، AndroidManifest.xml را شامل میشود. فایل Android Manifest فایلی است که برای جاوا در کنار اندروید همه برنامههای اندرویدی مورد نیاز است و از آن برای تعریف جزئیات پیکربندی برنامه خود استفاده میکنید.
زبان برنامه نویسی شی گرا چیست؟
Comments
Post a Comment