ساخت یک برنامه ساده برای اندروید (قسمت اول)

چهارشنبه ۵ شهریور ۹۳ • اشتراک گذاری در توییتر و فیسبوک

در ابتدا بگم که این آموزش مخصوص کسایی هست که کمی آشنایی با برنامه‌نویسی اندروید (آندروید غلط است) یا جاوا و کار با نرم‌افزار اکلیپس داشته باشند.
هدف از این آموزش که به صورت یک پروژه در آخر میتونید دانلودش بکنید آشنایی با کنترل‌ها و تعریفشون و آشنایی با نحوه کار متدهاست.
در این پروژه ما قصد داریم یک اپ اندروید درست کنیم که یک عدد دلخواه رو از ما بگیره و به توانی که ما میخوایم برسونه،مثلا عدد ۲ رو به توان ۳ برسونه،نحوه کلی کارکرد این برنامه به این صورت هستش که دو ورودی از کاربر میگیره،ورودی‌ها رو چک میکنه که خالی نباشن و در صورت خالی بودن پیغام مناسب رو روی صفحه نمایش بده و در صورت وارد کردن مغادیر درست اون وروردی‌ها رو محاسبه کنه و جواب رو به ما نشون بده.

ساخت پروژه

برای برنامه‌نویسی اندروید از اکلیپس استفاده میکنیم و از منوی بالا File > New > Android Project رو انتخاب میکنیم،اسم پروژه رو PowerCalculation (به معنای محاسبه‌ی توان) میزاریم و در مرحله بعد اسم پکیج رو من me.imohamad.power_calculation قرار دادم.
نحوه نامگذاری پکیج‌ها در جاوا به این صورت هستش که اگر سایتی دارید دامین اون سایت رو از آخر به اول به علاوه‌ی اسم پروژتون رو میزارید یا اگر سایتی ندارید درستش این هست که اسم و فامیل خودتون رو از آخر به اول به علاوه اسم پروژتون بنویسید مثلا: deylami.mohamadreza.power_calculation ، و در آخر نسخه اندرویدتون رو انتخاب میکنید که ما نسخه ۲٫۲ اندروید یا Froyo رو انتخاب میکنیم،همیشه سعی کنید وقتی احتیاج خاصی به توانایی‌های ورژن‌های بالاتر اندروید ندارید از پایین‌ترین نسخه که اون ویژگی‌های برنامه شما رو داره استفاده کنید که بتونید دستگاه‌های بیشتری رو پوشش بدید،به طور مثال ما توی این برنامه به ویژگی خاصی از نسخه ۴ نیازی نداریم پس لزومی هم نداره نسخه ۴ رو انتخاب کنیم،پروژه‌ی جدید که ایجاد شد این کدها به طور آماده در ادیتور اکلیپس نوشته شده:


