نام‌نویسی
پس از تکمیل اطلاعات زیر، گذرواژه برای شما ارسال می‌شود.

بعد از آموزش های مربوط به راه اندازی ادیتور های مناسب برای اندروید قصد داریم با استفاده از آن ها به برنامه نویسی اندروید که امروزه در بورس برنامه نویسی برای موبایل قرار دارد بپردازیم و شما را با منابع اصلی برنامه نویسی در این زمینه آشنا کنیم.

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

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

Button

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

قبل از شروع برنامه نویسی به چند نکته مهم می پردازیم:

1- در برنامه نویسی اندروید که بر حسب منطق جاوا باید کار کنیم باید تمام اصول و موازین شیء گرایی اعم از ارث بری و اینترفیس و … را رعایت کنیم.

2- اگر لازم است کلاسی برای ما به عنوان یک مولد گرافیکی عمل کند یعنی یک منو یا یک صفحه ای جدید را به نمایش در بیاورد باید یک فایل گرافیکی جداگانه حتما داشته باشد.

3- در برنامه نویسی اندرویدی فایل های XML به عنوان فایل های گرافیکی مورد استفاده و رندر کلاس ها هستند. کسانی که با فایل XML آشنا هستند می دانند که برای برنامه نویسی چند پلتفرمی مانند اندروید-ویندوز یا اندروید-مک باید حتما از فایل های میانی مثل XML استفاده کرد.

برای شروع…

ابتدا از منوی بالا سمت چپ گوشه منوی New را انتخاب می کنیم و طبق منوی زیر تنظیمات را انجام می دهیم:

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

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

Activityname

این فیلد در واقع اولین کلاسی است که در برنامه ما ساخته می شود. به طور پیش فرض اسم دارد و می توانیم آن را عوض کنیم یا نکنیم.

Layoutname

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

Title

اسم برنامه ای که قرار است بنویسیم را در آن قرار می دهیم.

Menu Res Name

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

اگر تنظیمات قبلی را روی ادیتور ست کرده باشید منوی زیر برای شما پدیدار نمی شود و لی اگر ظاهر شد طبق تصویر عمل می کنیم:

android

این منو در واقع قالب فایل گرافیکی اصلی و اولیه را برای ما معین می کند.

در پایان اگر با گوگل استودیو کار می کنید این منو برای شما فراهم می گردد:

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

شما می توانید نام کلاس ها و فایل ها به نحوی که در ذهن خودتان بماند عوض کنید و به شکل دلخواهد در بیاورید:

این کار توصیه می شود به دو دلیل:

شما با محیط آشنا تر می شوید

فایل هایی که با نام انتخابی شما هستند برای شما قابل شناسایی تر هستند در برنامه های پیچیده تر

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

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

android

و در منوی جدید ظاهر شده و فقط نام جدید Second activity را وارد می کنیم و با سایر تنظیمات دست نمی زنیم. نکته نباید در نام کلاس فاصله وجود داشته باشد و بهتر از با حرف بزرگ شروع شود.

و برای فایل گرافیکی باید درون پوشه Res همین عمل بالایی را انجام دهیم ولی با نام فایل XML ن کلاس:

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

به کلاس های ایجاد شده به شکل پیش فرض فایل های گرافیکی معلوم نسبت داده شده اند. یعنی کلاس یک فایل گرافیکی یک و کلاس دو فایل گرافیکی دوم را شناسانده ایم:

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

public class FirstScreenActivity extends Activity {

 ایجاد چند متغییر از نوع متنی

 EditText inputName;
EditText inputEmail;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

               شناساندن فایل گرافیکی اول به کلاس اول
setContentView(R.layout.screen1);

        inputName = (EditText) findViewById(R.id.name);
        inputEmail = (EditText) findViewById(R.id.email);
              قرار دادن مقادیر وارد شده در منوی اول درون متغییر ها برای ارسال به منوی دوم
        Button btnNextScreen = (Button) findViewById(R.id.btnNextScreen);
             ساختن یک نمونه از کلاس کلید ها
        btnNextScreen.setOnClickListener(new View.OnClickListener() {
              ساختن کلیک فایندر برای کلید ارسال
            public void onClick(View arg0) {
                //Starting a new Intent
                Intent nextScreen = new Intent(getApplicationContext(), SecondScreenActivity.class);
                ایجاد اینتنت برای رفتن به کلاس دوم
                //Sending data to another Activity
                nextScreen.putExtra("name", inputName.getText().toString());
                nextScreen.putExtra("email", inputEmail.getText().toString());
             فرستادن مقادیر
                Log.e("n", inputName.getText()+"."+ inputEmail.getText());
                startActivity(nextScreen);
             شروع کار صفحه دوم
                                }
                      });
              }
  }
و در کلاس دوم هم داریم شرایط مشابه:
public class SecondScreenActivity extends Activity {
کلاس دوم بعد از زدن کلید در کلاس اول تشکیل می شود
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
             قبلا فایل گرافیکی را به آن نسبت می دهیم
setContentView(R.layout.screen2);
دو نمایش متنی را از کلاس متن می سازیم
TextView txtName = (TextView) findViewById(R.id.txtName);
TextView txtEmail = (TextView) findViewById(R.id.txtEmail);
               یک کلید بستن همه چیز هم داریم
Button btnClose = (Button) findViewById(R.id.btnClose);

