دوره های پیشنهادی

آموزش برنامه نویسی اندروید قسمت سوم

ستاره مقاری 10988

android functions variable java

مقدمه

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

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

مراحب نصب bluestack

  • خب بعد از نصب نرم افزار از هر سایتی که میخواهید(که البته نکته خاصی ندارد و بدون تغییری در روند نصب میتوانید اقدام به نصب آن کنید) آن را باز کنید. همچنین پروژه اندروید را باز کنید(یا یک پروژه جدید بسازید که تست کنید)
  • در صفحه ای که داریم Select Home یکی را انتخاب کنید(اولی بهتر هست)
  • حال منوی  start ویندوزتان را باز کنید. در run بزنید cmd تا پنجره command باز شود.
  • سپس این دستور را بزنید:
adb connect localhost:5555

از این پس کافیست همان مثلث سبز رنگ intellij را بزنید و اپلیکیشن را run کنید. میبینید که bluestack اجرا میشود و برنامه شما را اجرا میکند.

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

جاوا، متغیر، متد!

خب فعلا اندروید را کنار میگذاریم کمی درباره جاوا صحبت میکنیم. برگردیم به عقب و یک سری اطلاعات خود را کامل کنیم.

در intellij یک new project بزنید. اما اینبار قصد داریم یک پروژه جاوا تعریف کنیم. اگه intellij را باز کردید و صفحه welcome نمایان شد که مشخص است چطور پروژه بسازید. اما اگر پروژه قبلی را باز کرد از منوی File روی new  بروید سپس project را بزنید. از منو سمت چپ روی java کلیک کنید و بدون هیچ تغییر بیشتری دکمه  nextرا زده، نام و محل ذخیره پروژتان رو انتخاب کنید و  finish را بزنید و صبر کنیم تا پروژه ساخته شود.

بعد از اینکه تمام شد از منوی سمت چپ روی پوشه src کلیک راست کنید. اینجا هم مثل اندروید پوشه src محل قرارگیری کلاس ها و کدهایتان می باشد.

حالا از قسمت new روی Package کلیک کنید. یک اسم دلخواه (مثلا MyPackage) به آن بدهید و آن را بسازید.

پکیج چیست؟

پکبج مانند فولدرهای کامپیوتر است که وقتی مرتب میکنید مثلا فایلهای مرتبط را میگذارید در یک پوشه،  پکیج هم همان پوشه ای هست که یک سری کلاسهای مرتبط را داخل آن میگذاریم و یک namespace برای ما ایجاد می کند.

روی پکیج راست کلیک کنید و روی قسمت new یک java class بسازید و اسمش را  مثلا First بدهید.

پس یاد گرفتیم در جاوا چه طور کلاس بسازیم که عینا در اندروید هم به همین صورت است.

تا الان باید چنین چیزی داشته باشید:

ساخت پکیج

 

بسیار خب برویم داخل کلاس و کد بزنیم. ابتدا با متغیرها اشنا شویم.

متغیرها در جاوا

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

در زیر انواع متغیرهای کاربردی جاوا را میبینید. برای تعریفشان باید اول نوع آن را بنویسید بعد یک اسم به آن بدهید و در نهایت میتوانید در صورت نیاز به آن مقدار دهید.(یا ممکن است در طول برنامه بخواهید آن را مقدار دهی کنید)  :

int a;

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

Int a = 100;

به همین راحتی. حالا این را تست کنید:

int b = 10000000000;

قطعا به شما خطا میدهد! و زیر کدها یک خط قرمز میکشد. اگر هم نشانه گر موس را روی آن نگه دارید یک کادر باز میشود که نوشته شده :عدد صحیح خیلی بزرگ است. int تا یک محدوده مشخصی از اعداد صحیح را میتواند قبول کند. اگه عدد خیلی بزرگ شود باید آن نوع آن را long تعریف کنید. مثل زیر:

long i =100000004234242342l

