Advertisement
  1. Code
  2. Coding Fundamentals
  3. Tools

اندروید از ابتدا: ساخت اولین اپلیکیشن اندروید خودتون

Scroll to top
Read Time: 9 min
This post is part of a series called Android From Scratch.
Android From Scratch: Exploring Android Sample Apps
Android From Scratch: How to Run Your Application on a Physical Device

() translation by (you can also view the original English article)

Final product imageFinal product imageFinal product image
What You'll Be Creating

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

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

۱. آماده سازی پروژه

یک برنامه ی اندروید چیزی بیشتر از مجموعه ای از فایل ها و پوشه ها نیست. چند تا راه برای آماده سازی یک اپلیکیشن اندروید وجود داره. قبلا، توسعه دهنده ها مجبور بودن هر پروژه رو به طور دستی بسازن. خوشبختانه، اندروید استودیو یک روند(wizard) راحت داره که هدفش ساخت فایل ها و پوشه های موردنیاز برای شروع یک پروژه است.

وقتی که اندروید استودیو رو اجرا کنید با پنجره ی خوش آمد گویی زیر مواجه می شوید.

Welcome to Android StudioWelcome to Android StudioWelcome to Android Studio

در سمت چپ لیستی از پروژه های اخیر رو می بینید. در سمت راست، می تونید یک پروژه ی جدید بسازید.این کار را می توانید از طریق ورژن کنترل یا ساخت یک پروژه جدید انجام دهید. گزینه اول را انتخاب کنید، Start a new Android Studio project.

Configure the ProjectConfigure the ProjectConfigure the Project

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

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

به دلیل اینکه تعداد برنامه های اندروید هر روز در حال افزایش است، معمولا از معکوس دامنه برای نام پکیج یک برنامه استفاده می شود. برای مثال، نام پکیج یک برنامه ی منتشر شده توسط Envato Tuts+ می تواند با com.tutsplus آغاز شود. یادتون باشه که نام پکیج به نام صاحب دامنه هیچ ربطی نداره.

در اندروید استودیو، Hello World را به عنوان نام برنامه، code.tutsplus.com را به عنوان Company Domain وارد کرده و مکانی را برای ذخیره پروژه در رایانه خود انتخاب کنید. نام برنامه و نام شرکت برای تولید نام پکیج استفاده می شوند، .com.tutsplus.code.helloworld برای ادامه روی Next کلیک کنید.

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

Set Minimum Android SDKSet Minimum Android SDKSet Minimum Android SDK

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

در کل، شما هیچ وقت نباید از Gingerbread که سطح API آن ۹ است پایین تر بروید. می توان گفت، اگر هدف شما پشتیبانی از طیف وسیعی از مخاطبان است می توانید حداقل Ice Cream Sandwich که سطح API آن ۱۴ است را انتخاب کنید.

در این پروژه، ما از API های جدیدی که در نسخه های اخیر SDK معرفی شده استفاده نخواهیم کرد. سطح API را بر روی ۹ تنظیم کرده و برای ادامه روی Next کلیک کنید.

در صفحه بعد، اندروید استودیو از ما می خواهد مشخص کنیم تا در صورت نیاز برای شروع یک activity‌ برای ما بسازد.

Add an ActivityAdd an ActivityAdd an Activity

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

activity ها کلاس های جاوا هستند که از کلاس Activity ارث می برند، کلاسی که توسط Android SDK تعریف شده است. توسعه دهنده ها بعضی از متد های آن را برای افزودن رفتار های دلخواه بازنویسی می کنند. معمولا همراه هر activity یک layout است که به صورت XML بوده و رابط کاربری activity را تعریف می کند. میشه گفت مثل HTML برای یک صفحه ی وب است.

ویزارد اندروید استودیو به ما پیشنهاد می دهد که اولین activity برنامه را تولید کند. Empty Activity را انتخاب و روی Next کلیک کنید.

