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

ستاره مقاری 1395/1/14 3605

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

با سلام مجدد.

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

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

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

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

در صفحه ای که داریم Select Home یکی را انتخاب کنید(اولی بهتر هست)

حال منوی  start ویندوزتان را باز کنید. در run بزنید cmd تا پنجره command باز شود.

سپس این دستور را بزنید:

adb connect localhost:5555

تمامم

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

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

 

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

int a;

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

Int a = 100;

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

int b = 10000000000;

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

long i =100000004234242342l

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

این هم از این J

همین ترتیب را برای اعداد اعشاری هم داریم. 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";

این از متغیرها. (عملگرها یا شرط ها و... را الان میگذرم که دوستانی که بلد هستند حوصلشان سر نرود!... در کار هروقت به آنها برخوردیم توضیح میدهیم برای دوستانی که مبتدی ترند)

 

  1. متدها در جاوا

با متدها اشنا شدیم. بیایم یک متد اصلی جاوا را یاد بگیریم(که در زبانهای دیگر هم هست). متد 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 جدید بسازید:

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

بعد از شما اسم میخواهد. اسمش را بدید second.

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

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

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

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

و اسمش را هم دقیق بدهید drawable.

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

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

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

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

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

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

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

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

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

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

Ctrl و space را باهم بزنید.

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

android:background=”  ”

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

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

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

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

android:background="@drawable/img"

 

عکسمان میاید!!

 

  1. یک مشق!

خب حالا مشقتان تا جلسه بعد!

یادتان هست گفتم که باید هر layout به یک Activity وصل باشد؟

خب باید برای این layout هم یک اکتیوینی بنویسیم. حالا چطوری؟

دوباره برگردیم عقب. یادتان هست گفتم هر Activity یک کلاس هست؟

خب حالا کلاس  هم اول این جلسه یادتان دادم بسازید. پس بلدید.

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

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

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

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

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

این کده رفتن به صفحه های دیگه هست میخواهم تست کنید.

جای SecondActivity هم اسم اکتیویتی که خودتان میسازید را بگویید.

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

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

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

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

که باز هم میگم SecondActivity اسم اکتیویتی هست که خودتون ساختید.

اینم که کجا اضافش کنید را میگذارم به عهده درایت خودتان J

ببینم تا جلسه بعد چه میکنی

خسته نباشید

قسمت بعدی قسمت قبلی