ایجاد اولین پروژه اندرویدی Hello World


اجازه دهید برنامه نویسی واقی را با Android Framework آغاز کنیم
قبل از اینکه اولین نمونه را با Android SDK شروع کنید باید از نصب بودن Android development environment  مطمئن باشیم که در فصل قبل توضیح دادیم
فرض را بر این میگیریم که کمی دانش کار با Eclipse IDE را فرا گرفته اید
بنابراین اجازه دهید یک مثال برنامه اندروید بنویسم که در آن متن Hello World را نمایش دهد


ساخت Android Application :
در اولین قدم یک پروژه جدید در محیط اکلیپس ایجاد می کنیم از آدرس File -> New -> Project روی گزینه Android New Application و صفحه زیر ظاهر می شود تا پروژه به صورت اتوماتیک ساخته شود
در پنجره ظاهر شده اسم پروژه را HelloWorld می گذاریم مانند شکل زیر و روی دکمه next کلیک می کنیم

[تصویر:  do.php?img=232]



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

[تصویر:  do.php?img=231]

 

[تصویر:  do.php?img=233]
ساختار برنامه اندروید
قبل از اینکه پروژه را اجرا کنید باید با تعدادی از پوشه ها و فایلهای پروژه تان آشنا شوید
1-src
این پوشه شامل فایلهای جاوای برنامه شما می باشد
به صورت پیشفرض فایل  MainActivity.java که یک کلاس اکتیویتی هست اجرا می شود و به همراه آیکن در نظر گرفته شده اپلیکشن ساخته و راه اندازی می شود
2:gen
این پوشه شامل فایل .R می باشد
کامپایلری که فایل reference  را  از resource پروژه تان پیدا کرده است ایجاد می کند.شما نباید در این فایل تغییری ایجاد نمایید
3:bin
این پوشه شامل فایلهای  .apkپکیح اندروید می باشد  با سازنده های ADT و پروسه ساخت اجزا اجرا می گردد و برنامه اجرا می گردد
4: res/drawable-hdpi
در این پوشه اشیاء گرافیکی ساخته شده و یا طراحی شده را جهت پشتیبانی از screen های مختلف قرار می گیرد
5 : res/layout: در این پوشه فایلهای user interface  جهت تعامل با کاربر قرار می گیرد
6: res/values : این پوشه جهت سایر فایل های XML های مختلف است که شامل مجموعه ای از منابع ماند متغیر ها  ،رنگها و ... است
7: AndroidManifest.xml :
در این فایل توصیف ویژگی های اساسی از برنامه و تعریف هر یک از اجزای آن قرار می گیرد.پس از توضیح خلاصه ای از کلیات فایل های مهم و کاربردی را شرح می دهیم
 :Main Activity
کد های جاوای Main Activity در فایل  MainActivity.java قرار دارد
این فایل برنامه های واقعی که در نهایت تبدیل به DALVIK اجرایی می شود و برنامه اجرا می گردد

در ادامه کد های پیشفرض که با ایجاد یک پروژه Hello World! تولید می شوند را شرح خواهیم داد

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package com.example.helloworld;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;
 