در صفحه ی جاری نام activity را HelloWorldActivity تنظیم کرده و برای کامل کردن فرایند آماده سازی روی Finish کلیک کنید.

Customize the ActivityCustomize the ActivityCustomize the Activity

۲. به اندروید استودیو خوش آمدید

اندروید استودیو فایل ها و پوشه های پروژه را بر اساس تنظیماتی که تعیین کرده بودیم، تشکیل می دهد. حالا با باز شدن پروژه ی جدید شما رابط کاربری اندروید استودیو رو می بینید.

Android Studio User InterfaceAndroid Studio User InterfaceAndroid Studio User Interface

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

اندروید استودیو بر پایه Intellij ساخته شده است، یک IDE(محیط توسعه ی یکپارچه) که توسط JetBrains توسعه یافته است. که البته خیلی قدرتمنده و به شما کمک می کنه روند توسعه خودتون رو با استفاده از میانبرها، تولید کننده ی متد، منظم سازی خودکار کدها، لینک مستقیم به قسمت های مختلف پروژتون، پنجره های اسناد جاوا و ... مدیریت کنید. گوگل اندروید استودیو را برای توسعه اندروید طراحی کرده است.با پشتیبانی از XML( به همراه یک ویرایشگر راحت گرافیکی) و Groovy (برای اسکریپت های Gradle).

در سمت چپ، شما باید لیست درخت شکلی از پوشه ها تون ببینید. اون قلب پروژه ی شماست، جایی که می تونید فایل ها و دارایی(asset) های پروژتون رو پیدا کنید. پوشه هایی که بیشتر وقتتون رو در آن ها خواهید گذراند java و res هستند. در java می تونید کلاس های جاوای پروژتون رو پیدا کنید. در res، شما می تونید دیگر منابع پروژتون از قبیل layout ها، value sheet ها، تصاویر و ... رو پیدا کنید.

در بالا می تونید یک لیست دکمه ببینید که از طریق اون می تونید به مهم ترین قابلیت های اندروید استودیو دسترسی داشته باشید مثل ساخت، اجرا و همگام سازی پروژه، آپدیت کردن SDK و تغییر شبیه ساز ها.

Android Studio ToolbarAndroid Studio ToolbarAndroid Studio Toolbar

برای این درس، شما فقط باید در مورد یکیشون بدونید، دکمه ی play در سمت چپ. این دکمه پروژه ی شما را ساخته و اجرا می کند.

۳. نوشتن کد

حالا باید احساس راحت تری نسبت به رابط کاربری اندروید استودیو داشته باشید.و الان وقتشه دستاتون رو کثیف کنید و یه مقدار کد بنویسید.

قدم ۱ : Layout

اولین کاری که باید انجام بدید تعریف layout برای activity اصلیتونه. به پنل پروژه رفته و در سمت چپ روی activity_hello_world.xml دوبار کلیک کنید. می تونید اون رو در پوشه ی java/layout پیدا کنید. اندروید استودیو فایل layout رو به همراه فایل HelloWorldActivity.java برای ما ساخته است.

همینطور می تونید Command + Shift + O (Control + Shift + N در ویندوز) را فشار داده، حروف اول اسم فایل را نوشته و زمانی که اندروید استودیو فایل درست را پیشنهاد داد Enter را فشار دهید. Command + O / Control + N یک جستجو محدود به کلاس های جاوا را اجرا می کند در حالی که Command + Shift + O / Control + Shift + N تمام پروژه را جستجو می کند.

Searching Files and FoldersSearching Files and FoldersSearching Files and Folders

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

The WYSIWYG Editor of Android StudioThe WYSIWYG Editor of Android StudioThe WYSIWYG Editor of Android Studio

به جای استفاده از ویرایشگر گرافیکی ما میخواهم XML این layout را تغییر دهیم. این اختیارات ما رو بیشتر می کنه. می تونید این کار رو با کلیک روی تب Text در سمت چپ و پایین ویرایشگر، کنار تب Design انجام بدید. یک id به عنصر TextView و یک Button درست زیر آن اضافه کنید. خیلی در مورد کدی که داریم اضافه می کنیم نگران نباشید. این در ادامه سری براتون روشن میشه.

