alii8



انتخاب زبان

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

  • جاوا:جاوا زبان رسمی اندروید است و توسط Android Studio پشتیبانی می شود. (۳ جزوه آموزش اندروید استودیو را از اینجا می توانید دانلود کنید)
  • کاتلین:کاتلین زبان رسمی و ثانویه جاوا محسوب می شود و به تازگی به بازار معرفی شده است. این زبان تا حد زیادی مشابه جاوا است. به صورت کلی یادگیری آن اندکی آسان تر از جاوا است.

C/C++:زبان برنامه نویسی C++ برای توسعه بازی های اندرویدی مناسب است. یادگیری این زبان از موارد قبلی سخت تر است.

C#:این زبان نسخه آسان تر C یا C++ است. این زبان نیز برای توسعه بازی ها مناسب است.

BASIC:یکی از ابزارهای کاربردی است که برای تسهیل کد نویسی می توانید یاد بگیرید.

Corona/LUA:این ابزار که روی LUA واقع شده به شما در ساده شدن فرایند ساخت اپلیکیشن کمک می کند.

فون گپ(HTML , CSS , و جاوا اسکریپت):اگر نحوه ایجاد صفحات وب را می دانید، می توانید از این ابزار برای توسعه اپلیکیشن خود استفاده کنید.

جاوا

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

جاوا برای اولین بار در سال ۱۹۹۵ و توسط Sun Microsystems به بازار معرفی شد و به طور وسیعی در برنامه ریزی اپلیکیشن ها مورد استفاده قرار گرفت. کدهای جاوا توسط یک ماشین مجازی ران می شود، این ماشین مجازی روی سیستم عامل اندروید قرار می گیرد و توانایی تفسیر کد را دارد.

متاسفانه، پیچیدگی های این زبان برنامه نویسی باعث شده تا یادگیری آن سخت باشد. افرادی که با این برنامه می خواهند کار کنند باید افرادی حرفه ای باشند و کارکردن با این برنامه برای افراد مبتدی کار آسانی نیست. افرادی که می خواهند با این زبان کار کنند، باید با مفاهیمی مثل XML , Gradle, Android manifest آشنایی داشته باشند.

البته باید بگوییم که زبان جاوا، زبان بدی نیست بلکه بخاطر ویژگی های بسیار کاربردی و متنوعی که دارد یادگیری آن اندکی سخت است و البته به همین میزان بین افراد برنامه نویس محبوب است.

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

کاتلین

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

این برنامه خطاهای کمتری دارد و نیاز نیست در انتهای هر خط از نقطه ویرگول استفاده کنید. بصورت خلاصه، اگر فردی مبتدی هستید این گزینه برای شما مناسب است. تنها نکته ای که باید توجه کنید این است که برای داشتن پشتیبانی out - the - box باید نسخه بتای Android Studio را دانلود کنید.

C/C++

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

C#

این زبان نسخه ساده تر C و C++ است که توسط ماکروسافت عرضه شده است. همانند جاوا، C# نیز در آزادسازی حافظه (از بین بردن فایل های اضافه) بسیار کاربردی است.

اگر قصد دارید یک برنامه اندرویدی ساده ایجاد کنید، توصیه می شود از ترکیبی از C# و Unity استفاده کنید.

Unity یک موتور بازی است (فضاهای گرافیکی مناسبی ایجاد می کند). با استفاده از این ابزار رایگان و قدرتمند می توانید در کمتر از یک ساعت بازی مخصوص خود را ایجاد کنید. در اکثر بازی های موجود در پلی استور از این ابزار استفاده شده است.

اگر بخواهیم به محدودیت Unity اشاره کنیم باید بگوییم که این ابزار تنها برای ایجاد بازی های اندرویدی مناسب است و برای توسعه دیگر برنامه های اندرویدی مناسب نیست.

BASIC

