PDA

View Full Version : ساخت اولین پروژه برای اندروید



hesamy2004
یک شنبه 12 دی 1389, 20:40 عصر
در این مقاله قصد دارم تا شما را با نوشتن ایتدایی ترین برنامه آشنا کنم. در کنار آموزش ساخت پروژه به معرفی قسمت های مختلفی که در اکلیپس ساخته میشود خواهم پرداخت تا متوجه شویم هر قسمت چکاری انجام میدهد. این پروژه از این نظر که تمام قسمت های مختلف را توضیح میدهد، مهم میباشد و کار را برای پروژه های بعدی راحتتر میکند. بدیهی است در این مقاله خیلی کلی راجع به قسمت های مختلف توضیح داده خواهد شد و برای توضیحات بیشتر لطفاً به کتابهای آموزش برنامه نویسی اندروید مراجعه کنید.

اگر تاکنون مقاله های “شروع کار برای برنامه نویسی اندروید (http://www.kamalan.com/?p=295#more-295)” و “تنظیم ماشین مجازی اندروید (AVD) (http://www.kamalan.com/?p=324#more-324)” و “بررسی چند واژه مهم اندروید (http://www.kamalan.com/?p=355)” را مطالعه نکرده اید، لطفاً این مقاله را بخوانید. همچنین درصورتیکه SDK اندروید را ندارید لطفاً آنرا از صفحه “دانلود اندروید SDK 2.3” دانلود کنید.

حالا که همه چیز آماده است لطفاً برنامه اکلیپس خود را اجرا کنید، با رفتن به File>New>Project یک پنجره باز میشود، در فولدر Android بر روی Android Project کلیک کنید (در حالت انتخاب قرار میگیرد)، و سپس بر روی دکمه Next کلیک کنید. پنجره جدیدی با نام New Android Project نشان داده میشود. تنظیمات اولیه پروژه در این پنجره انجام میشود.
http://www.kamalan.com/wp-content/uploads/2011/01/Eclipse_Android_01-523x1024.jpg
۱) برای نمونه در قسمت Project Name (اولین فیلد) نام MyNewProject را وارد کنید.

۲) در قسمت Build Target معلوم میکنیم برای کدام ورژن از اندروید میخواهیم برنامه بنویسیم. در مربع کنار Android 2.3 تیک بزنید.

۳) در قسمت Application Name نام پروژه را مجدد وارد کنید (MyNewProject).

4) در قسمت Package Name نام پکیج مورد نظرتان را وارد کنید. بعنوان نمونه com.kamalan.MyNewProject . نام پکیج از این نظر بسیار مهم است که شما میتوانید در برنامه های مختلفی که در این پکیج مینویسید به همدیگر دسترسی داشته باشید. دقت کنید برای بار اول نام پکیجی را برای خودتان بسازید که دیگر نیاز به عوض کردن نداشته باشد. اندروید به این نام بسیار حساس است و اگر دو برنامه دو نام پکیج مختلف داشته باشند، بهم دیگر دسترسی نخواهند داشت، مگر در حالت Content Provider که انشالله بعداً مفصل راجع به آن بحث خواهد شد.

۵) در قسمت Create Activity هم نام پروژه را وارد کنید (MyNewProject).

6) عدد ۳ را در Min SDK Version وارد کنید. عدد ۳ معرف حداقل سطح APIی است که برنامه شما میتواند بر روی آن اجرا شود. اگر فرضاً شما عدد ۸ را وارد کنید به اندروید میگویید که برنامه فقط قابل اجرا بر روی سیستم عاملهایی است که حداقل API Leve 8 باشند. بنابراین برنامه شما بر روی سیستم عاملهای پایینتر (در این حالت خاص گوشی های قدیمی) قابل اجرا نخواهد بود.