package me.imohamad.power_calculation;
public class PowerCalculation extends Activity {
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

کلاس PowerCalculation که ما ایجاد کردیم توسط کلمه extends از کلاس Activity ارث‌بری میکنه و خواص اون کلاس رو هم شامل میشه،تابع onCreate هم موقعی که برنامه اجرا میشه ایجاد میشه و شروع به کار میکنه،ما کدهامون رو درون این تابع مینویسیم،توسط setContentView هم رابط کاربری که به صورت XML هست رو به فایل جاوا پیوست میکنیم.

ساخت رابط کاربری

چون مبحث اصلی این آموزش برنامه‌نویسی هست ما زیاد روی رابط کاربری مانور نمیدیم و یک رابط کاربری ساده که دارای دو EditText برای وارد کردن عدد که اولین فیلد برای وارد کردن عدد دلخواه و دومین فیلد برای وارد کردن توان دلخواه و یک Button برای شروع محاسبه و یک TextView برای نشان دادن نتیجه محاسبه است ایجاد میکنیم.
رابط کاربری ما درون پکیج و در مسیر res > layout > main.xml وجود داره و قابل دسترسیه،در اکلیپس شما میتونید در دو محیط ویژوال یا کُد رابط کاربریتون رو درست کنید.
دو EditText وارد main.xml میکنیم و این تنظیمات رو بهشون اختصاص میدیم:


<EditText
android:id="@+id/edtNumOne"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:ems="10"
android:hint="Number One"
android:inputType="numberDecimal">    

<EditText
android:id="@+id/edtPow"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:ems="10" android:hint="Number Pow"
android:inputType="numberDecimal"/>

توی کُد id رو به دلخواه edtNumOne و edtPow قرار دادیم،برای عرض layout_width رو برابر با match_parent قرار دادیم تا کُل عرض صفحه رو اشغال کنه و برای ارتفاع layout_height رو برابر با wrap_content قرار دادیم تا فقط به اندازه‌ی محتواش بزرگ بشه.
از hint برای نوشتن متن درون فیلد استفاده میکنیم و عملکردش دقیقا مثل placeholder در html هست و با تایپ درون فیلد این متن پاک میشه.
چون در این پروژه فقط و فقط نیاز به وارد کردن عدد داریم پس inputType رو برابر با numberDecimal قرار میدیم،این کار باعث میشه با کلیک کاربر بر روی فیلد فقط کیبورد عددی باز بشه.
برای ساخت یک دکمه که شروع کننده محاسبه باشه یک کنترل به نام Button وارد main.xml میکنیم و این تنظیمات رو بهش اختصاص میدیم:


<Button
 android:id="@+id/btnResult"
android:layout_width="120dip"
android:layout_height="wrap_content"
android:text="Start"
android:layout_gravity="center"
android:layout_marginTop="30dip"/>

در این دکمه مطابق دلخواه id رو btnResult نامگذاری میکنیم و برای عرض layout_width رو برابر با ۱۲۰dip قرار میدیم (واحد اندازه‌گذاری در اندروید بر اساس dip میباشد که مخفف کلمه density-independent pixel است) ، برای ارتفاع layout_height رو برابر با wrap_content قرار میدیم که در بالا توضیح داده شده،برای متن درون دکمه text رو برابر با نوشته دلخوا که در اینجا start است قرار میدیم و برای محل قرارگیری دکمه در صفحه layout_gravity رو برابر با center میگذاریم.
برای نشان دادن خروجی به کاربر نیاز به یک TextView داریم که اون رو وارد main.xml میکنیم و تنظیمات زیر رو به اون اختصاص میدیم:


<TextView
android:id="@+id/txtShowResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Result : 0"
android:layout_gravity="center"
android:layout_marginTop="30dip"
android:textSize="28dip"/>

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

power-calculation

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

نوشته شده در آموزش ، اندروید

مرتبط با برچسب‌های ، ، ،



یکشنبه ۲۳ شهریور ۹۳ • نوشته شده توسط مهدی رسولی

بسیار عالی
ادامه بده که دنبال همچین مطالبیم

دوشنبه ۲۴ شهریور ۹۳ • نوشته شده توسط آقاجون

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

شنبه ۸ خرداد ۹۵ • نوشته شده توسط ملک زاده

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

چهارشنبه ۱۳ مرداد ۹۵ • نوشته شده توسط رسول

واقعا عالیه
توضیحاتتون کامله
سبک تدریستون بی نظیره
باز هم ادامه بدید منتظر آموزش هاتون هستیم:-):-)

دوشنبه ۱ آذر ۹۵ • نوشته شده توسط sarah

سلام مرسی ا توضیحتان.
ولی اگه بخوایم کاربر به جای اینکه عدد را وارد کند و حاصل را دریافت کند خود حاصل ان عدد را که به توان رسیده را وارد کندچه تغییری باید ایجاد کنیم؟

شنبه ۷ مرداد ۹۶ • نوشته شده توسط as7cr

سلام خسته نباشید

برای من گزینه اندروید پروجکت پاک شده باید چیکار کنم؟