ابزاری بسیار قدرتمند برای یادگیری کدنویسی است. متاسفانه این ابزار توسط Android studio پشتیبانی نمی شود و در Unity یا Xamarin قابل مشاهده نیست. خبر خوب این است که می توانید با استفاده از ابزار B4A(BASIC 4 Android) برای برنامه های اندرویدی و توسط BASIC کدنویسی کنید. البته این گزینه هیچوقت اولین انتخاب برنامه نویسان نخواهد بود اما می توان این گزینه را هم در نظر گرفت. B4A به شما کمک می کند تا برنامه اندرویدی خود را سریعا گسترش دهید. از معایب آن باید بیان کنیم که این ابزار نمی تواند برنامه ای پیشرفته و قوی ایجاد کند و اینکه این گزینه، گزینه ای غیر رایگان است.

Corona

کورونا نیز ابزاری ساده است که به شما امکان توسعه برنامه های اندروید را به شکلی مطلوب می دهد. در این ابزار شما کد نویسی را در LUA انجام می دهید که فضای ساده تری نسبت به جاوا دارد. به شما اجازه می دهد تا پلت فرم های مختلفی را انتشار دهید. این ابزار برای ساختن بازی بسیار مناسب است. در این برنامه باید از یک ویرایشگر متنی مثل Notepad++ برای واردکردن کد استفاده کنید و می توانید این کد را روی یک امولاتور ران کنید.

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


رویدادها روش های مفید برای جمع آوری داده های مربوط به تعامل کاربر با مؤلفه های تعاملی اپلیکیشن ها است. برای مثال فشردن یک دکمه یا لمس صفحه لمسی دستگاه و امثال اینها؛ یک رویداد حساب می شود. چارچوب اندروید؛ صف رویداد را بر مبنای اولین خروجی از اولین ورودی (FIFO) مدیریت می کند. می توانید این رویدادها را در برنامه خود ضبط کرده و مطابق با نیاز اقدامات لازم را انجام دهید.

در ادامه سه مفهوم مرتبط با مدیریت رویدادهایاندرویدآورده شده است:

  • مخاطبین رویداد-یک مخاطب رویداد؛ رابطی در کلاس View است که شامل یک متد callback واحد می شود. زمانی که View توسط تعامل کاربر با یک آیتم در UI، به مخاطب ثبت شده، تریگر می شود؛ این متدها توسط چارچوب اندروید فراخوانی می شود.
  • ثبت مخاطبین رویداد -ثبت رویداد؛ روندی است که توسط آن یک کنترل کننده رویداد با یک مخاطب رویداد ثبت می شود به صورتی که کنترل کننده زمانی فراخوانی می شود که مخاطب رویداد، از انجام رویداد خبر می دهد.
  • کنترل کننده های رویداد-زمانی که یک رویداد رخ می دهد و ما برای آن؛ یک مخاطب رویداد را ثبت می کنیم؛ مخاطب رویداد درواقع، کنترل کننده های رویداد را فراخوانی می کند، که متدی است در واقع رویداد را بررسی می کند.

مخاطبین رویداد و مدیریت کننده های رویداد

مدیریت کننده رویداد مخاطب رویداد و توضیح آن

onClick()

OnClickListener()

این متد زمانی فراخوانی می شود که کاربر روی یک ویدجت مانند دکمه، متن، تصویر و . کلیک می کند؛ یا آنها را لمس می کند. برای مدیریت چنین رویدادی شما باید از ()onClick استفاده کنید.

onLongClick()

OnLongClickListener()

این متد زمانی فراخوانی می شود که کاربر برای چند ثانیه روی یک ویدجت مانند دکمه، متن، تصویر و . کلیک می کند (یا چند ثانیه آن را لمس می کند). برای مدیریت چنین رویدادی شما از ()onLongClick استفاده خواهیدکرد.

onFocusChange()

onFocusChangeListener()