فقط دقت داشته باشید در آخر عدد باید یک حرف ال کوچک انگلیسی بذارید (یعنی l )

همین ترتیب را برای اعداد اعشاری هم داریم. Float تا یک محدوده مشخصی از اعداد اعشار و برای double تا یک محدوده بیشتری از اعشار.

float a =43.76f;

double d =31313.31231312454d;

فقط یادتان باشد برای float باید f قرار دهید اما برای double اجباری نیست و میل خودتان هست.

نوع بعدی متغیرها Boolean ها هستند که میتوانند مقدار true یا false بگیرند:

boolean g = true;

boolean h = false;

و در آخر میماند char و String (با S بزرگ نوشته میشه). کاراکتر یا char میتواند  یک حرف را نگه دارد و string هم میتواند یه متن را نگه دارد. بصورت زیر

char MyChar = 'g';

String MyStr = "salam";

متدها در جاوا

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

در جاوا این متد بصورت زیر تعریف میشود که فعلا به public و static و... کار نداشته باشید.

public static void main(String args[]){

}

ازین کد فعلا این را بدانید که برای اجرای دستوراتی مثل چاپ باید داخل این متد کد بنویسیم. مثلا کد زیر را بنویسید:

public static void main(String args[]){

    System.out.print("hi");

}

حالا برنامه را اجرا کنید. یعنی از نوار بالا روی Run کلیک کرده و بعد Run First را بزنید (First نام پروژه است)

همانطور که میبینید عبارت hi برای ما چاپ میشود(با توجه به تعریف انواع متغیرها الان میدانیم که hi یک String است)

 

چاپ رشته در جاوا

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

}(نوع و نام ورودی یا ورودی­ها) نام متد        نوع خروجی

اعمال متد