در پایان بر روی دکمه Finish کلیک کنید.
http://www.kamalan.com/wp-content/uploads/2011/01/Eclipse_Android_02-523x1024.jpg
حال مجدداً به برنامه Eclipse وارد میشوید و نام پروژه خود را در پنل Package Workspace به همراه کلی فایل دیگه مشاهده خواهید کرد. و حالا توضیح کلی این فایلها.
http://www.kamalan.com/wp-content/uploads/2011/01/Eclipse_Android_03.jpg
۱) در قسمت src لیست تمام کلاسها و اکتیویتی هایی که تاکنون ساخته اید، نمایش داده خواهد شد.

۲) در این قسمت فایلی با نام R.java وجود دارد که بسیار مهم می باشد. در این فایل شماره هگزادسیمالی ۳۲ بیتی به هر نام و فایلی که قرار است در برنامه استفاده شود، بطور خودکار اختصاص داده خواهد شد. لطفاً این فایل را دست کاری نکنید. در اکلیپس با وارد کردن هر فایل (مثلاً یک عکس) یا نام یک رشته (String) یک آدرس هگز در این فایل ایجاد میشود. در نت بینز تا بر روی کامپایل کلیک نکنید، آدرسی اختصاص داده نمیشود.

۳) با این قسمت کاری نداریم. در این قسمت سورس تمام کتابخانه های موجود در اندروید قرار گرفته است.

۴) در فولدر assets میتوانیم فایلهای صوتی و تصویری را ذخیره کنیم تا در برنامه از آنها استفاده کنیم.

نکته: مدریت فایل بر روی این فولدر انجام نخواهد شد. بدین معنی که انروید به این فایلها آدرسی در R.java اختصاص نخواهد داد. و همچنین تصاویری که در این فولدر قرار میگیرند بدون هیچ دستکاری در برنامه مورد استفاده قرار میگیرند. توضیح بیشتر اینکه مدریت فایل برای کم کردن حجم برنامه تصاویری که در فولدر res قرار دارند را فشرده خواهد کرد بنابراین محتوای عکس (از نظر کیفیت) تغییر خواهد کرد ولی تصاویری که در فولدر assets قرار میگیرند بدون دستکاری باقی خواهند ماند.

۵) در این فولدر نیز مانند فولدر assets میتوانیم فایلهای صوتی و تصویری را قرار دهیم. به هر فایلی که در این فولدر قرار گیرد آدرسی خاص در R.java اختصاص داده خواهد شد.

سه فولدر drawable ملاحظه میکنید که برای ذخیره تصاویر مانند آیکون در سایزهای مختلف است. برای اطلاعات بیشتر راجع به استانداردی که اندروید قرار داده است (البته اجباری نیست!) به صفحه “Icon Design” مراجعه کنید.

فولدر بعدی layout نام دارد. در این فولدر ظاهر گرافیکی تمام صفحات را در فرمت XML تعریف میکنیم. البته در برنامه هم بصورت برنامه نویسی میشود این کار را انجام داد ولی حسن بزرگ اینکار این است که با جدا کردن طراحی ظاهر گرافیکی از قسمت برنامه، باعث کاهش پیچیدگی های برنامه نویسی خواهد شد.

در فولدر آخر values باز هم فایلهای xml قرار میگیرد. این فایلها به تعریف نام های مختلف مانند نام برنامه، رنگ، اندازه فونت و … پرداخته میشود.

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

src>MyNewProject.java فایل اصلی یا بهتر بگویم اولین اکتیویتی است (اگر راجع به اکتیویتی چیزی نمیدانید به اینجا مراجعه کنید). با اجرای برنامه این فایل اجرا میشود. اگر این اکتیویتی را باز کنید، سورس برنامه را مشاهده خواهید کرد. در خط اول پکیج برنامه معرفی شده است (همان پکیجی که قبلاً معرفی کرده بودیم). سپس کلاسهای مختلفی که در برنامه مورد نیاز بوده است به برنامه import شده است. حالا به کلاس برنامه میرسیم که از کلاس Activity ارث برده است و شامل یک تابع با نام onCreate است. در مورد این تابع مفصل در مقاله ای که راجع به چرخه حیات برنامه (Application life cycle) اندروید است، صحبت خواهیم کرد.