این متد زمانی فراخوانی می شود که تمرکز از روی یک ویدجت برداشته می شود، یعنی کاربر از آیتم view بیرون می رود. شما برای مدیریت چنین رویدادی از مدیریت کننده ی رویداد ()onFoocusChange استفاده خواهید کرد.

onkey()

onFocusChangeListener()

این متد زمانی فراخوانی می شود که کاربر روی یک آیتم متمرکز شده و یک کلید سخت افزاری روی دستگاه را فشار داده یا رها می کند. شما برای مدیریت چنین رویدادی از مدیریت کننده رویداد ()onKey استفاده می کنید.

onTouch()

OnTouchListener()

این متد زمانی فراخوانی می شود که کاربر کلید را فشار دهد یا رها بکند؛ یا هر حرکت دیگری روی صفحه نمایش پیاده کند. برای مدیریت چنین رویدادی؛ شما از مدیریت کننده رویداد ()OnTouch استفاده خواهید کرد.

onMenuItemClick()

onMenuItemClickListener()

این متد زمانی فراخوانی می شود که کاربر یک آیتم منو را انتخاب می کند. برای مدیریت کردن چنین رویدادی شما از ()onMenuItemClick استفاده خواهید کرد.

onCreateContextMenu()

onCreateContextMenuListener()

این متد زمانی فراخوانی می شود که منوی زمینه شروع به ساختن می کند (در نتیجه یک کلیک طولانی پایدار ایجاد می شود)

مخاطبین رویدادهای بیشتری وجود دارد که به عنوان بخشی از کلاس View در دسترس می باشد؛ مانند OnHoverListener، OnDragListener و غیره که برای اپلیکیشن خودتان مورد نیاز است. بنابراین به شما پیشنهاد می کنیم که در صورت ایجاد برنامه های پیشرفته، برای توسعه برنامه اندروید؛ به مستندات رسمی مراجعه کنید.

ثبت مخاطبین رویداد

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

  • استفاده از کلاس داخلی بی نام
  • کلاس اکتیویتی (Activity) رابط مخاطب را پیاده سازی می کند.
  • استفاده از فایل صفحه بندی activity_main.xml برای آن که مدیریت کننده رویداد مستقیماً مشخص شود.

در بخش بعدی مثال های دقیقی در مورد هر سه روش بالا ارائه شده است.

حالت لمسی

کاربران می توانند با استفاده از کلیدهای سخت افزاری یا دکمه ها و یا لمس صفحه نمایش؛ با دستگاه شان تعامل داشته باشند. لمس صفحه نمایش دستگاه را به حالت لمسی (touch mode) وارد می کند. سپس کاربر می تواند با لمس دکمه های مجازی روی صفحه؛ یا تصاویر و . با دستگاه ارتباط برقرار کند. شما می توانید با فراخوانی متد ()View class`s isINTouchMode بررسی کنید که آیا دستگاه در حالت لمسی است یا خیر.

حالت فو

یک view یا widget معمولاً هنگامی که به حالت فو وارد می شود؛ به صورت برجسته نشان داده می شود یا یک مکان نمای چشمک زن را نشان می دهد. این موضوع نشان می دهد که برای پذیرش ورودی از کاربر آماده است.

  • ()isFocusable - که عبارت های true یا false را باز می گرداند.
  • ()isFocusableInTouchMode- بررسی می کند که آیا view در حالت لمسی؛ focusable می باشد یا خیر. (یک view ممکن است هنگام استفاده از یک کلید سخت افزاری focusable باشد اما هنگامی که دستگاه در حالت لمسی باشد؛ دیگر focusable نیست).

آخرین ارسال ها

آخرین جستجو ها


مطالب اینترنتی مجله خبری تخصصی فناوری و کامپیوتر مطالب اینترنتی learnnwordpress خرید اینترنتی Ž samka تو_فیروزه‌ای ترجمه فوری Carlos's style
دزدگ