           Intent i = getIntent();

           این قسمت دقیقا مسئول هندل کردن آمد و شد می باشد
String name = i.getStringExtra(“name”);
String email = i.getStringExtra(“email”);
            در این دو رشته مقادیری که از منوی صفحه اول آورده شده راذخیره می کنیم
Log.e(“Second Screen”, name + “.” + email);

        txtName.setText(name);
txtEmail.setText(email);
در این قسمت هم مقادیر ذخیره شده را در دو متغییری که در بالا تعریف کردیم نشان می دهیم
btnClose.setOnClickListener(new View.OnClickListener() {
کلیک فایندر کلید بستن را نیز فعال می کنیم تا به محض کلیک شدن عمل کند
public void onClick(View arg0) {

             finish();
             با این دستور نیز کلاس و اکتیویتی دوم را می بندیم
}
});

             }
}

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

هم اکنون نوبت به توضیح فایل های گرافیکی می رسد:

XML

نکات:

1- این فایل ها را می توان با استفاده از ویزارد نیز ساخت

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

3- فایل های XML را می توان به زاحتی کپی و ذخیره کرد

فایل گرافیکی اول:

<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
>
<TextView android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”Name: “/>
<EditText android:id=”@+id/name”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:layout_marginBottom=”10dip”/>
<TextView
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”Email: ”
/>
<EditText android:id=”@+id/email”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:layout_marginBottom=”10dip”/>
<Button android:id=”@+id/btnNextScreen”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”Send to Next Screen”
android:layout_marginTop=”15dip”/>
</LinearLayout>

شکل مربوط به فایل گرافیکی اول:
آموزش برنامه نویسی اندروید
فایل گرافیکی دوم:
<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout
xmlns:android=”http://schemas.android.com/apk/res/android”
android:orientation=”vertical”
android:layout_width=”match_parent”
android:layout_height=”match_parent”>

<TextView android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”You Entered…”
android:textSize=”25dip”
android:gravity=”center”
android:layout_margin=”15dip”/>

<TextView android:id=”@+id/txtName”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:layout_margin=”15dip”
android:textSize=”18dip”/>
<TextView android:id=”@+id/txtEmail”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:layout_margin=”15dip”
android:textSize=”18dip”/>

<Button android:id=”@+id/btnClose”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:layout_marginTop=”15dip”
android:text=”Close”/>

</LinearLayout>

تصویر فایل دوم:
آموزش برنامه نویسی اندروید
تبریک برنامه شما قابل اجراست و می توانید روی گوشی اندرویدی خود نصب کنید.
نکات برنامه نویسی:
• پیش فرض این آموزش داشتن مهارت کافی در جاوا است و این آموزش ها بر مبنای فایل های گرافیکی و اندرویدی است نه صرفا آموزش جاوا
• برای کاهش دادن خطا های برنامه نویسی از قابلیت های خود ادیتور استفاده کنید برای مثال CNTRL + SPACE پیش نهای کد نویسی را در هر لحظه برای شما فراهم می کند.
تصویر نهایی:
آموزش برنامه نویسی اندروید
با آموزش های بعدی ویندوزسنتر همراه باشید.

پیوست

پسندیدم(1)نپسندیدم(0)

11 نظر

  1. رضا

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

    پسندیدم(1)نپسندیدم(0)
    پاسخ دادن
    • بهزاد باقری

      سلام.بله درسته ایرادات سیستم عامل اندروید وقتی تازه باهاش سر و کار داشته باشیم پدیدار می شه خیلی هام اینو قبول ندارن ولی سیستم عاملش خیلی ایراد داره مخصوصا امنیتش

      پسندیدم(2)نپسندیدم(0)
      پاسخ دادن
  2. بهزاد باقری

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

    پسندیدم(1)نپسندیدم(0)
    پاسخ دادن
  3. بهزاد باقری

    در رابطه با دیتابیس sqlite ایمیل زدن دوستان برا آموزش حتما در پست های بعدی داریم.آموزش ده پست اول موارد ابتدایی و سطح اول هستش تو سطح دوم وارد محیط های بانک داده می شیم

    پسندیدم(1)نپسندیدم(0)
    پاسخ دادن
  4. رضا

    Salam vala man dose bar khastam kar konam barname nevisi android ro ama in enghad b sdk gir mide k adam pashimoon she hala ye baram ba amozeshay in sit berim binim chi mishe

    پسندیدم(0)نپسندیدم(0)
    پاسخ دادن
  5. رضا

    Migam yani khodaaesh google ba in azamat balad nis ye chiz kamel besaze hame chi toosh bashe sdk o jdk o hame chi yeja bede dl konan mellat?

    پسندیدم(1)نپسندیدم(0)
    پاسخ دادن
    • بهزاد باقری

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

      پسندیدم(0)نپسندیدم(0)
      پاسخ دادن

نظر خود را با دیگران به اشتراک بگذارید

نظرات شما برای ما ارزشمند هستند.