public class MainActivity extends Activity {
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

 

در اینجا  R.layout.activity_main مراجعه می کند به  فایل activity_main.xml که در پوشه res/layout قرار دارد
متد onCreate() یکی از روشهایی است که اکتیویتی load می شود
فایل Manifest :
هر component از برنامه شما به نحوی خود را نشان می دهد
شما باید تمام اجزای آن را در یک فایل مانیفست به نام AndroidManifest.xml که در ریشه پوشه پروژه  قرار دارد اعلام کنید
کار این فایل طوری است رابط بین سیستم عامل اندروید و برنامه است ،بنابراین اگر شما component مورد نیاز رااعلام نکنید برقراری ارتباط با سیستم عامل انجام نمی پذیرد
در ادامه محتوای پیشفرض فایل Manifest  شرح داده شده است
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
   package="com.example.helloworld"
   android:versionCode="1"
   android:versionName="1.0" >
   <uses-sdk
      android:minSdkVersion="8"
      android:targetSdkVersion="15" />
   <application
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name"
       android:theme="@style/AppTheme" >
       <activity
           android:name=".MainActivity"
           android:label="@string/title_activity_main" >
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />
               <category android:name="android.intent.category.LAUNCHER"/>
           </intent-filter>
       </activity>
   </application>
</manifest>
در اینجا تگ <application>...</application> به صورت انحصاری در اختیار components های مربوط به برنامه است
Attribute android : آیکنی که اشاره به برنامه دارد و در آدرس res/drawable-hdpi ذخیره گشته است
این برنامه از تصویر ic_launcher.png که در پوشه drowable قرار دارد جهت آیکن برنامه استفاده می کند
تگ <activity> بعضی مشخصه ها را مانند نام android:name مشخص می کند  وباید نام کامل کلاس اکتیویتی مورد نظر مانند زیر وارد گردد
android:name=".MainActivity"
در خط بعدی android:label معرفی گشته است که متغیر های استفاده شده در اکتیویتی را اعلام می کنیم
android:label="@string/title_activity_main"
شما می توانید activity های مختلف را با استفاده از <activity> tagمعرفی نمایید
action  برای تعریف اولین اکتیویتی که در برنامه شما بالا می آید به کار می رود android.intent.action.MAIN
جهت launch کردن برنامه با دستگاه از این خط استفاده می گردد
از طریق آن آیکن برنامه شما launch می گردد android.intent.category.LAUNCHER
@string اشاره دارد به فایل strings.xml و @string/app_name اشاره می کند به متغیر app_name که در فایل strings.xml  مقدار دهی شده است
که در این مثال مقدار آن  "HelloWorld" است که نام اپلیکیشن می شود
در ادامه  تگهای دیگری را که می توان در manifest  و کامپوننت های قابل تعریف توضیح داده می شود

 

<activity>elements for activities
<service> elements for services
<receiver> elements for broadcast receivers
<provider> elements for content providers
فایل strings.xml در مسیر  res/values قرار دارد و شامل تمامی محتواهای متنی شما که در برنامه استفاده می کنید می باشد
به طور مثال نام دکمه ها ،برچسب ها و انواه مشابه آن در این فایل ذخیره می گردد
این فایل مسئول محتوای متنی خود می باشد
در ادامه  محتوای این فایل می تواند به صورت زیر باشد
1
2
3
4
5
6
<resources>
    <string name="app_name">HelloWorld</string>
    <string name="hello_world">Hello world!</string>
    <string name="menu_settings">Settings</string>
    <string name="title_activity_main">MainActivity</string>
</resources>
فایل R
در مسیر gen/com.example.helloworld/R.java فایلی وجود دارد که هر تغییری در برنامه چه در فایلهای جاوا و چه در فایلهای XML ایجاد می شود آنجا توسط اکلیپس اعمال می شود
در ادامه محتوای این فایل آورده شده است
یادآور می شوم هیچگونه تغییری در این فایل انجام ندهید زیرا ممکن است با مشکل مواجه شوید
1
/* AUTO-GENERATED FILE.  DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found.  It
 * should not be modified by hand.
 */

package com.example.helloworld;

public final class R {
    public static final class attr {
    }
    public static final class dimen {
        public static final int padding_large=0x7f040002;
        public static final int padding_medium=0x7f040001;
        public static final int padding_small=0x7f040000;
    }
    public static final class drawable {
        public static final int ic_action_search=0x7f020000;
        public static final int ic_launcher=0x7f020001;
    }
    public static final class id {
        public static final int menu_settings=0x7f080000;
    }
    public static final class layout {
        public static final int activity_main=0x7f030000;
    }
    public static final class menu {
        public static final int activity_main=0x7f070000;
    }
    public static final class string {
        public static final int app_name=0x7f050000;
        public static final int hello_world=0x7f050001;
        public static final int menu_settings=0x7f050002;
        public static final int title_activity_main=0x7f050003;
    }
    public static final class style {
        public static final int AppTheme=0x7f060000;
    }
}
1
 
فایل Layout  :
activity_main.xml یک Layout  است که در پوشه res/layout  قرار گرفته است
که زمان لود شدن اپلیکیشن از آن رابط های کاربری استفاده می کند
شما میتوانید به دفعات مختلف تغییر در این فایلها ایجاد کنید تا به نتیجه مطلوب برسیم
در برنامه "Hello World!"  محتوای فایل activity_main.xml به صورت پیشفرض به صورت زیر خواهد بود
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent" >
 
   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_centerHorizontal="true"
       android:layout_centerVertical="true"
       android:padding="@dimen/padding_medium"
       android:text="@string/hello_world"
       tools:context=".MainActivity" />
 
</RelativeLayout>
این یک نمونه ساده از RelativeLayout است که ما آن را در فصل قبل به طور کامل شرح داده ایم
TextView در اندروید یک ابزار گرافیکی است که ما می توانیم در برنامه قرار دهیم
از خصوصیات این ابزار می توان به android:layout_width, android:layout_height اشاره کرد که می توان آنها را بر اساس نیاز تنظیم کنیم
@string به فایل strings.xml اشاره می کند که در پوشه res/values قرار دارد
@string/hello_world به متغیر hello اشاره می کند که در فایل strings.xml قرار دارد و محتوای آن "Hello World!" است
Running the Application:
خوب برنامه را اجرا نمایید برنامه ما ساخته شده است قبل از آن یک AVD  (ایملیتور) را بسازید
برنامه را از اکلیپس اجرا نمایید activity  را باز نمایید و   را از toolbar انتخاب کنید
در ادامه اجرای برنامه خود را مانند تصویر زیر تماشا کنید

 

[تصویر:  do.php?img=234]
بله شما اولین برنامه خود را نوشیتید
مرحله به مرحله آموزش را دنبال نمایید
بازدید 33328 بار
این مورد را ارزیابی کنید
(4 رای‌ها)
فرزاد سرسیفی

فرزاد سرسیفی توسعه دهنده اندروید و مدیر انجمن برنامه نویسی اندروید هستم 

وبگاه: p30droid.com/

نظر دادن

جوملا فارسی