setContentView(R.layout.main); وقتی برنامه به این خط میرسد، نوبت به اجرای گرافیک صفحه است که در layout>main.xml تعریف شده است. همانطور که گفتیم وقتی فایلی در فولدر res ایجاد میشود، مدیریت منابع آدرسی خاص به آن اختصاص میدهد. برای دسترسی به آدرس (بطور خاص در اینجا main) از R.layout.main استفاده شده است.

در قسمت res>layout>main.xml طرح گرافیکی صفحه نشان داده شده است. LinearLayout یکی از چهار حالت گرافیکی است که برای طراحی صفحه بکار گرفته شده است (بعداً در یک مقاله مفصل راجع به انواع layout ها صحبت خواهم کرد). در طراحی خطی هر المان بصری (مانند TextBox, EditBox در دلفی و ویژوال #C) در یک سطر قرار میگیرد. در این برنامه فقط یک TextView داریم که محتوای متنی که باید نشان دهد در res>values>strings.xml قرار گرفته است.

برای دیدن نتیجه برنامه بر روی ایمولاتور ابتدا باید AVD را راه اندازی کرد (اگر نمیدانید AVD چیست این مقاله را مطالعه کنید). برای اینکار در اکلیپس بر روی Window>Android SDK and AVD Mamager کلیک کنید. در پنجره ای که باز میشود یکی از ایمولاتورهایی را که ساخته اید، Start کنید.
http://www.kamalan.com/wp-content/uploads/2011/01/Eclipse_Android_04.jpg
بعد از چند ثانیه ایمولاتور بوت میشود و بالا می آید. حال در محیط اکلیپس دکمه را Run بزنید (میتوانید در قسمت Project Workspace بر روی نام پروژه خود راست کلیک کنید و از پنجره باز شده Run As>1 Android Application را کلیک کنید). حال میتوانید برنامه خود را بر روی ایمولاتور مشاهده کنید.
http://www.kamalan.com/wp-content/uploads/2011/01/Eclipse_Android_05.jpg
انشالله این آموزش مورد پسند و رضایتتان قرار گرفته باشد. لطفاً از طریق بخش کامنت نظرات خود را راجع به این مقاله با من مطرح کنید تا متوجه نقاط ضعف و قوت این نوع مقالات باشم و یتوانم مطالب با کیفیت بالاتری در آینده ارائه دهم. با تشکر

asif1358
چهارشنبه 06 بهمن 1389, 00:31 صبح
دست مریزاد!
ممنون اگر ادامه بدید

eli_68
شنبه 07 خرداد 1390, 14:37 عصر
دستتون درد نکنه خیلی عالی بود ولی ای کاش ادامه بدید من تا همین جا پیش رفتم ولی برای ادامه مشکل دارم.مثلا برای این که یه EditTexe بذارم نمیدونم چی وکجا باید بنویسم. اگه میشه من رو راهنمایی کنید. یادگیری آندروید برای من خیلی ضرورت داره.ممنون .:افسرده:

hesamy2004
یک شنبه 08 خرداد 1390, 20:32 عصر
ممنون از نظراتتون asif1358 جان و eli_68 جان،

راستش مطالب خیلی گسترده تر از اون چیزیه که بشه توی فروم آموزش داد. حتماً باید برای یادگیری کتاب بخوانید و در فروم به مسائل و مشکلات پرداخته شود. به هر حال من کتاب "Android Wireless Application Development" رو بهتون پیشنهاد میکنم چون واقعاً عالیه. به غیر از آموزش برنامه نویسی به نکات مهمتری نیز مانند نحوه و روند طراحی برنامه و برنامه نویسی پرداخته است. البته فکر میکنم ویرایش دوم کتاب هم منتشر شده است. برای اطلاعات بیشتر راجع به این کتاب و کتاب های مشابه لینک زیر را ببینید:

http://my.safaribooksonline.com/book/programming/android/9780321619686

sheyda sadat
یک شنبه 15 خرداد 1390, 16:38 عصر
خاهش می کنم ادامه بدید