{

 

حالا یک متد به نام MyFunction تعریف میکنم. یک تابع می تواند ورودی داشته باشه یا نه. همچنین خروجی میتواند داشته باشه یا نه.هیچ مقداری برنگرداند که در اینصورت باید جای نوع خروجی را بنویسیم  void. یعنی این تابع هیچ چیزی بر نمیگرداند.

متد من بصورت زیر است:

 

Static void MyFunction(){

    System.out.print("Im Function");

}

باز هم فعلا به static توجه نکنید. خب حالا اجرا بگیرید ببینید چه میشود.

تابع چیزی چاپ نمیکند... اما مشخص است چون آن را فراخوانی نکردیم. همانطور که گفتم تابع(متد) تکه کدی است که وقتی قصد داریم آن کد را از آن چندین بار استفاده کنیم تعریفش میکنیم. اما تا وقتی آن را فراخوانی نکردیم کار نمیکند. فقط کد ها را با نام مشخصی در خود نگه داری می کند.

برای اینکه متد عملیات را انجام بدهد باید دذ main آن را صدا بزنیم. به اینصورت:

public static void main(String args[]){

    MyFunction();

}

حالا اگر اجرا بگیرید تابع دارد کار میکند:

اجرای تابع در جاوا

خب کلا جاوا را ببندیم! و مجدد به اندروید بپردازیم. الان ذهن کسانی که مبتدی بودند آماده تر شده تا اندروید را بیشتر متوجه بشنوند.

  1. اندروید، قرار دادن عکس در برنامه

دوباره یک پروژه بسازید. فقط دقت کنیدبرای ساخت پروژه اندروید حتما Application Module را انتخاب کنید. سپس نام آنرا MyApp انتخاب کنید.

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

میخواهیم یاد بگیریم هنگامی که یک دکمه را زدیم چطور به آن بفهمانیم به صفحه بعدی برود. همچنین چطور عکسی را در صفحه نمایش دهیم (layout ها)

پروژه را که ساختید layout را بیارید. یک Button بندازید روی آن و در فایل xml مربوط به layout بروید.مشاهده می کنید که یک id داده به دکمه تان به نام button.

آن را تغییر دهید و جای button بنویسید btnNextPage. سعی کنید همیشه idهایتان را اینگونه قرار دهید تا برایتان گویا باشد.

حالا میخواهیم یک صفحه جدید بسازیم. پس روی پوشه layout از سمت چپ کلیک کنید و بصورت زیر یک layout جدید بسازید:

ساخت layout جدید در صفحه

بعد از شما نام میخواهد. نام را second بدهید. یادتان باشد اسم layout ها نمیتواند با حروف بزرگ باشند.

حالا در این layout جدید میخواهیم یک عکس بگذاریم. باید اول عکس را در پروژه بیاوریم. برای اینکار باید پوشه ای بنام drawable تعریف کنیم. اما کجا...

روی res راست کلیک کنید و یک directory جدید بسازید. مثل زیر:

ساخت dictionary در اندروید

و نام آن را drawable بدهید.

حالا یک تصویری به دلخواه انتخاب کنید و copy کنید. فقط دقت کنید عکسها در پروژه های اندروید باید به اسم کوچیک باشند.

برگردید به intellij ، در پوشه ای که ساختید راست کلیک کرده و paste کنید. مثلا عکس من هست img. (موقع paste کردن هم میتوانید اگه عکستان اسمش نامناسب بود تغییر بدهید)

انتخاب تصویر در اندروید

حالا میخواهم این عکس را به عنوان تصویر زمینه layout دومی قرار دهم. اما از توی xml.

همین tag مربوط LinearLayout را نگاه کنید. یادتان هست که گفتم صفت های هر ابزار در tag کجا نوشته میشود.

آنجا یک خط خالی درست کنید و بنویسید bac

دوباره لیست برای شما باز میشود:

آموزش برنامه نویسی در اندروید

از داخل لیست همان که مارک شده را انتخاب کرده و enter بزنید تا آن را کامل بنویسد.

دقت کنیئ که اگر لیست پنهان شد و باز نشد، یک حرف از آنچه که نوشته اید را پاک کنید و دوباره آن را تایپ کنید. Ctrl و space را باهم بزنید.

الان کد زیر را داریم:

android:background=”  ”

حالا در آن وسط بنویسید dr

باز از لیست باز شده drawable را انتخاب و enter بزنید:

آموزش برنامه نویسی در اندروید

بعد در ادامه اسم عکستان را بنویسید. کد من بصورت زیر شد:

android:background="@drawable/img"

 

تمرین

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

برای این صفحه دوم یک اکتیویتی میسازید. و وصلش میکنید به آن (میتوانید از کد اکتیویتی مربوط به صفحه اولتان تقلب کنید!)

بعد برای دکمه ی صفحه اول در اکتیویتی مربوطه اش یک onclick تعریف میکنید.

تا اینجا را هم که بلد بودید.

فقط میماند این کار. میخواهم یاد بگیرید که چطور به صفحه دوم بیاید. کدش را به شما میگم تا ببینم میتوانید انجام بدهید یا نه. تا جلسه بعد توضیحش را قرار دهم:

startActivity(new Intent(this, SecondActivity.class));

این کد رفتن به صفحه های دیگر است میخواهم تست کنید. جای SecondActivity هم اسم اکتیویتی که خودتان میسازید را بگویید. و همچینین یک پوشه هست بنام AndroidManifest از سمت چپ پیدایش کنید.

در آن هر اکتیویتی که به پروژه اضافه میشود باید تعریف شود. میبینید که تگهایش هم همان xml هست که به شما گفتم.

اکتیویتی دومتان را به این فایل اضافه کنید بصورت زیر:

<activity android:name="SecondActivity"></activity>

که باز هم میگم SecondActivity اسم اکتیویتی هست که خودتان ساختید. اینم که کجا آن را اضافه کنید را میگذارم به عهده خودتان.

لینک های مرتبط

طراحی سایت اصفهان