آشنایی با کدهای مربوط به فایل java برای یک activity ، فایل xml متناظر با آن activity و همچنین فایل AndroidManifest.xml
در برنامه eclipse ، ابتدا یک پروژه اندروید با نام Kelidestan بسازید (نام package را برابر com.example.kelidestan انتخاب کنید. نام activity اصلی را برابر Activity1 انتخاب کنید).
پس از ساخت پروژه اندروید، فولدربندی آن در سمت چپ پنجره برنامه eclipse ، به صورت زیر نمایش داده می شود :
سه فایل مهم را در فولدربندی پروژه اندروید مشخص کردیم. به ترتیب، کدهای آنها را بررسی کرده و نقش هر کدام را شرح می دهیم.
فایل Activity1.java ، فایل مربوط به Activity اصلی پروژه اندروید است. اگر بر روی آن، با موس، دابل کلیک (دو بار کلیک) کنیم، کدهای مربوط به آن در پنجره برنامه eclipse نمایش داده می شود :
بنابراین برای فایل Activity1.java ، کدهای زیر را داریم :
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class Activity1 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity1);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity1, menu);
return true;
}
}
خوب اکنون بخش های مهم کدها را شرح می دهیم. ابتدا خط اول :
نام package تعریف شده برای پروژه اندروید می باشد.
بقیه کدها :
import android.app.Activity;
import android.view.Menu;
شاید در مقایسه با عکسی که نشان دادیم، بگویید که چرا یک خطی که با کلمه import شروع شده است، در اینجا تبدیل به سه خط شده. پاسخ این است که اگر در آن عکس دقت کنید، در کنار کلمه import ، یک علامت مثبت وجود دارد که با کلیک بر روی آن، دو خط دیگر که پنهان شده اند، نمایش داده می شوند.
در این سه خط از کدها، package های توسعه داده شده برای برنامه نویسی اندروید را وارد کرده ایم. در واقع چون از زبان java به عنوان زبان پایه استفاده شده است بنابراین یک سری package با زبان java برای برنامه نویسی اندروید نوشته شده است که ما در برنامه نویسی اندروید باید از آنها استفاده کنیم.
کلاس Activity1 که قبلا نام آن را تعیین کرده ایم را بر اساس توسعه دادن کلاس Activity می سازیم (کدهای آن را شروع می کنیم). در واقع کلاس Activity قبلا در package هایی که import کردیم، وجود دارد و ما کلاس های مورد نیاز خود را بر اساس توسعه آن، می سازیم. کدهای کلاس Activity1 که داریم آن را درون فایل Activity1.java تعریف می کنیم، در میان علامت شروع } و علامت پایانی { نوشته می شوند.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity1);
}
در کدهای بالا، به این بخش توجه کنید :
در کد بالا، اگر به درون پرانتز نگاه کنید، متوجه می شوید که یک مسیر تعریف شده است. ابتدا R نوشته شده که اشاره به فولدر منابع (Resource) دارد. این فولدر، با نام res در فولدربندی پروژه اندروید نمایش داده شده است. نام بعدی، layout می باشد که یک زیرشاخه برای فولدر res است. و در آخر نیز، نام activity_activity1 نوشته شده که نام فایل xml متناظر برای Activity1 می باشد. بنابراین مسیری به صورت زیر مشخص شده است :
بنابراین در فایل Activity1.java که در واقع داریم در آن یک activity با نام Activity1 می سازیم، به فایل activity_activity1.xml ارجاع داده ایم که فایل xml متناظر برای Activity1 خواهد بود. شکل زیر را ببینید :
بنابراین درون دستور setContentView ، به فایل xml متناظر activity ارجاع داده ایم. دستور setContentView باعث می شود که محتویات تعریف شده در فایل xml ، در صفحه مربوط به آن activity نمایش داده شود. یعنی اینکه محتویاتی که می خواهیم در صفحه مربوط به Activity1 نمایش داده شود را در فایل activity_activity1.xml تعریف می کنیم و سپس در فایل Activity1.java به این فایل xml ارجاع می دهیم.
خوب حالا می خواهیم نگاهی به کدهای فایل activity_activity1.xml بیندازیم. با دابل کلیک بر روی نام این فایل، صفحه ای به شکل زیر نمایش داده می شود :
همان طور که مشاهده می کنید، فایل activity_activity1.xml به صورت گرافیکی نمایش داده شده است. این نوع نمایش به ما کمک می کند تا به طور واضح ببینیم که فایل xml متناظر با هر activity ، صفحه متناظر با activity را به چه شکل می سازد (به کاربر نمایش می دهد). علاوه بر این، می توانیم که فایل activity_activity1.xml را به صورت کد نیز ببینیم، در شکل بالا، دو گزینه را با کادر قرمز نمایش داده ایم، بخش مربوط به آنها را بزرگتر نشان می دهیم :
همان طور که می بینید، دو نوع نمایش برای فایل xml وجود دارد که در شکل فوق، نوع Graphical Layout انتخاب شده است که باعث می شود فایل xml را به صورت گرافیکی مشاهده کنیم. حال اگر بر روی گزینه activity_activity1.xml کلیک کنیم، کدهای مربوط به این فایل xml نمایش داده خواهد شد :
بنابراین کدهای فایل activity_activity1.xml به صورت زیر می باشند :
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Activity1" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
فعلا تنها بخش زیر را توضیح می دهیم :
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
این کد باعث نمایش یک TextView در صفحه مربوط به activity می شود. TextView ، یک متن است که به کاربر نمایش داده می شود. کافی است که نگاهی به فایل activity_activity1.xml به صورت گرافیکی بیندازیم تا متن متناظر با آن را ببینیم :
مشاهده می کنید که عبارت Hello world! به صورت یک TextView ، نمایش داده شده است. دقت کنید که نمایش گرافیکی فایل xml را برای واضح تر دیده شدن، با کلیک کردن بر روی دکمه به شکل زیر، بزرگتر نمایش داده ایم :
به عبارت زیر در کدهایی که نمایش دادیم، دقت کنید :
این عبارت، مشخص کرده است که رشته ای (string) با نام hello_world در TextView نمایش داده شود. اما سوال این است که این رشته (string) با نام hello_world ، در کجا ذخیره شده است. برای یافتن پاسخ، شکل زیر را ببینید :
فایلی با نام strings.xml را با کادر قرمز و فلش، مشخص کرده ایم. برای یافتن این فایل، باید به فولدر منابع با نام res و سپس فولدر values برویم. بر روی فایل strings.xml ، با موس دابل کلیک (دو بار کلیک) می کنیم تا محتویات آن نمایش داده شود :
همان طور که مشاهده می کنید، این فایل xml نیز دارای دو نوع نمایش به صورت گرافیکی و به صورت کد می باشد که آن دو را با کادر قرمز رنگ در تصویر بالا، مشخص کرده ایم. در نمایش گرافیکی (گزینه resources) اگر بر روی نام رشته hello_world کلیک کنیم، مقادیر آن به صورت زیر نمایش داده می شود :
در قسمت Name ، نام رشته و در قسمت Value ، مقدار رشته (کاراکترهای به کار رفته در رشته) نوشته شده است.
اکنون بر روی گزینه strings.xml کلیک می کنیم تا کدهای این فایل xml نمایش داده شود (نمایش فایل به صورت کد) :
بنابراین کدهای فایل strings.xml به صورت زیر می باشد :
<resources>
<string name="app_name">Kelidestan</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
</resources>
به این بخش از کدها توجه کنید :
مشاهده می کنید که در این بخش از کدها، رشته hello_world و مقدار متناظر با آن، تعریف شده است.
کدهای فایل AndroidManifest.xml :
اکنون نگاهی به کدهای فایل AndroidManifest.xml می اندازیم. برای دیدن کدهای این فایل، بر روی آن، دابل کلیک کنید تا به صورت گرافیکی نمایش داده شود :
همان طور که در شکل بالا، با فلش های قرمز نشان داده ایم، اطلاعات مربوط به این فایل xml ، در 4 صفحه به صورت گرافیکی نمایش داده شده است که اگر بر روی گزینه هر کدام از آن 4 تا کلیک کنید، یک سری تنظیمات نمایش داده می شود که می توانید آنها را تغییر دهید. در کل، فایل AndroidManifest.xml ، یک سری اطلاعات کلی در مورد برنامه اندروید (پروژه اندروید) ساخته شده، ارائه می دهد.
با کلیک بر روی گزینه AndroidManifest.xml ، می توانیم کدهای این فایل xml را ببینیم :
بنابراین کدهای فایل AndroidManifest.xml به صورت زیر می باشد :
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.kelidestan"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.kelidestan.Activity1"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
با دیدن کدها، یک سری تنظیمات کلی برای برنامه اندروید ساخته شده، قابل تشخیص می باشد. اجازه بدهید بخشی از کدها را که مربوط به activity ها است، بررسی کنیم :
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.kelidestan.Activity1"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
درون زوج تگ application ، تگی با نام activity وجود دارد که همان activity اصلی برنامه اندروید ساخته شده می باشد. به این بخش از کدهای نوشته شده درون زوج تگ activity ، دقت کنید :
مشاهده می کنید که نام activity ، برابر com.example.kelidestan.Activity1 ذکر شده است، اما نام activity را ما قبلا برابر Activity1 انتخاب کردیم، پس چرا این نام ذکر شده. نکته مهم این است که برای ذکر نام activity ، قبل از آن، نام package ذکر می شود که ما قبلا نام package را برابر com.example.kelidestan انتخاب کرده بودیم. بنابراین در اینجا، برای اشاره به activity اصلی برنامه اندروید ساخته شده، نام com.example.kelidestan.Activity1 ذکر می شود.
چنانچه تعدادی activity دیگر در برنامه اندروید خود بسازیم، باید حتما به فایل AndroidManifest.xml آمده و پس از تگ پایانی </activity> ، آن activity ها را ذکر کنیم، وگرنه برنامه اندروید ساخته شده، به درستی عمل نمی کند.
- فهرست مباحث
- 1 مقدمه برای شروع برنامه نویسی اندروید
- 2 نصب Software Development Kit یا به اختصار SDK
- 3 نصب Android SDK platform
- 4 نصب یک نسخه انتخابی از اندروید
- 5 شبیه سازی برنامه های ساخته شده برای اندروید، توسط یک دستگاه مجازی (Virtual Device)
- 6 نصب برنامه Eclipse
- 7 نصب Android Developer Tools یا به اختصار ADT
- 8 ساخت یک پروژه اندروید
- 9 اجرای پروژه اندروید در برنامه eclipse
- 10 ساخت یک فایل APK از پروژه اندروید، در برنامه eclipse
- 11 معرفی نرم افزار YouWave Android برای شبیه سازی سریعتر برنامه های اندروید
- 12 مفهوم acitivity در برنامه نویسی اندروید
- 13 آشنایی با کدهای مربوط به فایل java برای یک activity ، فایل xml متناظر با آن activity و همچنین فایل AndroidManifest.xml
- 14 علامت های مربوط به خطا و هشدار، در برنامه eclipse
- 15 ساخت یک برنامه اندروید تشکیل شده از دو activity
- 16 ساخت آسان یک activity جدید، در برنامه eclipse
- 17 تغییر نام یک activity یا یک فایل xml از پروژه اندروید، در برنامه eclipse و تذکر در مورد عدم نگرانی از تغییر نام این دو نوع فایل
- 18 تفاوت بین دو حالت LinearLayout و RelativeLayout برای نمایش فایل xml متناظر با activity ها
- 19 وارد کردن (import) یک پروژه اندروید، به درون برنامه eclipse
- 20 شبیه سازی برنامه های اندروید (اجرای فایل های apk) بر روی کامپیوتر، با نرم افزار BlueStacks App Player
- 21 استفاده از ProGuard برای سخت تر شدن مهندسی معکوس (reverse engineering) و استخراج کدهای فایل apk برنامه اندروید
- 22 اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)
- 23 نوشتن پیام هایی برای نمایش در قسمت LogCat در برنامه Eclipse ، هنگام شبیه سازی برنامه اندروید توسط یک دستگاه مجازی (virtual device) یا هنگام اجرا و خطایابی برنامه اندروید بر روی یک گوشی اندروید واقعی، در برنامه نویسی اندروید
- 24 آموزش نصب و استفاده از نرم افزار Genymotion ، برای شبیه سازی برنامه های اندروید بر روی کامپیوتر
- 25 تفاوت بین نسخه اندروید (Android version) و API level و ذکر شماره های متناظر بین آنها
- 26 نصب نسخه های مختلف API از اندروید، در برنامه نویسی اندروید
- 27 تمام نکاتی که قبل از انتشار برنامه اندروید خود در فروشگاه های اندروید، باید به آنها توجه کنیم
-
نکته : این فهرست مباحث، صرفا منتخبی از کلیدهای آموزشی این موضوع است (که خواندن متوالی آنها توصیه می شود) و برای دیدن کلیدهای آموزشی بیشتر از این موضوع، می توانید بر روی دسته بندی های ستون سمت راست کلیک نمایید.
سلام واقعا خسته نباشید
خیلی اموزش های خوبی دارید
یه جورایی مثل فیلم اموزش با ادم حرف میزنه خخخخ
موفق و پیروز باشید