1
<TextView
2
    android:id="@+id/text"
3
    android:layout_centerInParent="true"
4
    android:layout_width="wrap_content"
5
    android:layout_height="wrap_content"
6
    android:text="" />
7
8
<Button
9
    android:layout_width="wrap_content"
10
    android:layout_height="wrap_content"
11
    android:layout_centerHorizontal="true"
12
    android:text="Click here to say hi"
13
    android:onClick="sayHi"/>

id برای اشاره کردن به یک عنصر رابط کاربری در کد استفاده میشه. اندروید استودیو به طور مداوم در یک کلاس، R.java، مشخص می کند که به کدام  id های layout ارجاع داده شده است. چیز جالب دیگه ای که در این layout وجود داره onClick عنصر Button هست. هنگامی که کاربر روی دکمه کلیک کند، سیستم عامل متد sayHi() از activity را فراخوانی می کند.

Creating the User InterfaceCreating the User InterfaceCreating the User Interface

قدم ۲:‌Activity

در قدم بعد،  HelloWorldActivity.java را باز کنید. همونطوری که می تونید ببینید، بدنه ی اصلی activity از قبل حاضره. کلاس قبلا از AppCompatActivity ارث برده که خود اون از Activity.java ارث می بره. HelloWorldActivity متد onCreate() را پیاده سازی می کند. با استفاده از findViewById() یک ارجاع به TextView اضافه کرده و متدی را به صورت public تعریف کنید که توسط رخداد onClick دکمه فراخوانی می شود.

1
private TextView mText;
2
3
@Override
4
protected void onCreate(Bundle savedInstanceState) {
5
    super.onCreate(savedInstanceState);
6
    setContentView(R.layout.activity_hello_world);
7
8
    // Get View reference

9
    mText = (TextView) findViewById(R.id.text);
10
11
}
12
13
public void sayHi(View view) {
14
    mText.setText("Hello World!");
15
}

همونطوری که میتونید ببینید، findViewById() یک آبجکت از نوع View بر می گردونه. و این به این معنیه که اگه بخواید متن اون رو با فراخوانی setText() تغییر بدید باید اون رو به TextView تبدیل کنید. در واقع، همه ی عناصری که موقع طراحی رابط کاربری می بینید از کلاس View ارث می برند، یکی دیگر از کامپوننت های اساسی Android SDK.

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

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

روی دکمه ی سبز play که قبلا در موردش صحبت کردیم کلیک کنید یا اینکه بروید به Run > Run'app'. اندروید استودیو از شما می خواد که یک هدف برای deploy انتخاب کنید. Create New Emulator را انتخاب و یکی از پیشنهادات را انتخاب کنید( مثلا ، Nexus 5 ). روی Next کلیک کنید، یک system image انتخاب کنید (هر کدوم که ترجیح میدین از Gingerbread به بالا)، و دوباره روی Next کلیک کنید، تمامی گزینه ها را با مقادیر پیش فرضشان راها کنید.

Select a Deployment TargetSelect a Deployment TargetSelect a Deployment Target

بعد از اون، شبیه سازی که جدیدا ساخته شد رو انتخاب کرده و بزارید جادو اتفاق بیفته.

Running Your App In an EmulatorRunning Your App In an EmulatorRunning Your App In an Emulator

جمع بندی

در این درس، یاد گرفتید که چگونه یک برنامه Hello World در اندروید توسعه بدید. به طور خاص برای الان شما به انداره کافی در باره اندروید استودیو می دونید تا باهاش یک برنامه که کار می کنه توسعه بدید. همچنین شما ساختار اصلی یک پروژه ی اندروید رو می دونید و یک نگاه خلاصه داشتید به برخی از متد ها و کلاس های Android SDK (Activity و View ) و متد findViewById().

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

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.