تماشای برخط [لینک مستقیم] فیلم آموزشی «قالب» ( لینک دانلود در ادامه مطلب )
زیر نویس انگلیسی [English Subtitle] ( لینک دانلود در ادامه مطلب )
دریافت نسخهی pdf این آموزش [1.61 مگابایت] ( لینک دانلود در ادامه مطلب )
تو آموزش قبل با سبکهای نمایش آشنا شدیم، قالب هم یه چیزی تو همون مایههاست، تفاوتش اینه که قالب به کل یه فعالیت (activity) یا کل یه پروژه اعمال میشه ولی سبکنمایش فقط به یه شی اعمال میشه.
۱. یه پروژه جدید بسازید و فایل activity_main.xml (در زیرشاخه res->layout) رو باز کنید، (اگر همین الان پروژه رو ساختید خودش این فایل رو براتون باز می کنه). از ستون سمت چپ چند تا شی بندازید تو صفحه (تا وقتی قالب رو عوض میکنید متوجه تغییرات بشید). اندروید خودش به صورت پیشفرض، یک عالمه قالب مختلف برای صفحات فعالیت و پروژه داره، از منوی بالا اونجا که نوشته app theme کلیک کنید، یه فهرست براتون باز میشه که قالبها رو دستهبندی کرده، میتونید هر کدوم از قالبها رو امتحان کنید و تاثیرش رو روی صفحهتون ببینید.
مثلا از گزینه Theme، قالب Theme.Translucent رو انتخاب کنید، در این حالت شما هیچ پسزمینهای ندارید و همه اشیائی که در صفحه میگذارید روی پسزمینه خود گوشی نمایش داده میشه (یا هرچیزی که قبلش اجرا شده باشه)
حالا Theme.Dialog رو انتخاب کنید. این قالب همونطور که از اسمش پیداست، مربوط به محاوره است، مثلا دیدید تو بعضی برنامهها وقتی میخواید از برنامه خارج بشید یه صفحه کوچکتر یهو وا میشه میپرسه «آیا واقعا میخواید خارج بشید؟»، در اون مواقع از این قالب استفاده شده.
۲. اگر قالبی رو همونطور که تو مرحلهی قبل گفته شد انتخاب کنید، در واقع به برنامهی شما اعمال نمیشه، برای اینکه قالب برنامهتون رو تغییر بدید باید AndroidManifest.xml رو باز کنید و به زبانه Application برید. جایی که نوشته Theme جلوش دکمه Browse رو بزنید و بعد هم از بالاش دکمه System Resources و قالب مورد نظرتونو انتخاب کنید.
میتونید همین کارو از قسمت ویرایش متنی انجام بدید، اونجایی که برچسب application وجود داره، یه خط هست که نوشته android:Theme که مساوی قالبی که مدنظرتون هست قرار بدید.
توجه دارید که میشه فقط قالب یه فعالیت (activity) رو تغییر بدید که مشابه همین کارو (در قسمت ویرایش متنی) برای داخل برچسب اون فعالیت انجام میدید.
حالا برنامه رو تو شبیه ..............................................
موضوعات مرتبط: قالب (Theme) ، ،
برچسبها:
تماشای برخط [لینک مستقیم] فیلم آموزشی «سبکهای نمایش» ( لینک دانلود در ادامه مطلب )
زیر نویس انگلیسی [English Subtitle] ( لینک دانلود در ادامه مطلب )
دریافت نسخهی pdf این آموزش [1.15 مگابایت] ( لینک دانلود در ادامه مطلب )
سبک نمایش پیشفرض اندروید، ممکنه قشنگ به نظر برسه اما خیلی ها دوست دارن که خودشون تعیین کنن که هر چیزی چطور نمایش داده بشه، منظورم ابعاد و رنگ و خیلی ویژگیهای ظاهری دیگه است. میخوایم تو این آموزش یاد بگیریم چطور یه سبک نمایش بسازیم و در قسمتهای مختلف ازش استفاده کنیم.
۱.برای شروع یه پروژه جدید بسازید و فایل activity_main.xml (در زیرشاخه res->layout) رو باز کنید، (اگر همین الان پروژه رو ساختید خودش این فایل رو براتون باز می کنه) روی متن Hello world کلیک کنید، حالا میخوایم یه سری از ویژگیهاشو تغییر بدیم، مثلا اندازهاش، فونتاش و رنگش. من این تغییرات رو دادم: رنگ f00 اندازه 25sp فونت serif و text style: bold
۲.حالا میخوایم یاد بگیریم که چطور همین ویژگیها رو دوباره روی یه متن دیگه اعمال کنیم بدون اینکه ریزه کاری ها رو دوباره انجام بدیم. یعنی یه سبک با همین مشخصات می سازیم و روی هر متنی که خواستیم اون سبک رو اعمال میکنیم تا همین تغییرات روش اعمال بشه. این کار به درد زمانی میخوره که شما می خواید مثلا تمام دکمههاتون یه رنگ و شکل و اندازه خاص داشته باشن و وقتی پروژه بزرگ باشه اعمال کردن همه تغییرات به صورت تک به تک واقعا زمانبره و درست کردن یه سبک کلی، خیلی کمک میکنه.
برای ساختن یه سبک نمایش، فایل styles.xml (زیر شاخه res->values) رو باز کنید. قسمت متنی رو از روی زبانهی پایین انتخاب کنید.
۳.همون طور که میبینید قبلا دوتا سبک نمایش (style) تو این فایل تعریف شده، حالا ما هم میخوایم یکی دیگه تعریف کنیم، هر سبک نمایش اول احتیاج به یه اسم داره، مثلا من میذارم ekhtar، بعد هم باید از یک نوع سبک نمایش ارثبری کنیم، چون در غیر اینصورت باید تمامی ویژگی های اون سبک رو تعریف و مقداردهی کنیم که عملا کار عقلانی نیست چون هر شیای هزاران ویژگی داره که ممکنه ما فقط بخوایم یه موردشو تغییر بدیم. از اونجایی که الان میخوایم سبک نمایش متن رو گسترش بدیم بهتره به عنوان والد (parent) از ظاهرمتن ...........................................
موضوعات مرتبط: سبکهای نمایش (styles) ، ،
برچسبها:
تماشای برخط [لینک مستقیم] فیلم آموزشی «فهرستهای سفارشی» ( لینک دانلود در ادامه مطلب )
زیر نویس انگلیسی [English Subtitle] ( لینک دانلود در ادامه مطلب )
دریافت نسخهی pdf این آموزش [757 کیلوبایت] ( لینک دانلود در ادامه مطلب )
تو آموزش قبلی یاد گرفتیم که چطور یک فهرست ساده درست کنیم. حالا میخوایم یاد بگیریم که چطور اون فهرست رو سفارشی کنیم و ازحالت سادگی درش بیاریم.
۱.مثل آموزش قبل یه پروژه با یک فهرست ساده بسازید در ادامه میخوایم برای هر ردیف از فهرستمون یه عکس نشان اون دانشگاه رو هم کنار اسمش بندازیم. پس اول از همه تصاویر مورد نظر رو به پروژه مون در زیرشاخه res و پوشه drawable-hdpi اضافه میکنیم، فایل عکسهایی که من استفاده کردم رو میتونید از اینجا دانلود کنید. وارد کردنش به پروژه هم کار آسونیه، هرجایی که عکسهاتون هست کپی کنید و بعد روی پوشه drawable-hdpi راست کلیک کنید و paste.
۲.اولین کاری که باید بکنیم اینه که یه طرحبندی برای هر ردیف از فهرست درست کنیم. تا با توجه به اون اندروید اطلاعتمون رو در هر ردیف بدونه چطور نمایش بده. پس احتیاج داریم تا یه فایل xml برای طرحبندیمون بسازیم. روی فولدر layout (در res) راست کلیک کنید. گزینه New و other رو انتخاب کنید. (این تصویر) بعد هم از زیرشاخه Android گزینه Android XML Layout File رو انتخاب کنید و براش اسم بذارید من اسمشو میذارم redife_fehrest.
۳. خوب اولین چیزی که هر ردیف میخوایم داشته باشه یه تصویره، پس یه نمایتصویر (imageView) در فایل تازه ساخته شدمون میذاریم. نمایتصویر رو میتونید از ستون سمت چپ از بخش Images & Media بکشید و روی صفحه رها کنید. همین که رهاش میکنید یه پنجره باز میشه که ازتون میخواد منبع عکس رو مشخص کنید، و اگه به درستی تصاویرتون رو وارد کرده باشید، میبینیدشون.
۴.هر ردیف قراره یه متن داشته باشه که نام دانشگاه درش نوشته بشه، پس یه نمایمتنی (TextView) هم وارد صفحه میکنیم و کنار نمایتصویر میذاریم. الان تصویرمون در کنار متن اینطوریه که به نظر خیلی مطلوب نمییاد
میتونیم یه کم ویژگیهای متن رو تغییر بدیم، مثه اندازه، فاصله از بالای صفحه و سمت راستش و ...
۵.به فایل MainActivity.java (در src) میریم. در آموزش قبل یک آرایهیوفقدهنده درست کرده بودیم:
setListAdapter (newArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getResources ().getStringArray(R.array.daneshgah)));
حالا باید برای این فهرست سفارشیمون خودمون کلاس وفقدهنده (Adapter) بسازیم. پس ........................................................
موضوعات مرتبط: فهرستهای سفارشی (Customized Lists) ، ،
برچسبها:
تماشای برخط [لینک مستقیم] فیلم آموزشی «فهرستها» ( لینک دانلود در ادامه مطلب )
زیر نویس انگلیسی [English Subtitle] ( لینک دانلود در ادامه مطلب )
دریافت نسخهی pdf این آموزش [719 کیلوبایت] ( لینک دانلود در ادامه مطلب )
یکی از مواردی که تو خیلی از برنامه می بینید فهرست هست. فهرست در واقع جایی به کار میره که شما میخواید از بین یه سری گزینه تو فهرست یکی رو انتخاب کنید مثه انتخاب نام کشور خودتون در بین همه کشورها یا اینکه یه سری اطلاعات رو قراره تو قالب یک فهرست مشاهده کنین.
۱.خوب برای شروع یه پروژه اندروید بسازید. (تصویر متحرک ساختن پروژه) و در فولدر res روی فولدر values راست کلیک کنید و New بعد هم Other.
حالا از زیرساخه Android روی Android XML Values Files کلیک کنید و یه اسمی براش بذارید. من اسمشو میذارم daneshgah.
۲.فایلی که ساختید براتون باز میشه، روی زبانهی daneshgah.xml کلیک کنید تا خود فایل رو براتون باز کنه و این آرایهی رشتهها رو توش وارد کنید. ما قراره این ............................
موضوعات مرتبط: فهرستها (Lists) ، ،
برچسبها:
تماشای برخط [لینک مستقیم] فیلم آموزشی «دکمه» ( لینک دانلود در ادمه مطلب )
زیر نویس انگلیسی [English Subtitle] ( لینک دانلود در ادمه مطلب )
دریافت نسخهی pdf این آموزش [325 کیلوبایت] ( لینک دانلود در ادمه مطلب )
تا اینجا هرجا خواستیم از دکمه استفاده کنیم، از همون نوع سنتی و سادهاش استفاده کردیم، حالا میخوایم یاد بگیریم چطور از انواع دیگهی دکمه استفاده کنیم.
۱. اول یه پروژهی اندروید بسازید. (تصویر متحرک ساختن پروژه) بعد میتونیم در فایل activity_main.xml (در res->layout) از قسمت Palette انواع مختلف دکمهها رو امتحان کنیم، الان اونی که روش نوشته off رو بکشید و روی صفحه بندازید.
، این نوع دکمه برای خاموش روشن کردن تنظیمات دلخواه به کار می ره و این طوریه
شما میتونید به راحتی ظاهرش رو تغییر بدید و مناسب برنامهتون بکنید و میبینید که چقدر کار رو ساده کرده.
از انواع دیگهی دکمه، دکمهی رادیویی (radio) و دکمهی علامتصحیح (checkbox) هستند که میتونید از تو ............................
موضوعات مرتبط: دکمهها ، ،
برچسبها:
تماشای برخط [لینک مستقیم] فیلم آموزشی «واحدها» ( لینک دانلود در ادامه مطلب )
زیر نویس انگلیسی [English Subtitle] ( لینک دانلود در ادامه مطلب )
دریافت نسخهی pdf این آموزش [641 کیلوبایت] ( لینک دانلود در ادامه مطلب )
خوب تا الان به طور پیش فرض از صفحهبندی نسبی (RelativeLayout) برای واسط کاربری پروژههامون استفاده میکردیم. حالا میخوایم با انواع صفحهبندی آشنا بشیم.
۱.یه پروژه جدید در ایکلیپس بسازید و از فولدر res به زیر شاخه layout برید و activity_main.xml رو باز کنید. وقتی از منوی پایین روی activity_main.xml کلیک میکنیم و به کد مربوط به این فایل میریم، میبینیم که در اولین خط نوع صفحهبندی تعیین شده.
۲.صفحهبندی نسبی که به طور پیشفرض برای تمام پروژههای اندروید قرار داره، بگونهای که ما میتونیم، نسبت به دیوارههای اطراف یا اشیائی که در صفحه قرار دارند، اشیا جدید رو قرار بدیم، الان همون متنی که تو صفحه هست رو حذف کنید و مثلا یه دکمه میخوایم به صفحه اضافه کنیم، وقتی دکمه رو از منوی سمت چپ میکشیم، هرجایی در صفحه که بخوایم قرارش بدیم، به طور نسبی مشخص میکنه اون دکمه چه وضعیتی با دیوارههای اطراف داره، و بعد اون رو جایی که به نظرمون مناسبه رها میکنیم. (مثلا ۹۰ dp از بالا و ۹۰ dp از چپ فاصله داشته باشه) حتی وقتی دکمه رو روی صفحه رها میکنیم، هنوز برامون مشخص میکنه که اندازههای ما نسبت به دیوارههای سمت چپ و بالاست (با دو تا فلش سبز رنگ)
۳.حالا بیاید یه RadioButton رو به صفحه اضافه کنیم، میتونیم طوری تنظیمش کنیم که نسبت اون رو با دکمهای که قبلا اضافه کرده بودیم بسنجیم و قرارش بدیم. الان دکمهی قبلی و این radioButton به عنوان یک مجموعه در نظر گرفته میشن، چون جای قرار گرفتنشون نسبت به هم سنجیده شده، حالا اگه جای دکمهی اولی رو تغییر بدیم، radioButton هم به تبعیت از اون تغییر می کنه. (همین طور اگه radioButton.........................
موضوعات مرتبط: صفحهبندی (layout) ، ،
برچسبها:
تماشای برخط [لینک مستقیم] فیلم آموزشی «واحدها» ( لینک دانلود در ادامه مطلب )
زیر نویس انگلیسی [English Subtitle] ( لینک دانلود در ادامه مطلب )
دریافت نسخهی pdf این آموزش [352 کیلوبایت] ( لینک دانلود در ادامه مطلب )
وقتی که برای اندازههای مختلف صفحه می خوایم برنامه درست کنیم، اولین چیزی که لازمه بدونیم واحدهای اندازهگیری در اندرویده، تا بتونیم طوری برنامه رو توسعه بدیم که تو اندازه صفحههای مختلف به درستی نمایش داده بشه.
۱.خوب برای اینکه بهتر متوجه بشیم، یه پروژه جدید در ایکلیپس میسازیم.
از فولدر res زیر شاخه layout و activity_main.xml رو باز میکنیم و محیط گرافیکی اون برامون باز میشه. به طور پیشفرض صفحهبندی نسبی (RelativeLayout) برای همه پروژهها در نظر گرفته شده. حالا اگه روی activity_main.xml کلیک کنیم می بینیم که در اولین خط نوشته RelativeLayout یعنی نوع صفحه بندی نسبی است.
۲.حداقل تنظیماتی که هر شی در اندروید نیاز داره، ارتفاع و عرض در صفحهبندیه. مثلا در قسمت صفحهبندی نسبی نوشته :
یعنی عرض و ارتفاع صفحه بندی به صورتی باشه که تمام فضای والد خودش رو پر کنه (fill_parent) یعنی تمام صفحه رو بپوشونه.
حالا میتونیم به قسمت گرافیکی activity_main.xml بریم و اون متن رو حذف کنیم و از منوی سمت چپ یه دکمه روی صفحه بکشیم و رها کنیم. وقتی به قسمت کد activity_main.xml میریم میبینیم که اون هم برای خودش ارتفاع و عرض داره که با عبارت «wrap_content» پر شده، به این معنی که فقط به همون اندازه که نیاز داره، فضا اشغال میکنه.
android:layout_width="wrap_content" android:layout_height="wrap_content"
۳.برای دیدن مشخصات دکمهای که ایجاد کردیم، از منوی سمت راست properties رو انتخاب میکنیم (اگه منوی properties رو ندارید، از منوی بالای ایکلیپس روی window بعد show view و other کلیک کنید و در زیرشاخه General گزینه properties رو انتخاب کنید تا براتون پنجره اش باز بشه و اگه دلتون بخواد میتونید اونو در سمت راست بذارید) این منو به ما اجازه میده مشخصات هر چیزی که در قسمت گرافیکی انتخاب کردیم رو تغییر بدیم. الان میتونید رو دکمهای که تو شکل مشخص کردم (پر کردن ارتفاع: toggle fill height) کلیک کنید تا بینید که در قسمت توضیحات درباره ارتفاع دکمه نوشته شده : match_parent به این معنی که طول اون شی رو انقدر اضافه میکنه تا به اندازه ........................................
موضوعات مرتبط: واحدهای اندازهگیری ، ،
برچسبها:
تماشای برخط [لینک مستقیم] فیلم آموزشی «اشکال زدایی برنامه» ( لینک دانلود در ادامه مطلب )
زیر نویس انگلیسی [English Subtitle] ( لینک دانلود در ادامه مطلب )
دریافت نسخهی pdf این آموزش [1.89 مگابایت] ( لینک دانلود در ادامه مطلب )
تابحال تو دو تا از پست ها بهتون نشون داده شده که چجوری از DDMS برای مشاهده واقعی گزارشات ثبت شده (log) مربوط به برنامه که ناشی از دستگاهتون یا شبیهسازتونه، استفاده کنید. این کار بهتون کمک میکنه که بتونید خطاهای برنامهتونو رفع کنید یا فقط ببینید چه اتفاقی داره در حال اجرا مییفته.
در این مطلب میخوایم یه مقدار بیشتر به روشهای خطایابی های قدیمی بپردازیم.
1. اول یه پروژه جدید ایجاد کنید.
2. میریم سراغ فولدر res بعد layout ، فایل activity_main.xml رو باز میکنیم، از قسمت pallette یه TextViewو Button و EditText میکشیم میاریم رو صفحه. البته TextView معمولا به صورت پیش فرض هست(همون HelloWord).
و برنامه رو ذخیره میکنیم.
3. حالا اگر بخوایم برنامه مونو اشکال زدایی کنیم، باید یه چیزی به manifest اضافه کنیم که اجازه این کارو بهمون بده.
پس فایل Androidmanifest.xml رو باز میکنیم و رو زبانه Application کلیک میکنیم.
میتونیم مشخصهی debuggable رو همون بالا ببینیم. اگر بخوایم برنامهمونو به اشکال زدای ایکلیپس متصل کنیم، باید این مشخصه رو فعال(true) کنیم.
۴. میخوایم تو فایل جاوای برنامه مون اعلام کنیم که در صورت فشردن دکمه چیکار کنه. پس با این کد یه نمونه از دکمه میسازیم و به دکمهای که قبلا رو صفحه گذاشته بودیم متصل میکنیم.
Button dokme =(Button)findViewById(R.id.button1);
و بعد تابعی که قراره موقع کلیک دکمه صدا زده بشه رو میسازیم.
dokme.setOnClickListener(newOnClickListener(){@Overridepublicvoid onClick(View v){// TODO Auto-generated method stub }});
۵. روی DDMS کلیک کنید و LogCat رو ببینید. البته بدون رفتن تو DDMS هم میتونید LogCat رو ببینید، از منوی که پایین ایکلیپس قرار داره میتونید پیداش کنید. LogCat در واقع هر چیزی رو که تو دستگاه اندروید در حال وقوعه، گزارش میکنه. پس به ازای هر ضربه ای که به صفحه ی دستگاهتون میزنید، اگر کار خاصی انجام بدید، شروع میکنه به ساختن اطلاعات گزارشی. ولی ما میتونیم اطلاعاتی رو که خودمون درباره برنامهمون میخوایم هم اونجا قرار بدیم.
۶. پس به فایل جاوا برمیگردیم. اینجا از کلاس Log که تو بسته ی android.util هست، استفاده میکنیم.
تو این کلاس چندتا تابع وجود داره که میتونیم ازشون برای تهیه گزارش از هرچیزی تو LogCat استفاده کنیم. مثلا تابع d یه پیغام اشکال زدایی ارسال میکنه و ورودیهاش یه برچسب(tag) و یه پیغام(msg) هست. البته اگر بخوایم یه استثنایی رو هم گزارش کنیم، میتونیم یه شیء throwable رو به عنوان ورودی بهش بدیم.
همچنین تابع e رو داریم که برای گزارش استثناء بکار میره، تابع i یه پیغام اطلاعاتی و تابع v پیغام طولانی رو گزارش میکنه. w هم برای اخطاره. و اما جالب ترین چیزی که اینجا وجود داره، wtf هستش که مخفف اینه: What a Terrible Failure یعنی چه خرابی وحشتناکی و بیانگر چیزیه که انتظار نداشتیم تو سیستم اتفاق بیفته.
حالا ما میخوایم از تابع d استفاده کنیم. تو قسمت tag هر چیزی میتونه باشه، فقط باید یه جوری باشه که بتونیم از بین گزارشای دیگه توی LogCat تشخیصش بدیم. من اینجا با حروف بزرگ، سه بار مینویسم A. به عنوان پیغام هم اعلام میکنم که دکمه کلیک شده.
publicvoid onClick(View v){// TODO Auto-generated method stubLog.d("AAA","dokme feshorde shode");}
7. کاری که من میخوام انجام بدم اینه که یه نقطه توقف (break point) به قطعه کد بالا اضافه کنم، بطوریکه اجرای برنامه رو تو اون نقطه متوقف کنه و به ما اجازه اشکال زدایی (debug) بده. به ستونی که سمت چپ کدتون هست توجه کنید. روی اون ستون، دقیقا روبروی خط سوم، دوبار کلیک کنید تا یه break point ایجاد بشه. مطمئنا هر کدوم از شما که قبلا کدش رو دیباگ کرده، این کارو انجام داده.
و بعد اون علامت دیباگ بالای صفحه رو میزنیم.
و گزینه اول، یعنی Android Application رو انتخاب میکنیم.
۸. تو شبیهساز اول یه پیغام نشون میده مبنی بر اینکه منتظر اشکال زدا (Debugger) بوده.
در واقع منتظر اشکال زدای ایکلیپس بوده که به برنامهمون متصل شه. یه کمی صبر کنید متصل میشه.
وقتی رو دکمه ای که ساختیم کلیک کنیم، میبینیم که خودش ما رو میبره به قسمت debug توی ایکلیپس.
البته بسته به اینکه قبلا رو ایکلیپس چه کارایی انجام دادید، ممکنه یه پیغام نشون بده و ازتون بپرسه که آیا میخواید به قسمت اشکال زدا (debug) برید یا نه؟ که فقط کافیه بله رو بزنید.
۹. اگه یه نگاهی به logcat بندازید، متوجه میشید که پیغاممون رو گزارش نکرده. به خاطر اینکه برنامه مون رو تو اون نقطه متوقف کرده. پس رو علامت ادامه کلیک میکنیم تا اجرا ادامه پیدا کنه و اینجاست که میبینید پیغاممون گزارش میشه.
ستون Tag تو LogCat در واقع نشون دهندهی اینه که کدوم فرایند، یا کدوم برنامه این پیغام رو ارسال کرده.
۱۰. یه چیز دیگه که باید درمورد LogCat بهش توجه کنیم، اینه که مقدار عظیمی از اطلاعات رو، درمورد هر اتفاقی که تو دستگاه میافته، گزارش میکنه. ولی اگه بخوایم که فقط اطلاعات مربوط برنامه مون گزارش بشه چی؟
کاری که باید انجام بدیم اینه که یه فیلتر تنظیم کنیم. پس روی علامت که اون بالاست، کلیک میکنیم. و من اسم فیلترمو میذارم A و بهش میگم اون گزارش هایی رو نشون بده که با برچسب AAA علامت گذاری شدن.
و بعد مشاهده میکنید
.....................................................
موضوعات مرتبط: اشکال زدایی (debug) برنامه ، ،
برچسبها:
تماشای برخط [لینک مستقیم] فیلم آموزشی «درک امنیت و اجازهها» ( لینک دانلود در ادامه مطلب )
زیر نویس انگلیسی [English Subtitle] ( لینک دانلود در ادامه مطلب )
دریافت نسخه pdf این آموزش [حجم ۶۶۱ کیلوبایت] ( لینک دانلود در ادامه مطلب )
ممکنه تا بحال موقع دانلود و نصب یه برنامه اندرویدی توی گوشیتون، به یه همچین پیغامی برخورده باشید که بهتون میگه این برنامه کاربردی که دارید نصب میکنید، به فلان مجوز نیاز داره. مثلا ممکنه بخواد به دوربین دستگاهتون دسترسی داشته باشه، و اونو اینطوری اعلام کنه: "همونطور که میدونید، این برنامه ای که در حال دانلود اون هستید، قراره به دوربین شما دسترسی داشته باشه، بنابراین بهتره به سازنده این برنامه اعتماد کنید".بنابراین اگر شما میخواید برنامهتون بتونه به چیزای مشخصی از دستگاه دسترسی داشته باشه، لازمه که به صراحت اعلام کنید که من برای استفاده از فلان امکانات مشخص، نیاز به مجوز دارم.
پس بذارید یه برنامه رو بررسی کنیم که بطور مشخص قراره باهاش وضعیت wi-fi دستگاه رو بررسی کنیم. میخوایم بدونیم که آیا wifi اتصال داره یا نه؟ یا در واقع آیا کاربر میتونه از طریق wifi به اینترنت وصل بشه یا نه؟
۱. اول یه پروژه جدید ایجاد میکنیم و به کلاس MainActivity.java میریم.
۲.کاری که قراره انجام بدیم اینه که تو تابع onCreate تلاش کنیم به وضعیت wifi دسترسی داشته باشیم. در اینجا نیاز به ساختن یه نمونه از کلاس ConnectivityManager داریم که من اسمشو به اختصار، conman گذاشتم.
هر وقت نیاز داریم که سرویسی رو از سیستمی بگیریم، باید درخواست دسترسی به اون سرویس رو بدیم. برای این کار از تابع getSystemService استفاده میکنیم. بعدش فقط لازمه اسم اون سرویسی که میخوایم بهش دسترسی داشته باشیم رو وارد کنیم. که تو اینجا بهش از طریق یه ثابت ایستا که تو کلاس Context به نام CONNECTIVITY_SERVICE هست ارجاع میدیم.
ConnectivityManager conman =(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
۳. حالا میخوایم، توی متنی که به صورت پیش فرض همه پروژههای جدید دارن، بنویسیم که آیا wifi متصل هست یا نه. و چون به صورت پیش فرض این فیلد متنی شناسه نداره به activity_main.xml می ریم و برای اون یه شناسه تعریف میکنیم.
نحوه تعریف کردن شناسه اینطوره که در فایل activity_main.xml، در تگ TextView مینویسیم "android:id="@id/matneman و چون این اولین باره که این شناسه رو تعریف می کنیم، یه علامت مثبت (+) هم کنار کلمه id می نویسیم، یعنی اینطوری:
android:id="@+id/matneman"
۴. تو تابع onCreate به متنمون داخل xml ارجاع میدیم.
TextView matn =(TextView) findViewById (R.id.matneman);
۵. اطلاعات مربوط به وضعیت wifi رو تو یه متغیر boolan به نام wifi میریزیم. برای همین از کلاس ConnectivityManager استفاده میکنیم. تابع getNetworkInfo اطلاعاتی که بخوایم رو از شبکه میگیره. حالا برای ورودی این تابع باید اون اطلاعاتی که احتیاج داریم رو بدیم، ما الان به اطلاعات wifi احتیاج داریم
موضوعات مرتبط: درک امنیت و اجازه ها (permission) ، ،
برچسبها:
تماشای برخط [لینک مستقیم] فیلم آموزشی «نحوه ی ساخت و استفاده از منابع» ( لینک دانلود در ادمه مطلب )
زیر نویس انگلیسی [English Subtitle] ( لینک دانلود در ادمه مطلب )
دریافت نسخه pdf این آموزش [1.73 مگابایت] ( لینک دانلود در ادمه مطلب )
وقتی دارید برنامتون رو میسازید احتمال زیاد از منابع بیرونی هم استفاده خواهید کرد، مثل فایلهای ویدیویی یا شنیداری، تصاویر، xml و ... پس باید بدونید چطور از داخل برنامتون به این منابع ارجاع بدید. منابع برنامتون داخل پوشه ی res ذخیره می شن. و یه سری فایلها به صورت خودکار بهش اضافه می شه مثل :
layout : شامل فایل های xml ای که مربوط به محیط های کاربریه.
values : شامل تمام مقادیریه که توی برنامتون تعریف می کنید و بهشون یه اسم می دید و بعدا با اون اسم بهشون رجوع می کنید و ازشون استفاده می کنید.
فایل string.xml هم به طور پیش فرض در این فولدر به وجود اومده. نحوهی کارکرد string.xml این طوریه که ما یه سری منابع رشتهای داریم که مثلا (با توجه به تصویر) هرجا که تو برناممون بخوایم از Hello World, Main! استفاده کنیم، به جاش می تونیم به این منبع ارجاعش بدیم و بنویسیم hello.
حالا چرا این منابع رو بیرون نگه میداریم؟ به خاطر اینکه بتونیم متغیرهای سراسری (global) داشته باشیم، مثلا می تونیم چند تا فولدر برای زبان های مختلف داشته باشیم و فقط لازمه که به فایل xml مربوط به اون زبان بریم و دیگه لازم نیست تمام کدهای برناممون رو به خاطر تغییر زبان کاربر تغییر بدیم.
۲.اگه به سایت اصلی توسعه اندروید مراجعه کنید یه قسمت داره به اسم API Guide که توش راهنمایی های مفیدی برای ساخت برنامه کرده، یکی از این راهنماها مربوط به منابع می شه، خود اندروید به طور پیش فرض یه سری از فولدرها رو تو res تشخیص میده مثلا
اگه فولدر anim رو درست کنید و توش یه فایل xml مخصوص انیمیشن بذارید، اندروید متوجه می شه که انیمیشنه. (تو آموزش های بعدی مفصل به انیمیشن می پردازیم).
یا مثلا اگه میخواید یه لیستی از رنگ ها رو در برنامتون استفاده کنید می تونید تو فولدر color بذاریدشون.
هر کدوم از عکسهامون یا هر فایل xml مربوط به گرافیک در داحل فولدر drawable قرار می گیره.
فولدر layout شامل فایلهای xml مربوط به چیدمان صفحه است.
اگه بخوایم منو برای برناممون بسازیم (که بعدا آموزش داده خواهد شد) باید اونو تو فولدر menu بذاریم و ...
چون تمام این منابع نوعی assets هستن، ممکنه از خودتون بپرسید پس این فولدر assets چیه (معمولا بالای فولدره bin هست)، در واقع می تونید منابعتون رو تو این فولدر بذارید ولی نمی تونید با یک id بهشون ارجاع بدید. به همین خاطر بهتره تمام منابع رو توی همون فولدر res قرار بدیم چون به طور خودکار براشون id ساخته می شه و با دستور R.id می تونید بهشون رجوع کنید.
۳.اگه تو زیر شاخه های فولدر res دقت کرده باشید، خود فولدر drawable به تنهایی وجود نداره بلکه سه تا فولدر drawable-hdpi، drawable-ldpi و drawable-mdpi وجود دارن، این به خاطر یک ویژگی مهمه اندرویده که دستگاه ها رو به سه وضوح تصویر تقسیم بندی کرده : دستگاههای با وضوح تصویر بالا (High dpi)، دستگاههای با وضوح تصویر متوسط (Medium dpi) و دستگاههای با وضوح تصویر پایین (Low dpi). برای هر کدوم از این وضوح تصویرهای مختلف میتونیم assetهای مربوط به خودشون رو بذاریم، و سیستم اندروید با توجه به دستگاهی که داره روش اجرا میشه، asset مربوطه رو بیرون میکشه و در برنامه ازش استفاده می کنه (توی یه آموزش دیگه بهش میپردازیم) ولی فقط بدونید که اگر از یه asset خواستید که تو همهی وضوح تصاویر استفاده بشه، کافیه فقط توی drawable-hdpi بذاریدش، اون وقت تو یه دستگاه با وضوح تصویر متوسط یا پایین هم سیستم از تو فولدر drawable-hdpi برشون میداره.
۴.راحتترین راه برای اضافه کردن asset به برنامهتون اینه که محتوایی که می خواید رو بکشید و تو فولدر مورد نظر ول کنید.
برای این که به پیغام خطا برخورد نکنید حواستون باشه اسم asset هایی که میخواید وارد کنید فقط میتونه شامل حروف a تا z، اعداد 0 تا 9 و خط زیر باشه.
۵.تو فولدر gen اگه R.java رو باز کنید، میبینید که به اون asset جدیدی که اضافه کردید یه عدد نسبت داده، لازم نیست برای ارجاع به این asset اون عدد رو استفاده کنید بلکه از راه دیگه ای این کارو میکنیم که الان توضیح میدم. (حواستون باشه که اصلا تغییری هم توی فایل R.java ایجاد نکنید چون این فایل به طور خودکار ..................................
موضوعات مرتبط: ساختن و استفاده از منابع (Resources) ، ،
برچسبها:
تماشای برخط [لینک مستقیم] فیلم «آموزش نحوه استفاده از مفاهیم ضمنی» ( لینک دانلو در ادامه مطلب )
زیرنویس انگلیسی [English Subtitile] ( لینک دانلو در ادامه مطلب )
دریافت نسخه ی pdf این آموزش [2.78 مگابایت] ( لینک دانلو در ادامه مطلب )
حالا که خوب مفاهیم آشکار رو متوجه شدیم، وقتشه که به مفاهیم ضمنی بپردازیم، برای درک بهتر از یه مثال شروع میکنیم.
خوب برگردیم به ادامه آموزش، گفتیم که برنامهی Gallery با استفاده از یه مفهوم (intent) یه پیغام به سیستم میفرسته، حالا از کجا بفهمیم، این مفهوم چه پیغامی رو به فرستاده؟ برای اینکار دکمهی share رو تو شبیهساز میزنیم بعد به ایکلیپس میریم و اگه تو LogCat نگاه کنیم، خط های آخرش نوشته :
Starting:Intent{ act=android.intent.action.SEND type=image/jpeg ...
android.intent.action.SEND یه مفهوم ضمنیه، که همراه با خودش نوع دادهای تصویر از نوع................................
موضوعات مرتبط: استفاده از مفاهیم ضمنی (implicit intents) ، ،
برچسبها:
تماشای برخط [لینک مستقیم] فیلم «آموزش نحوه استفاده از مفاهیم آشکار» ( لینک دانلود در ادامه مطلب )
زیر نویس انگلیسی [English Subtitle] ( لینک دانلود در ادامه مطلب )
نسخه pdf این آموزش[1.75 مگابایت] ( لینک دانلود در ادامه مطلب )
تا اینجا یاد گرفتیم که چطور با فعالیت ها (activities) کار کنیم، اگه یادتون باشه برای شروع فعالیت Dovomi از intent استفاده کردیم، کار مفهوم (intent) اینه که یه عنصری از برنامه تون رو فعال کنه.
دو نوع مفهوم (intent) وجود داره، مفاهیم آشکار و مفاهیم ضمنی یا مجازی.
با مفاهیم آشکار، یک عنصر مشخصی از برنامه رو برای فعال شدن تعیین میکنیم. مثلا میخوایم یه فعالیت(activity) دیگه رو تو برناممون اجرا کنیم، از یه مفهوم آشکار استفاده میکنیم که آشکارا به سیستم بگه میخوام اون فعالیت رو فعال(اجرا) کنم.
مفاهیم ضمنی (که تو پست بعدی بهش میپردازیم) در واقع یک پیام کلی برای سیستم میفرستن : که آیا برنامهای در سیستم عامل این گوشی وجود داره که بتونه این مفهوم رو اجرا کنه؟ اگه وجود داشته باشه لیست این برنامهها به کاربر پیشنهاد میشه و کاربر یکی رو انتخاب میکنه و از این طریق اون چیزی که با مفهوم فرستاده شده (ورودیهای intent) اجرا میشه.
خوب الان میخوایم رو مفاهیم آشکار تمرکز کنیم. برای شروع یه پروژه بسازید با دوتا فعالیت (activitie) که تو فعالیت اصلی (main) یه متنی که قابل نوشتن باشه یعنی کاربر میتونیه توش متن وارد کنه (از توی Text Fields اولی رو انتخاب کنید) و یه دکمه (برای اینکه به فعالیت دوم بره)، فعالیت دوم هم یه فیلد متنی ساده داشته باشه.(حواستون باشه که فعالیت دوم رو هم تو فایل manifest تعریف کنید).
۲.کاری که با این برنامه میخوایم بکنیم اینه که : کاربر یه متنی رو تو فیلد متنی قابل نوشتن مینویسه و دکمه رو میزنه، فعالیت دوم باز میشه و متنی که نوشته بوده رو نشون میده. یعنی میخوایم یاد بگیریم اطلاعاتی رو از یه فعالیت به فعالیت دیگه منتقل کنیم.
اول به فایل main.java می ریم و یه مرجع(اشارهگر) از دکمه و فیلد متنی میگیریم. با نوشتن این کد
EditText matn =findViewById(R.id.editText1);
یه مرجع از فیلد متنی قابل نوشتنمون میگیریم. خوب بازهم با ctrl+1 خطاهای برنامه رو درست میکنیم. (اینجا کافیه فقط...........................
موضوعات مرتبط: استفاده از مفاهیم آشکار (explicit intents) ، ،
برچسبها:
ساختن و مدیریت فعالیت ها Activities یک
موضوعات مرتبط: ایجاد پروژه و درک ساختار آن ، ،
برچسبها:
تماشای برخط [لینک مستقیم] فیلم آموزش «کارکردن با AndroidManifest.xml»( لینک دانلود در ادامه مطلب )
زیرنویس فارسی ( لینک دانلود در ادامه مطلب )
زیرنویس انگلیسی [English Subtitle] ( لینک دانلود در ادامه مطلب )
دریافت نسخه pdf این آموزش [1.31 مگابایت] ( لینک دانلود در ادامه مطلب )
۱.حالا می خوایم یه نگاه دقیق تری روی AndroidManifest.xml داشته باشیم به خاطر اینکه فایل مهمیه و برنامه شما رو برای سیستم اندروید تشریح می کنه، پس مهمه که همه چیز رو در این فایل درست وضع کرده باشید. خوب یه پروژه اندروید بسازید (نحوه انجام این کار) و روی AndroidManifest.xml کلیک کنید تا باز بشه. خوبیه ایکلیپس اینه که به شما اجازه می ده این فایل رو در حالتهای مختلفی ویرایش کنید، مثلا حالت ویرایش بصری که تو عکس هست یا اینکه مستقیما از خود فایل xml ویرایش کنید (عکس بعدی).
۲.وقتی به حالت ویرایش xml نگاه می کنید میبینید که خیلی ساده تر از حالت ویرایش بصریه و بیشتر توسعه دهنده ها معمولا حالت ویرایش xml رو بیشتر میپسندن، ولی خوب این حالت یه نقطه ضعف هایی هم داره، مثلا ویژگی پیشنهاد کد (code hinting) نداره و برای صوفه جویی در وقت تو این جور مواقع بهتره از ...............................
موضوعات مرتبط: کار کردن با AndroidManifest.xml ، ،
برچسبها:
دریافت نسخهی pdf این آموزش [حجم 1.56 مگابایت] ( لینک دانلود در ادامه مطلب )
مشاهده تصویر متحرک ساختن یک پروژه اندروید در ایکلیپس ( لینک دانلود در ادامه مطلب )
خوب بعد از تمام مراحل اولیه ای که انجام دادیم، وقتش رسیده که یاد بگیریم چطور یه پروژهی اندروید بسازیم. برای این کار برنامه ایکلیپس رو باز کنید.
۱.از منوی ایکلیپس File -> New -> Project.
بعد روی Android کلیک کنید تا زیرشاخه هاش باز بشه، بعد هم Android Application Project و Next.
خوب حالا باید مشخصات پروژه تون رو تعیین کنید.
اولین گزینه اسم برنامه است، (همون اسمی که تو play store خواهد بود و همین طور توی لیست برنامه ی گوشی)
فیلد بعدی اسم پروژهایه که میخواید بسازید و فقط تو محیط ایکلیپس ازش استفاده میشه و میتونه همون اسم واقعی برنامهتون باشه.
فیلد بعدی اسم پکیج یا بستهی برنامهتونه و package name معمولا برعکس دومین سازندهی برنامه است. باید حواستون باشه که این اسم خیلی مهمه چون وقتی میخواید برنامهتون رو به روز رسانی کنید تنها راهی که سیستم اندروید متوجه میشه این آپدیت مربوط به کدوم نرمافزاره از همین طریقه. و باید توی این دنیای برنامهها هر برنامهای package name مخصوص خودش رو داشته باشه.
در قسمت بعدی باید کمترین نسخهی اندرویدی که برنامهتون پشتیبانی میکنه رو انتخاب کنید، مثلا اگه از هیچ ویژگی خاص جینجربرد استفاده نمی کنید، معقول تره که نسخه های پایین تری ازش رو انتخاب کنید تا کاربرانی که نسخه های پایین تری دارند هم بتونن از برنامتون استفاده کنن. خود گوگل هم پیشنهاد کرده API 8 رو انتخاب کنید تا تقریبا تمام گوشیهای اندروید برنامهتون رو اجرا کنن.
در فیلد بعدی باید بالاترین نسخهی اندروید که برنامتون میتونه روش کار کنه رو انتخاب کنید، مشخصه که هرچه سطحش رو بالاتر بگیرید گوشیهای جدید هم میتونن از برنامهتون استفاده کنن، ولی باید حواستون باشه که حتما برنامه رو تو نسخههای دیگه هم تست کنید تا مشکلی برای کاربرها پیش نیاد.
Next رو بزنید.
گزینه ی ceate custom launcher icon اگه تیک خورده باشه یعنی اینکه همین الان که میخواید پروژهی برنامهتون رو بسازید، بیاید آیکون برنامهتون رو هم طراحی کنید و بذارید تو برنامه.
گزینهی بعدی یه فعالیت (activity) میسازه. و مشخصه که هر برنامه ای حداقل باید یه صفحه داشته باشه که همون فعالیته. پس بذارید گزینهی Create Activity فعال بمونه.
گزینهی بعدی برای اینه که بخواید کتابخانهی اندروید بسازید.
گزینهی بعدی هم اگه تیکش رو بردارید میتونید محل ذخیره شدن ....................................
موضوعات مرتبط: ایجاد پروژه و درک ساختار آن ، ،
برچسبها:
تماشای برخط (لینک مستقیم) فیلم «نمای کلی از توسعه اندروید»
اول بریم سراغ معماری اندروید :
- اندروید روی لینوکس ۲.۶ سوار شده.
- با یه ماشین مجازی به اسم دالویک (Dalvik) که مخصوص موبایل طراحی و بهینه سازی شده، کار می کنه.
- مرورگر متحدی بر پایه موتور وب کیت (Webkit) داره.
- گرافیکش با اپنجیال ایاس (OpenGL ES) بهینه سازی شده.
- از پایگاه دادهی سیکوآل لایت (SQLite) به عنوان ساختار ذخیره سازی داده ها استفاده میکنه.
حالا خیلی سریع به نسخه های مختلف اندروید می پردازیم
- اندروید ۲.۰ \ ۲.۱ ایکلر (Eclair)
- اندروید ۲.۲ فرویو (Froyo)
- اندروید ۲.۳ جینجربرد (Gingerbread) - مخصوص موبایل
- اندروید ۳.۰ هانی کوم (HoneyComb) - مخصوص تبلت ها
- اندروید ۴.۰ آیس کریم سندویچ (IceCream Sandwich) - هم برای موبایل هم تبلت
حالا نگاهی می اندازیم به بنیاد برنامههای اندروید :
- برنامههای اندروید به زبان برنامه نویسی جاوا نوشته میشه.
- برنامههای کامپایل شده در فایلهایی با پسوند apk ذخیره میشن (apk = android package file)
- هر برنامهای در سندباکس (SandBox) جداگانهای اجرا میشه که از بقیهی برنامهها ایزولهاش میکنه و هر برنامه در پروسهی لینوکسی خودش اجرا میشه
- هر برنامهای شامل فایلهای جزئی (component)، فایلهای ظاهری (manifest) و منابع (resources) میشه.
- فایلهای جزئی شامل :
- فعالیت (Activities)
- خدمات (Services)
- ارائه دهندهی محتوا (content provider)
- گیرندهی پخش (broadcast receiver)
بیاید یه خورده در مورد همین موارد آخر بیشتر یاد بگیریم.
- فعالیت (Activities)
- یه فعالیت کارش اینه که که یه صفحه نمایش رو با رابط کاربری (UI) نشون بده. (مثلا کاربر می خواد ایمیل هاش رو چک کنه، همون صفحه ای که لیست ایمیل هاش رو نشون می ده یه فعالیته، وقتی رو ایمیل کلیک میکنه یه فعالیت دیگه شروع میشه که باعث میشه کاربر یه صفحهی دیگه رو ببینه، وقتی می خواد ایمیل بفرسته یه صفحهی دیگه براش باز میشه که یه فعالیت دیگه است)
- اگثر برنامه ها از بیش از یک فعالیت استفاده می کنن.
- وقتی یک فعالیت شروع میشه، به پشتهی بازگشت (back stack) هل داده میشه. (push میشه) - خوب مثلا وقتی کاربر اولین صفحهی یه برنامه رو باز می کنه، بعد جایی کلیک میکنه و فعالیت دیگه ای باز میشه، فعالیت قبلی متوقف میشه (داخل پشته هل داده میشه) و فعالیت جدید روی قبلی شروع به کار میکنه، وقتی کاربر دکمه بازگشت () رو میزنه، فعالیت فعلی رو متوقف می کنه (میبنده) و فعالیت قبلی رو از همون جایی که متوقف کرده بود، اجرا میکنه. (در واقع از تو پشته پاپ میکنه) -
- رابط کاربری با XML یا مستقیما از خود جاوا ساخته میشه.
-
میتونید طول عمر یه فعالیت رو با توابع مختلفی زیرنظر داشته باشید، توابعی مثه ()onStart یا ()onPause. تا روند اجرای هر فعالیتی رو کنترل کنید.
- خدمات (Services)
- خدمات نقش کارهایی رو ایفا می کنن که در پشت صحنه باید انجام بشه.
- خدمات شامل هیچ رابط کاربریای نیستند.
- برای کارهایی مثه عملیات اینترنتی (شبکه ای) یا پخش موسیقی مناسبند.
- خدمات کاملا مستقل از جزئی که اونا رو ساخته، اجرا میشن. (مثلا اگه یه فعالیتی داشته باشیم که یه خدماتی رو اجرا کنه، اگه اون فعالیت رو ببندیم، اون خدمات هنوز در حال اجرا شدن هستن و مستقل از بقیه اجزا کار می کنن)
- خدمات می تونن با استفاده از برنامههای دیگه محدود بشن، البته باید اون برنامهها اجازه محدود کردن خدمات رو داشته باشن. (وقتی خدمات رو میسازین می تونین تعیین کنید که مثلا با هر برنامه ای میتونه این خدمت رو محدود کنه)
- ارائه دهندهی محتوا (content provider)
- کارشون ذخیره و بازیابی داده هاست و اینکه داده ها رو برای همه برنامه ها قابل دسترسی کنن.
- تنها راه برای اشتراک گزاری داده ها بین برنامه های مختلفه (چون به طور پیش فرض، برنامه ها راهی برای اشتراک گزاری دادهشون به برنامههای دیگه رو ندارن)
- یک URI عمومی منتشر میکنه که به طور منحصر به فرد مجموعهی دادههاش رو شامل میشه. (مثلا اگه بخوایم یه سری از اطلاعاتمون رو به صورت عمومی در اختیار بقیهی برنامهها قرار بدیم، اونها رو در یک «ارائه دهنده محتوا» میذاریم.)
- این داده ها به سادگی از طریق جدول هایی به مدل پایگاه داده منتشر میشن.
- خود اندروید شامل یه عالمه «ارائه دهنده» است، مثه رسانهها، دفترتلفن و...
- گیرندهی پخش (broadcast receiver)
- گیرندهی پخش ساخته شده تا به اعلامیههای درون سیستمی پاسخگو باشه.
- مثلا وقتی صفحه خاموش میشه، اندروید یه گیرنده میفرسته تا برنامه هایی که در حال اجرا هستن بفهمند که صفحه خاموش شده و برنامه رو در حالت تعلیق نگه دارن یا ببندن یا هر کار دیگه ای که باید بکنن، یا مثلا وقتی باتری داره تموم میشه و .... - پس وقتی برنامهای رو میسازیم باید حواسمون باشه یه گوش دهنده (listener) بزاریم که اگه همچین اتفاقاتی افتاد، برنامه، یه کار خاصی رو انجام بده-
- برنامهی خود شما هم میتونه فرستادنده هایی رو بفرسته تا برنامه های دیگه بهش جواب بدن.
- گیرنده های پخش شامل هیچ رابط کاربری ای نیستند.
- گیرنده ها می تونن به نوار وضعیت (status bar)، اخطار (notification) بفرستن تا به کاربر هشدار بدن.
فایل های ظاهری اندروید
- هر برنامه ای باید یک فایل AndroidManifest.XML در ریشه دایرکتوریش داشته باشه.
- کار این فایل اینه که به سیستم اندروید درباره برنامه توضیحاتی رو ارائه بده.
- این فایل، اجزائی رو که در برنامه به کار میبرید رو توصیف می کنه. (اجزا مثه فعالیت ها، خدمات، گیرنده ها و ارائه دهنده ها)
- اجازه هایی (permission) که برای اجرای برنامه باید از کاربر گرفته بشه رو اعلام می کنه. (احتمالا تا حالا برنامه هایی رو دیدید که قبل از نصب از شما یه سری اجازه میگیرن برای دسترسی به قسمت های مختلف گوشی).
- این فایل، پایین ترین نسخهی اندرویدی (API) که برنامه می تونه روش اجرا بشه رو اعلام می کنه.
مواردی که تا اینجا بررسی کردیم یک چکیده از توسعه اندروید بود و اگه جایی رو خوب متوجه نشدید نگران نباشید، وقتی وارد کار بشیم و تمرین کنیم حتما خوب متوجه خواهید شد.
برچسبها:
تماشای برخط (لینک مستقیم) فیلم آماده کردن دستگاه مجازی برای توسعه
دریافت نسخه pdf این آموزش [348 کیلوبایت]
وقتی میخواید که نرم افزارتون رو روی دستگاه واقعی اندروید (گوشی اندرویدی) امتحان کنید، باید یه سری نکات رو رعایت کنید تا برنامتون اجرا بشه.
خوب قبل از اینکه نشونتون بدم باید بگم که سیستم عامل گوشی های اندروید، ممکنه یه تفاوتهای کوچیکی باهم داشته باشن و خیلی کم پیش میاد دقیقا مثه همین شبیه سازی که میبینید باشه، مثلا گوشی های HTC یا Motorola و ... سیستم عاملشون یه تفاوتهایی داره و دقیقا همون نسخهی خام گوگل رو استفاده نمیکنن. ولی در کل محلی که تنظیمات (Setting) قرار میگیره معمولا یکیه.
۱.خوب با توجه به این توضیحات، توی گوشی اندرویدتون منو (Menu) رو بزنید. بعد هم Settings.
۲.بعد هم Applications.
۳. بعد هم Development.
خوب از همه مهمتر اینه که گزینهی USB Debugging فعال باشه تا وقتی با کابل گوشی رو به کامپیوتر وصل میکنید بتونید به راحتی نرم افزارتون رو روش امتحان کنید.
گزینهی سوم یعنی Allow Mock Locations زمانی به درد میخوره که تو برنامتون از امکانات جیپیاس (مکان یاب) استفاده کرده باشید. اگه این گزینه فعال نشده باشه اجازه نمیده برای تست کردن برنامتون از مکانهای جعلی استفاده کنید. مثلا احتیاج دارید ببینید تو یه شهر دیگه اون قسمتی از برنامتون که مربوط به مکان فرد میشه، چطور عمل میکنه. میتونید با فعال کردن این گزینه تو شهرخودتون باشید ولی جیپیاس نشون بده یه شهر دیگه اید تا اینطوری برنامتون رو امتحان کنید.
برچسبها:
تماشای برخط (لینک مستقیم) فیلم آموزش مراحل نصب «ابزار توسعه اندروید» ADT در ایکلیپس ( لینک دانلود در ادامه مطلب رایگان )
دریافت نسخه pdf این آموزش [3.22 مگابایت] ( لینک دانلود در ادامه مطلب رایگان )
۱.برای نصب ADT باید به این آدرس برید، که البته چون گوگل ایران رو تحریم کرده و به IP ایرانی اجازه ورود به این سایت رو نمیده. اون چیزی که لازمه از اینجا دانلود کنید رو براتون آپلود کردم (حجم ۹۸.۵ مگابایت). اگه میخواید از خود سایت استفاده کنید، تقریبا به انتهای صفحه برید جایی که نوشته Downloading the ADT Plugin، یه URL (آدرس اینترنتی) اونجا هست کپیش کنید.
۲. به برنامه ایکلیپس برید و از منوی بالاش Help رو بزنید بعد هم Install New Software.
۳. اگه تو مرحله قبل، ADT رو به صورت zip شده دانلود کردید، روی Add کلیک کنید، گزینه Archive رو بزنید، به آدرسی برید که فایل zip شده رو ذخیره کردید، (همون طوری که zip هست و Extract یا UnArchive اش نکنید) فایل رو انتخاب کنید، open رو بزنید، یه اسم براش بذارید و OK رو بزنید.
اگه هم تو مرحله قبل آدرس اینترنتی رو کپی کردید، روی Add کلیک کنید، یه اسم براش بذارید، لینک رو paste کنید و ok رو بزنید و منتظر بمونید تا لیست رو بارگزاری کنه.
۴.وقتی لیست ابزار توسعه اومد، گزینه Developer Tool رو با تمام زیر شاخه هاش انتخاب کنید (چون همهش رو احتیاج داریم). next بزنید. بعد یه صفحه میاد که اون چیزایی که می خواید دانلود کنید رو مرور میکنه Next رو بزنید.
۵. باید جواز و مدارک اونا رو قبول کنید پس I agree with terms of the license agreement رو انتخاب کنید و .....................
موضوعات مرتبط: مراحل نصب "بسته توسعه نرم افزار" SDK برای کاربران مک ، ،
برچسبها:
تماشای بر خط (لینک مستقیم) فیلم آموزش مراحل نصب ایکلیپس در ویندوز ( لینک دانلود در ادامه مطلب به صورت رایگان )
نسخه ی pdf این آموزش [2.13 مگابایت] ( لینک دانلود در ادامه مطلب به صورت رایگان )
۰.قبل از نصب ایکلیپس باید اس دی کی رو نصب کرده باشید (راهنمای نصب SDK). ( لینک دانلود در ادامه مطلب به صورت رایگان )
۱.ایکلیپس محیطیه که برای توسعه اندروید ازش استفاده می کنید. (به جای استفاده از notepad برای نوشتن کدها و command line برای کامپایل کردن، خیلی راحتتره که از ایکلیپس استفاده کنید) برای نصب ایکلیپس به سایت اصلیش (اینجا) برید و نسخهی مناسب سیستمتون رو دانلود کنید. برای این کار روی دکمه ی زرد بالا سمت راست صفحه کلیک کنید.
۲.با توجه به اینکه SDK رو نصب کردید، حتما JDK روی سیستمتون نصب هست. حالا برای توسعه اندروید به یه نسخه ی ساده از ایکلیپس احتیاج داریم. پس همون اولین گزینه (Eclipse IDE for Java Developers) رو انتخاب کنید. و با توجه به سیستمتون روی یکی از موارد 32 بیتی یا 64 بیتی کلیک کنید.
۳.روی لینک کمکی که براتون آورده کلیک کنید تا دانلود شروع بشه.
۴.فایل دانلود شده یه فایل zip هست. روش دوبار کلیک کنید تا ...................
موضوعات مرتبط: مراحل نصب ایکلیپس (Eclipse) روی ویندوز ، ،
برچسبها:
فیلم آموزش مراحل نصب ایکلیپس در مک [دانلود فیلم][تماشای برخط (لینک مستقیم)] ( در ادامه مطلب به صورت رایگان )
دریافت نسخه pdf این آموزش ( در ادامه مطلب به صورت رایگان )
زیرنویس انگلیسی (English Subtitle) ( در ادامه مطلب به صورت رایگان )
۰.قبل از نصب ایکلیپس باید اس دی کی رو نصب کرده باشید (راهنمای نصب SDK). ( در ادامه مطلب به صورت رایگان )
۱.ایکلیپس محیطیه که برای توسعه اندروید ازش استفاده می کنید. برای نصب ایکلیپس به سایت اصلیش (اینجا) برید و نسخهی مناسب سیستمتون رو دانلود کنید. برای این کار روی دکمه ی زرد بالا سمت راست صفحه کلیک کنید.
۲. برای توسعه اندروید به یه نسخه ی ساده از ایکلیپس احتیاج داریم. پس همون اولین گزینه (Eclipse IDE for Java Developers) رو انتخاب کنید. و با توجه به سیستمتون روی یکی از موارد 32 بیتی یا 64 بیتی کلیک کنید.
۳.روی لینک کمکی که براتون آورده کلیک کنید تا دانلود شروع بشه.
۴.وقتی دانلودش تموم شد، روش کلیک کنید تا tar فایل رو براتون باز کنه.
۵.وقتی روی برنامه کلیک میکنید، ازتون میپرسه که چه محلی رو برای ذخیره ی پروژه هاتون در نظر گرفتید؟
اگه نمی خواید هردفعه که ایکلیپس رو باز میکنید این سوال رو ازتون ...................................
برچسبها:
تماشای برخط (لینک مستقیم) فیلم آموزش ایجاد دستگاه مجازی یا شبیه ساز برای اندروید
دانلود pdf این آموزش [3.22 مگابایت] ( در ادامه مطلب )
زیرنویس فارسی ( در ادامه مطلب )
زیرنویس انگلیسی [English Subtitle]
1.وقتی در طول توسعه نرم افزاتون، احتیاج به آزمایش (تست) برنامتون دارید، حتما نیاز به یه دستگاه مجازی (virtual device) یا شبیه ساز (emulator) دارید. خوب برای ساختن یه دستگاه مجازی اول برنامه مدیریت اس دی کی رو اجرا کنید و از ستون سمت چپ قسمت virtual device رو انتخاب کنید. (در نسخههای جدید ستون سمت چپ حذف شده، برای ساختن دستگاه مجازی از منوی بالای برنامه مدیریت اسدیکی، Tools و بعد هم ...manage AVDs رو انتخاب کنید - تصویر راهنما - )
۲.از ستون سمت راست گزینه new رو انتخاب کنید. در پنجره باز شده باید اسمی برای این دستگاه مجازیتون انتخاب کنید.
۳.حالا در قسمت هدف (target) باید اون نسخه ای از API رو انتخاب کنید که قبلا دانلود کردید. (توصیه می شه نسخه ۲.۱ رو انتخاب کنید تا نرم افزارتون روی دستگاه های بیشتری اجرا بشه)
البته اگر بخواید target رو از API 14 به بالا تنظیم کنید نیاز به system-image دارید.
اول system-image مربوط به API مورد نظرتون رو از این آدرس یا این آدرس دانلود می کنید. (درون پوشه API مورد نظرتون روی نوع system-image ای میخواید کلیک کنید تا دانلود بشه) بعد در محلی که SDK تون رو ذخیره کردید (کنار فولدر های tools و platforms و platform-tools و ...) یه فولدر به اسم system-images درست کنید بعد درونش یه پوشه به اسم API مورد نظرتون ایجاد کنید مثلا برای API-17 پوشه رو به این نام بسازید android-17 و اون فایل که دانلود کردید رو از حالت فشرده خارج کنید و داخل فولدری که همین الان ایجاد کردید بذارید.
۴.این شبیه ساز همه چیز رو شبیه سازی می کنه، باید حجم کارت حافظه (SD card) رو هم بهش بدید (پیشنهاد میشه عدد 10000 رو بنویسید)
۵. گزینه ی snapshot رو enabled کنید. این کار (که خیلی هم واجبه :دی) باعث میشه تا هر موقع شبیه ساز رو بستید یه عکس از آخرین وضعیت می گیره و دفعه بعد که خواستید اجراش کنید خیلی سریعتر بارگزاری میشه.
۶.بعدش باید براش یه وضوح تصویر (resolution) مناسب تعیین کنید. (وقتی که خواستیم کارمون رو تو وضوح تصویرهای مختلفی امتحان کنیم برمیگردیم به این قسمت و چند تا دستگاه مجازی با وضوح تصویرهای مختلف می سازیم، ولی فعلا بذارید همون پیش فرضش باشه)
۷.با توجه به سیستمی که استفاده می کنید یه خورده درست کردنش..........................
موضوعات مرتبط: ایجاد دستگاه مجازی (Virtual Device) یا شبیه ساز (emulator) برای اندروید برگرفته شده از AndroidCode.ir ، ،
برچسبها:
تماشای برخط (لینک مستقیم) فیلم مراحل نصب نسته بندی Android SDK platform
زیرنویس انگلیسی (English Subtitle)
دانلود platform-tools برای کاربران ویندوز نسخه ۲۰ - 1.7 MB
دانلود platform-tools برای کاربران مک نسخه ی ۲۰ - 1.6 MB
دانلود platform-tools برای کاربران لینوکس نسخه ی ۲۰ - 1.7 MB
و همین طور باید فولدری به نام build-tools ایجاد کنید (در محلی که SDK رو ذخیره کردید) و build-tools مربوط به سیستم عاملتون رو دانلود کنید و از حالت فشرده خارج کنید و بذارید تو فولدر build-tools ای که الان ایجاد کردید.
دانلود build-tools برای کاربران ویندوز نسخه ی 20 - 19.9 MB
دانلود build-tools برای کاربران مک نسخه ی 20 - 20.6 MB
دانلود build-tools برای کاربران لینوکس نسخه ی 20 - 20.5 MB
دانلود API-7 [حجم ۶۷ مگابایت] - یه لینک مستقیم دیگه برای API-7
دانلود API-8 [حجم ۷۴ مگابایت] - یه لینک مستقیم دیگه برای API-8
دانلود API-10 [حجم ۸۲ مگابایت] - یه لینک مستقیم دیگه برای API-10
دانلود API-11 [حجم ۱۰۰ مگابایت] - یه لینک دیگه برای API-11
دانلود API-13 [حجم ۱۰۳ مگابایت] - یه لینک دیگه برای API-13
دانلود API-14 [حجم ۴۳ مگابایت] - یه لینک دیگه برای API-14
دانلود API-15 [حجم ۴۲ مگابایت] - یه لینگ دیگه برای API-15
دانلود API-16 [حجم ۴۵ مگابایت] - یه لینک دیگه برای API-16
دانلود API-17 [حجم ۴۵ مگابایت] - یه لینک دیگه برای API-17
دانلود API-18 [حجم ۴۶ مگابایت] - یه لینک دیگه برای API-18
دانلود API-19 [حجم ۶۱ مگابایت] - یه لینک دیگه API-19
برای استفاده از این بسته ها باید بعد از دانلود از حالت zip خارجشون کنید و داخل فولدر platforms در پوشهی مربوط به SDK بذارید. مثلا برای این عکسی که گذاشته شده فولدر platforms باید در مسیر C:\Program Files\Android\android-sdk\platforms، پیدا بشه (اگه وجود نداره خودتون یه فولدر با این اسم بسازید) و بعد فولدر دانلود شده رو توش قرار بدید.
دانلود API-7 Samples [حجم ۷ مگابایت] - یه لینک دیگه برای دانلود API-7 Samples
دانلود API-8 Samples [حجم ۷ مگابایت]
دانلود API-11 Samples [حجم ۱۱ مگابایت] - یه لینک دیگه برای API-11 Samples
دانلود API-12 Samples [حجم ۱۱.۵ مگابایت] - یه لینک دیگه برای API-12 Samples
دانلود API-13 Samples [حجم ۱۲ مگابایت] - یه لینک دیگه برای API-13 Samples
دانلود API-14 Samples [حجم ۱۵.۵ مگابایت] - یه لینک دیگه برای API-14 Samples
دانلود API-15 Samples [حجم ۱۵ مگابایت] - یه لینک دیگه برای API-15 Samples
دانلود API-16 Samples [حجم ۱۴ مگابایت] - یه لینک دیگه برای API-16 Samples
دانلود API-17 Samples [حجم ۱۴ مگابایت] - یه لینک دیگه برای API-17 Samples
دانلود API-18 Samples [حجم ۱۹ مگابایت] - یه لینک دیگه برای API-18 Samples
دانلود API-19 Samples [حجم ۲۸.۵ مگابایت] - یه لینک دیگه برای API-19 Samples
برای استفاده از این بسته ها باید بعد از دانلود از حالت zip خارجشون کنید و داخل فولدر samples در پوشهی مربوط به SDK بذارید. مثلا برای این عکسی که گذاشته شده فولدر samples باید در مسیر C:\Program Files\Android\android-sdk\samples، پیدا بشه (اگه وجود نداره خودتون یه فولدر با این اسم بسازید) و بعد فولدر دانلود شده رو توش قرار بدید.
ادامه آموزش : نحوه ایجاد دستگاه مجازی
موضوعات مرتبط: مراحل نصب "بسته توسعه نرم افزار" SDK برای کاربران مک ، ،
برچسبها:
فیلم آموزش نصب اس دی کی (SDK) برای کاربران مک [لینک دانلود][تماشای برخط (لینک مستقیم)]
۱. دانلود "بسته توسعه نرم افزار" یا SDK از این آدرس، البته گوگل ایران رو تحریم کرده و با IP ایرانی به شما اجازه ورود به این سایت رو نمیده، به همین خاطر براتون آپلودش کردم :
دانلود SDK برای کاربران لینوکس
۲.بعد از دانلود روش کلیک کنید.
۳.داخل پوشه tools فایلی به اسم android وجود داره که همون android SDK manager (برنامه مدیریت اس دی کی اندروید) هست.
۴. ولی برای اجرای فایل باید اون رو از ترمینال فراخوانی کنیم، پس terminal رو باز کنید (توی spotlight بنویسید terminal یا از توی فولدر application بعد Utilities بعد هم Terminal )
۵.ترمینال که باز شد بنویسید ls تا لیست فایل هایی که در روت root (ریشه) هستند رو نشون بده (می خوایم به فولدر tools در android-sdk-manager-mac_xxx بریم)
۶.دستور cd Downloads/android-sdk-mac/tools (این دستور یعنی به فولدر downloads برو بعد android-sdk-mac-x86 بعد هم tools اگه جای دیگه ای ذخیره کردین آدرس همون جا رو بدید)
۷.یه ls بنویس ببینی درست اومدی یا نه (اگه درست انجام داده باشی باید محتویات فولدر tools نمایش داده بشه)
۸. حالا برای اجرای برنامه مدیریت اس دی کی اندروید، این دستور رو بنویس android/.
۹.حالا دیگه برنامه SDK Manager باید اجرا بشه
ادامه آموزش در این پست (مراحل نصب بسته بندی Android SDK platform)
موضوعات مرتبط: مراحل نصب "بسته توسعه نرم افزار" SDK برای کاربران مک ، ،
برچسبها:
تماشای برخط (لینک مستقیم) فیلم sdkwin.mov از فایل Getting Started
۱. دانلود "بسته توسعه نرم افزار" یا SDK از این آدرس، البته گوگل ایران رو تحریم کرده و با IP ایرانی به شما اجازه ورود به این سایت رو نمیده به همین خاطر جدیدترین نسخه اش رو در ادامه برای دانلود گذاشتم.
همون طور که مشاهده می کنید چند تا گزینه برای دانلود وجود داره : برای کاربران ویندوز ، مک و لینوکس
برای کاربران ویندوز دانلود فایل .exe پیشنهاد شده پس همون رو دانلود کنید.
دانلود SDK برای کاربران ویندوز (فایل .exe)
دانلود SDK برای کاربران ویندوز (فایل .zip)
۲. برای استفاده از SDK اندروید به (JDK (Java Development Kit احتیاج دارید در نتیجه اگه قبلا نصب نکرده باشید ازتون می خواد که اول اونو نصب کنید بعد SDK اندروید نصب خواهد شد.
اگه قبلا نصب کردید به مرحله شماره ۴ برید.
۳. برای دانلود باید به این آدرس برید ولی چون شرکت اوراکل ایران رو تحریم کرده، از این آدرس برای ویندوز ۳۲ بیتی و از این آدرس برای ویندوز ۶۴ بیتی دانلود کنید.
۴.فایل .exe دانلود شده رو اجرا کنید و همه گزبنه ها رو در حالت پیش فرض نگه دارید (هی Next بزن تا برسی به آخرش :دی)
۵. حالا دوباره اون فایل .exe مربوط به SDK (مرحله ۱) رو اجرا میکنی، الان دیگه خودش JDK رو پیدا میکنه
۶. پیشنهاد میشه همه گزبنه ها رو در حالت پیش فرض نگه دارید و Next رو بزنید ، آخرش هم در حالی که تیک این گزینه "Start SDK Manager" خورده روی Finish کلیک میکنید.
۷. حالا SKD Manager اجرا میشه و شروع می کنه به گرفتن (fetching) اطلاعاتی که لازمه دانلود کنید، ولی چون تحریم شدیم ممکنه پیغام خطا بده که نتونست fetching رو کامل انجام بده یا هیچ پیغامی نده، در هر صورت باید SDK Manager تون اینطوری باشه.
موضوعات مرتبط: مراحل نصب "بسته توسعه نرم افزار" SDK برای کاربران ویندوز ، ،
برچسبها:
فیلم آنچه باید از قبل بدانید [تماشای برخط (لینک مستقیم)] [دانلود]
زیر نویس انگلیسی (English Subtitle)
- مفهوم و تصور کلی از برنامه نویسی شی گرا (مفاهیمی مثل کلاس و ارث بری و ... )
- یه تجربه هایی از کار با جاوا (خیلی هم لازم نیست ماهر باشید فقط قبلا کار کرده باشید)
- تجربه کار با ایکلیپس خیلی مفیده چون تمام برنامه نویسی ها در محیط ایکلیپس Eclipse انجام می شه ولی اگر هم تجربه نداشتید مشکلی پیش نمیاد
- آشنایی با قابلیت های اندروید یعنی تا حالا با گوشی اندروید کار کرده باشید (حتی اگه خودتون ندارید با گوشی دوستتون کار کرده باشید و آشنا باشید)
متن کامل این فیلم (ترجمه شده به فارسی) :
خب قبل از اینکه شروع کنیم، میخواستم چند تا مطلبی که باید قبل از این درس ها تجربه کرده باشید رو بگم، ولی حالا اگه همه ی این مهارت ها رو هم ندارید و فقط می خواید یه امتحانی بکنید اشکالی نداره، چون خود من هم بعضی وقتا پیش میاد که برای اون دوره که میخوام بگذرونم همه شرایط اولیه لازم رو نداشته باشم.
ولی به طور قطع یک چیزی که حتما باید قبل از این آموزش بلد باشید اینه که تجربه کار با برنامه نویسی شی گرا رو داشته باشید. اندروید خیلی زیاد و سنگین از این مفاهیم استفاده می کنه، پس اینکه بدونید یه کلاس چیه و اینکه ارث بری چه مفهومی داره و اینا، به شما کمک شایانی می کنه برای اینکه تو زمینه اندروید موفق باشید
حالا شما باید یه تجربه هایی از کار با جاوا داشته باشید. دارم می گم یه تجربه هایی، چون خودمم خیلی تو جاوا متخصص نیستم، در واقع من یه پیش زمینه ای از اکشن اسکریپت فلش دارم، ولی تا زمانی که شما یه تجربه هایی با زبان های برنامه نویسی "اکم-اسکریپت" پایه داشته باشید مشکلی نخواهید داشت و هر چقدر هم بیشتر جاوا بلد باشید این دوره (درس) رو خیلی راحتتر پیش میبرید
حالا مطلب دیگه ای که میتونه خیلی براتون مفید باشه آشنایی با محیط توسعه ایکلیپسه. چون همه ابزارهای اندروید از طرف گوگل روی ایکلیپس پایه گذاری شده. پس یه بار دیگه، اگه قبلا با ایکلیپس کار کرده باشید این دوره براتون راحتتر میشه
یه مطلب دیگه ای که میتونه خیلی براتون مفید باشه، آشنایی با خود اندرویده، حالا یا خودتون یه گوشی اندروید دارید یا تو گوشی دوستتون دیدید….فقط یه دانش و آشنایی درباره قابلیت خود سیستم عامل اندروید
پس یه بار دیگه، با همه این پیش دانسته های پایه، شما کاملا آماده اید که این دوره رو بگذرونید :)
ادامه آموزش برای کاربران ویندوز در این پست
ادامه آموزش برای کاربران مک در این پست
موضوعات مرتبط: مطالبی که باید از قبل بدانید ، ،
برچسبها:
بسم الله الرحمن الرحیم
در این سایت آموزش جامع و کاملی درباره اینکه چطور برای اندروید برنامه بنویسیم قرار داده خواهد شد امیدوارم این آموزش ها بتونه راه گشای تمام ایرانیانی باشه که می خوان تو این زمینه به موفقیت برسند و باعث افتخار کشورشون باشن اساس آموزش این سایت، فیلم آموزشی از سایت Lynda.com هست زیر نویس فارسی این فیلم ها با پسوند srt برای دانلود قرار داده خواهد شد (گردآوری شده در این صفحه ) همون طور که می دونید این آموزش در سایت Lynda.com رایگان نیست.
موضوعات مرتبط: مـقـدمـه Intro ، ،
برچسبها:
بنام خدا
سلام،
در این فرصت می خواهیم آموزش برنامه نویسی اندروید رو با هم دیگر شروع کنیم که درحال حاضر دارای بازار پر سرو صدایی هم می باشد.
قسمت اول:
در این قسمت با نحوه ایجاد و اجرا و خروجی apk گرفتن از یه برنامه آشنا می شوید.
امیدواریم مفید و موثر واقع بشود.
بخش اول : نحوه ایجاد و اجرا و خروجی apk گرفتن از یک برنامه
موضوعات مرتبط: آموزش برنامه نویسی اندروید ، ،
برچسبها:
منوهای فرعی:
منوهای فرعی منوهایی هستند که با کلیک راست کاربر روی یک کنترل و یا روی یک فرم نمایش داده می شوند. به وسیله این منوها کاربر می تواند به سرعت به کارهای عمومی که در قسمتی از برنامه به شدت به آنها نیاز پیدا می کند دسترسی داشته باشد. برای مثال منوی فرعی که در برنامه قبلی به صورت اتوماتیک نمایش داده شد این امکان را به کاربر می دهد که به راحتی و به سرعت، به گزینه های پر کاربرد منوی Edit برای ویرایش متن درون یک TextBox، دسترسی داشته باشد.
منوهای فرعی می تواند بر حسب کنترلی که کاربر انتخاب کرده است تغییر کنند. برای مثال همانطور که در دیگر برنامه های ویندوزی مشاهده کرده اید، اگر در فرم یک برنامه یک کنترل TextBox را انتخاب کرده و روی آن کلیک راست کنید منوی فرعی نمایش داده می شود که با منوی فرعی مربوط به خود فرم تفاوت دارد.
ویندوز به صورت پیش فرض یک منوی فرعی برای کنترلهای TextBox نمایش می دهد و تا کاربر بتواند به وسیله آن کارهای عمومی مانند Cut، Copy و یا Paste را انجام دهد. البته در صورت لزوم می توانید این منو را با هر منوی دیگری جایگزین کنید. برای مثال تصور کنید کاربر می تواند در برنامه شما متن داخل TextBox ها را کپی کند، اما نمی خواهید اجازه دهید که این متن کات شود. بنابراین می توانید منوی جدیدی ایجاد کنید و از آن به عنوان منوی فرعی در کنترل های TextBox استفاده کنید. سپس در این منو گزینه Cut را غیرفعال کنید.
برای ایجاد منوهای فرعی در ویژوال استودیو می توانید از کنترل ContextMenuStrip استفاده کنید. عملکرد این کنترل و نحوه ایجاد منو در آن نیز همانند کنترل MenuStrip است. تفاوت این کنترل با کنترل MenuStrip در آن است که در کنترل ContextMenuStrip فقط می توانید یک منو در بالاترین سطح داشته باشید و دیگر منوها باید به عنوان زیرمجموعه آن واقع شوند، در صورتی که در کنترل MenuStrip می توانید به تعداد دلخواه منو در بالاترین سطح داشته باشید.
بیشتر کنترلهایی که در جعبه ابزار وجود دارند دارای خاصیتی به نام ContextMenuStrip هستند که می توانند شیئ ای را از این نوع قبول کنند. با تنظیم این خاصیت برای هر یک از کنترل ها، هنگامی که کاربر روی آن کنترل کلیک راست کند منوی فرعی که به آن نسبت داده شده است نمایش داده می شود.
بعضی از کنترل ها همانند ComboBox و یا ListBox دارای یک منوی فرعی پیش فرض نیستند. دلیل این مورد هم به این علت است که این کنترل ها بیش از یک آیتم را در خود نگه داری می کنند و مانند کنترل TextBox فقط یک آیتم درون آنها وجود ندارد. البته این کنترل ها نیز دارای خاصیت ContextMenuStrip هستند که به وسیله آن می توانید یک منوی فرعی را در برنامه برای آنها ایجاد کنید.
ایجاد منوهای فرعی:
حال که با مفهوم منوهای فرعی آشنا شدید، به بررسی آنها در کد و چگونگی استفاده از آن در برنامه های ویژوال C# می پردازیم. در بخش امتحان کنید بعد، برنامه ی قسمت قبلی را با اضافه کردن یک منوی فرعی مخصوص برای کنترلهای TextBox کامل می کنیم. در این برنامه یک منوی فرعی ایجاد کرده و برای هر دو کنترل TextBox از آن استفاده خواهیم کرد. البته می توانیم دو منوی فرعی ایجاد کرده و در هر یک منوهای جداگانه قرار دهیم که کارهای متفاوتی را انجام دهند، سپس هر یک از آنها را به یکی از TextBox ها نسبت دهیم، ولی در این برنامه نیازی به این کار نیست.
امتحان کنید: ایجاد منوهای فرعی
به قسمت طراحی فرم بروید و با استفاده از جعبه ابزار، یک کنترل ContextMenuStrip در فرم قرار دهید. این کنترل نیز همانند کنترل MenuStrip به قسمت پایین بخش طراحی فرم اضافه می شود.
در پنجره Properties مربوط به این کنترل، روی دکمه … مقابل خاصیت Items آن کلیک کنید تا پنجره Items Collection Editor نمایش داده شود.
در پنجره Items Collection Editor روی دکمه ی Add کلیک کنید تا یک منو به لیست اضافه شود. خاصیت Name این منو را برابر با contextUndoToolStripMenuItem و خاصیت Text آن را نیز برابر با Undo قرار دهید. سپس روی دکمه … در مقابل خاصیت Image کلیک کنید واز پنجره Select Resource آیکونی را برای این منو انتخاب کنید.
حال باید یک خط جداکننده بین گزینه Undo و دیگر گزینه ها قرار دهید. برای این کار از لیست کنار دکمه َAdd، گزینه Separator را انتخاب کرده و بر روی دکمه Add کلیک کنید تا یک جداکننده در این قسمت واقع شود.
مجددا از لیست سمت راست دکمه Add گزینه MenuItem را انتخاب کرده و سپس روی دکمه Add کلیک کنید تا گزینه دیگری به این منو اضافه شود. خاصیت Name این گزینه را برابر با contextCutToolStripMenuItem و خاصیت Text آن را Cut قرار دهید. سپس با تنظیم خاصیت Image آن به وسیله پنجره Select Resource آیکونی را برای این منو انتخاب کنید.
در پنجره Items Collection Editor گزینه دیگری را به منو اضافه کرده، خاصیت Name آن را برابر با contextCopyToolStripMenuItem و خاصیت Text آن را برابر با Copy قرار دهید. سپس آیکونی را برای خاصیت Image آن در نظر بگیرید تا در منو نمایش داده شود.
مجددا روی دکمه Add کلیک کنید تا گزینه دیگری به منو اضافه شود. خاصیت Name این گزینه را برابر با contextPasteToolStripMenuItem و خاصیت Text آن را برابر با Paste قرار دهید. همچنین آیکونی را برای آن در قسمت Image مشخص کنید.
حال باید جداکننده دیگری بین گزینه های این قسمت و قسمت بعدی منو قرار دهیم. بنابراین از لیست سمت راست دکمه Add گزینه Separator را انتخاب کرده و روی دکمه فرمان Add کلیک کنید تا به لیست منوها اضافه شود. به دلیل اینکه از این منو در کد استفاده نمی کنیم، نیازی نیست که خاصیتهای آن را تغییر دهید و می توانید خاصیتهای پیش فرض آن را قبول کنید.
مجددا از لیست سمت راست دکمه Add، گزینه MenuItem را انتخاب کرده و روی دکمه Add کلیک کنید تا گزینه دیگری به لیست Members اضافه شود. خاصیت Name گزینه جدید را برابر با contextSelectAllToolStripMenuItem و خاصیت Text آن را برابر به Select All تغییر دهید. برای این گزینه نیازی نیست که آیکونی را تعیین کنید، بنابراین می توانید در پنجره Items Collection Editor روی دکمه OK کلیک کنید تا بسته شود.
هنگامی که به فرم برنامه برگردید مشاهده می کنید که منوی فرعی که ایجاد کرده بودید در بالای فرم نمایش داده می شود، برای حذف آن در قسمتی از فرم کلیک کنید . برای نمایش مجدد آن می توانید کنترل مربوط به آن را از پایین قسمت طراحی فرم انتخاب کنید.
کنترل TextBox اول را در فرم انتخاب کرده و در قسمت Properties، خاصیت ContextMenuStrip آن را برابر با contextMenuStrip1 ( یا هر نام دیگری که به کنترل مربوط به منوی فرعی نسبت داده اید ) قرار دهید. این عمل را برای کنترل TextBox دوم نیز تکرار کنید.
در این مرحله می توانید ظاهر منوی فرعی را که ایجاد کرده اید بررسی کنید. البته تاکنون هیچ کدی به این کنترل اضافه نکرده اید، پس هیچ یک از کنترلهای آن کار نمی کنند. برنامه را اجرا کنید و بعد از نمایش داده شدن فرم، روی کنترل TextBox اول کلیک راست کنید.این بار به جای منوی فرعی پیش فرض ویندوز، منوی فرعی که ساخته بودید همانند شکل زیر نمایش داده می شود. این کار را برای TextBox دوم نیز تکرار کنید. همانطور که مشاهده می کنید، منوی فرعی یکسانی برای هردوی آنها نمایش داده می شود.
از برنامه خارج شوید و به قسمت طراحی فرم برگردید. در این قسمت می خواهیم کد مربوط به گزینه های منوی فرعی را وارد کنیم. از پایین قسمت طراحی فرم، کنترل contextMenuStrip را انتخاب کرده تا منوی فرعی برنامه در بالای فرم نمایش داده شود. در این منو، روی گزینه Undo کلیک کنید تا متد مربوط به رویداد کلیک آن ایجاد شود، سپس کد زیر را در این متد وارد کنید:
به قسمت طراحی فرم برگردید و در منوی فرعی روی گزینه Cut دوبار کلیک کنید تا متد مربوط به رویداد کلیک آن ایجاد شود. سپس کد زیر را در این متد وارد کنید:
موضوعات مرتبط: منوهای فرعی: ، ،
برچسبها:
با سلام
قصد دارم که شما رو با پراپرتی و رویداد های پر کاربرد و به درد بخور کنترل DataGridView اشنا کنم
امروز فقط کنترل دیتاگرید رو به شما معرفی می کنم
اول بپردازیم به این که کنترل دیتاگرید ویو چیه و به چه دردی می خوره.
DataGridView کنترلی است که برای نمایش اطلاعات جدولی استفاده می شود و به شما اجازه میدهد تا منبع داده های خود رو به روز رسانی کنید.اگر شما کنترل دیتاگرید را به یک منبع داده وصل کنید، کنترل به صورت خودکار سطر و ستون های درون منبع داده را در خود ایجاد و نمایش می دهد. و همچنین کنترل دیتا گرید قادر به نمایش اطلاعات یک جدول ویا ترکیبی از اطلاعات چند جدول را خواهد بود.
اشنایی با کنترل:
خب برای اضافه کردن این کنترل به برنامه از نوار ابزار سمت چپ ویژوال استادیو کنترل دیتا گرید ویو را با دابل کلیک یا درگ و دراپ به فرم اضافه کنید.
شکل اولیه این کنترل به صورت یک مستطیل خاکستری رنگ هست که هیچ سطر و ستونی ندارد.
در پنجره ای که بعد از اضافه شدن کنترل به برنامه ظاهر می شود می توانید کنترل دیتاگرید را به یک منبع داده متصل کنید، ستون ها را اضافه و یا ویرایش کنید،قابلیت های اضافه، ویرایش و حذف سطر ها را تنظیم کنید کنترل را تمام صفحه کنید و ….
اگر همچین پنچره ای باز نشد، روی کنترل کلیک کنید و روی مثلث بالا سمت راست کلیک کنید.
گزینه های این پنجره:
-
Choose Data Source: برای انتخاب یک منبع داده مثل پایگاه داده دیتا تیبل و…، جهت اتصال کنترل به ان ها.
-
Edit Columns: برای ویرایش ستون هایی که ایجاد کرده اید.
-
Add Columns: برای اضافه کردن ستون جهت گرفتن و یا نمایش اطلاعات.
-
Enable Adding:اگر این گزینه تیک خورده باشد کاربر قادر خواهد بود که در کنترل دیتا گرید سطر جدید اضافه کند
-
Enable Editing:اگر این گزینه تیک خورده باشد کاربر قادر خواهد بود که..................
موضوعات مرتبط: کنترل دیتاگرید ، ،
برچسبها:
امتحان برنامه:
هر چه برنامه ای که می نویسید پیچیده تر می شود، تست کردن مداوم برای اطمینان از نحوه عملکرد آن نیز مهمتر می شود. در یک برنامه هرچه بیشتر خطاهای آن را پیدا کرده و تصحیح کنید، بهتر می توانید آن را پیاده سازی کنید. در نتیجه می توانید برنامه ای پایدارتر و با قابلیت اطمینان بیشتری ایجاد کنید.
برای تست کردن یک برنامه، نه تنها باید عملکرد عادی آن را بررسی کنید، بلکه باید مقدارهای مختلفی که کاربر ممکن است در برنامه وارد کند را نیز به عنوان ورودی به برنامه بفرستید و رفتار برنامه را در آن شرایط بررسی کنید. برای مثال فرض کنید در حال طراحی یک برنامه بانک اطلاعاتی هستید که اطلاعات کاربر را به وسیله یک فرم دریافت می کند و در یک جدول در بانک اطلاعاتی قرار می دهد. یک برنامه خوب و پایدار، قبل از اینکه اطلاعات کاربر را برای ذخیره شدن به بانک اطلاعاتی بفرستد، صحت نوع داده ای تمام آنها را بررسی می کند. برای مثال قبل از اینکه سن کاربر را در جدول ذخیره کند، بررسی می کند که حتما مقدار وارد شده به وسیله کاربر برای این قسمت به صورت عددی باشد و کاربر متنی را در این قسمت وارد نکرده باشد. به این ترتیب از ایجاد خطا در برنامه و توقف اجرا آن نیز می توان تا حد امکان جلوگیری کرد.
امتحان کنید: امتحان برنامه
حال که رابط کاربری برنامه را طراحی کردیم و کد بیشتر قسمتهای آن را نیز وارد کردیم، باید عملکرد آن را بررسی کنیم. برای این کار روی دکمه Start در نوارابزار کلیک کنید تا برنامه اجرا شود. هنگامی که فرم اصلی برنامه نمایش داده شد، مشابه شکل زیر فقط یکی از نوارابزارها قابل مشاهده خواهد بود.
از نوارمنو، منوی View را انتخاب کرده و سپس به زیرمنوی Toolbars بروید. مشاهده می کنید که در این زیرمنو دو گزینه Main و Formatting وجود دارند که درکنار گزینه اول یک علامت تیک قرار دارد. این علامت مشخص می کند که هم اکنون این نوارابزار در فرم برنامه قابل مشاهده است. روی گزینه Formatting در این قسمت کلیک کنید تا نوارابزار Formatting هم نمایش داده شود.
همانطور که مشاهده کردید با نمایش این نوارابزار، تمام کنترل ها در فرم به اندازه لازم به سمت پایین حرکت کردند. دلیل این امر در این است که یک کنترل Panel در فرم قرار داده و بعد از تنظیم خاصیت Dock آن با مقدار Fill، دو TextBox را در آن قرار دادید. با انجام این کار، موقعیت کنترل ها می تواند در صورت لزوم در فرم تغییر کند. اگر کنترل Panel را از فرم حذف کنید و کنترلهای TextBox را در خود فرم قرار دهید، مشاهده خواهید کرد که با نمایش نوارابزار Formatting، کنترل TextBox اول روی نوارابزار Main قرار خواهد گرفت نوارابزار Main قابل مشاهده نخواهد بود.
حال اگر مجددا به زیرمنوی Toolbars در منوی View بروید، مشاهده خواهید کرد که در کنار هر دو گزینه های Main و Formatting یک علامت تیک قرار گرفته است که مشخص می کند در حال حاضر هردوی این نوارابزارها در حال نمایش است.
حال عملکرد گزینه های منوی Edit را بررسی می کنیم. متنی را در کنترل TextBox اول وارد کرده و سپس گزینه Select All را از منوی Edit انتخاب کنید. مشاهده خواهید کرد که تمام متن نوشته شده در آن انتخاب خواهند شد.
حال می خواهیم متن انتخاب شده در TextBox اول را در کلیپ برد کپی کنیم. برای این کار با ماوس روی دکمه ی Copy در نوارابزار کلیک کنید و یا گزینه Copy را از منوی Edit انتخاب کنید.
مکان نما را در TextBox دوم قرار دهید و سپس روی دکمه ی Paste در نوارابزار کلیک کنید و یا از نوارمنو گزینه Edit -> Paste را انتخاب کنید. به این ترتیب متن نوشته شده در TextBox اول، همانند شکل زیر در TextBox دوم نیز قرار خواهد گرفت.
کنترل TextBox اول را انتخاب کرده و گزینه Edit -> Undo را از نوارمنو انتخاب کنید، مشاهده خواهید کرد که تغییراتی که در این کنترل ایجاد کرده بودید لغو می شود. ممکن است انتظار داشته باشید که با انتخاب این گزینه، آخرین تغییر، یعنی متنی که در TextBox دوم وارد کرده اید پاک شود. اما ویندوز تغییرات یک کنترل را برای لغو آنها به طور جداگانه ذخیره می کند. بنابراین اگر هنگامی که TextBox اول را انتخاب کرده اید روی گزینه Undo کلیک کنید، تغییرات مربوط به این کنترل لغو می شوند.
آخرین گزینه ای که درمنوی Edit باید مورد بررسی قراربگیرد، گزینه Cut است.............
موضوعات مرتبط: امتحان برنامه: ، ،
برچسبها:
کد نویسی منوی View و نوارابزار:
بعد از اتمام منوهای File و Edit و دکمه های نوارابزار مرتبط با آنها، نوبت به منوی View می رسد تا کد مربوط به آن را در برنامه وارد کنیم.
امتحان کنید: نوشتن کد مربوط به منوی View
در قسمت طراحی فرم به منوی View بروید و گزینه Main را از زیر منوی Toolbars انتخاب کنید. سپس با استفاده از پنجره Properties، روی رویداد کلیک در لیست رویدادهای این گزینه دوبار کلیک کنید تا متد مربوط به رویداد کلیک آن ایجاد شود. کد مشخص شده در زیر را به این متد اضافه کنید:
موضوعات مرتبط: کد نویسی منوی View و نوارابزار: ، ،
برچسبها:
نوشتن کد برای منوها:
حال که تمام کنترلهای مورد نیاز را در فرم قرار دادیم، باید کد نویسی آن را شروع کنیم. ابتدا کد مربوط به عملکرد منوها را می نویسیم. بعد از اتمام آن کد مربوط به بعضی از دکمه های موجود در نوارابزار Main را کامل می کنیم.
امتحان کنید: نوشتن کد منویFile
به قسمت طراحی فرم رفته و با استفاده از نوارمنو، گزینه New را از منوی File انتخاب کنید. سپس به پنجره Properties بروید و روی آیکون Events کلیک کنید تا رویدادهای این گزینه از منو نمایش داده شوند. از لیست رویدادها، رویداد کلیک را انتخاب کرده و روی آن دوبار کلیک کنید تا متد مربوط به آن ایجاد شود. سپس کد مشخص شده در زیر را به این متد اضافه کنید:
عملکرد دکمه New در نوارابزار Main نیز مشابه عملکرد این گزینه از نوارمنو است. برای نوشتن کد مربوط به این دکمه، به قسمت طراحی فرم رفته و دکمه New را از نوارابزار انتخاب کنید. سپس از لیست رویدادهای این کنترل در پنجره Properties رویداد کلیک را انتخاب کرده و روی آن دوبار کلیک کنید تا متد مربوط به آن ایجاد شود. به علت مشابه بودن عملکرد این متد با متد مربوط به رویداد کلیک گزینه New در منوی File، در این قسمت کافی است کد زیر را به متد اضافه کنید:
همانند قسمت یک، متد مربوط به رویداد کلیک گزینه exitToolStripmenuItem در منوی File را ایجاد کرده، سپس کد زیر را به آن اضافه کنید:
چگونه کار می کند؟
کد مربوط به رویداد کلیک گزینه New کاملا واضح است. در این قسمت باید برنامه را به حالت اولیه برگردانیم. برای این کارنیز کافی است که متن داخل TextBox ها را پاک کرده و فوکوس را به TextBox اول انتقال دهیم تا اگر کاربر متنی را وارد کرد، در این قسمت نوشته شود. برای پاک کردن متن داخل TextBox ها نیز کافی است خاصیت Text آنها را برابر با خاصیت Empty از کلاس String قرار دهیم.
دکمه ی New در نوارابزار نیز باید همین عمل را انجام دهد، اما نیازی نیست که این کد را برای این کنترل نیز تکرار کنیم. یکی از کارهایی که در این قسمت می توانید انجام دهید این است که متدی مجزا برای این مورد بنویسید و این متد را در متدهای newToolStripButton_Click و newToolStripMenuItem_Click فراخوانی کنید. اما روش بهتری هم وجود دارد و این است که کد مربوط به این قسمت را در یکی از این زیربرنامه ها پیاده سازی کرد و در متد دیگرآن زیربرنامه را فراخوانی کرد. در اینجا کد مربوط به این کار را در متد newToolStripMenuItem_Click قرار دادیم و در زیربرنامه ی newToolStripButton_Click آن را فراخوانی کردیم. به علت اینکه پارامترهای هردوی این متدها یکسان است، برای فراخوانی متد اول، می توانیم از پارامترهای متد دوم استفاده کنیم.
حال چه از دکمه New در نوارابزار استفاده کنید و چه گزینه New از منوی فایل را انتخاب کنید، نتیجه مشابه ای دریافت خواهید کرد.
در گزینه ی Exit از منوی File باید کدی را قرار دهید تا برنامه را تمام کند. برای این کار می توانید از متد Exit در کلاس Application استفاده کنید. این متد فرم برنامه را می بندد، تمام منابع اشغال شده به وسیله آن را آزاد کرده و به اجرای برنامه خاتمه می دهد.
حال که بخش کد مربوط به منوی File و دکمه های متناظر آن در نوارابزار به پایان رسید، به منوی Edit می رویم تا کد مربوط به گزینه های آن را بنویسید.
امتحان کنید: نوشتن کد منوEdit
اولین گزینه در منوی Edit، گزینه Undo است. برای نوشتن کد مربوط به این گزینه به قسمت طراحی فرم بروید و روی گزینه Undo در منویEdit دوبار کلیک کنید تا متد مربوط به رویداد کلیک آن ایجاد شود. سپس کد زیر را در این متد وارد کنید:
حال باید کد مربوط به گزینه Cut از این منو را بنویسیم. برای این کار در قسمت طراحی فرم گزینه Cut را از منوی Edit انتخاب کرده و روی آن دوبار کلیک کنید. به این ترتیب متد مربوط به رویداد کلیک آن ایجاد می شود. کد زیر را در این متد وارد کنید:
عملکرد دکمه Cut در نوارابزار نیز مشابه عملکرد این گزینه در نوارمنو است. بنابراین با استفاده از نوارابزار در قسمت طراحی فرم، دکمه ی Cut را انتخاب کرده و روی آن دوبار کلیک کنید تا متد مربوط به رویداد کلیک آن ایجاد شود.سپس در این متد، زیر برنامه cutToolStripMenuItem_Click را فراخوانی کنید.
گزینه بعدی در منوی Edit، گزینه Copy است. کد این گزینه نیز به نسبت مشابه گزینه Cut است. با دوبار کلیک روی این گزینه در قسمت طراحی فرم، متد مربوط به رویداد کلیک آن را ایجاد کرده و کد زیر را در آن وارد کنید:
متد مربوط به رویداد کلیک دکمه ی Copy در نوارابزار را ایجاد کرده ودر آن متد قبلی را فراخوانی کنید. برای این کار کافی است کد زیر را به این متد اضافه کنید:
حال به قسمت طراحی فرم برگردید و از منوی Edit گزینه یPaste را انتخاب کرده، روی آن دوبار کلیک کنید. در متد مربوط به رویداد کلیک آن که به طور اتوماتیک ایجاد می شود، کد زیر را وارد کنید:
برای کد مربوط به رویداد کلیک دکمه ی Paste در نوارابزار نیز می توان از فراخوانی متد قبلی استفاده کرد. بنابراین با دوبار کلیک روی دکمه Paste در نوارابزار، متد مربوط به رویداد کلیک آن را ایجاد کرده و کد زیر را در آن وارد کنید:
موضوعات مرتبط: نوشتن کد برای منوها: ، ،
برچسبها:
اضافه کردن نوار ابزارها و کنترل ها:
حال که منوهای مورد نیاز در برنامه را ایجاد کردیم، به سراغ نوار ابزارها و دکمه های آن می رویم. منوهایی که در بخش قبلی ایجاد کردیم، نمایش داده شدن و یا نشدن این نوار ابزارها را کنترل خواهند کرد. همچنین دو Text Box نیز به برنامه اضافه خواهیم کرد تا به وسیله دکمه های موجود در نوار ابزار و یا گزینه های منوها بتوانیم متن داخل یکی از آن را کات و یا کپی کرده و در دیگری قرار دهیم.
امتحان کنید: اضافه کردن نوار ابزارها وکنترل ها
-
در این برنامه به دو نوار ابزار نیاز دارید. ابتدا با استفاده ازجعبه ابزار یک کنترل ToolStrip بر روی فرم قرار دهید. مشاهده خواهید کرد که این کنترل به طوراتوماتیک در قسمت بالای فرم قرار می گیرد. خاصیت Name این نوارابزار را به tspFormatting تغییر دهید. همچنین به علت اینکه نمی خواهیم این نوارابزار به طورپیش فرض در فرم نمایش داده شود، خاصیت Visible آن را برابر False قراردهید.
-
دراین نوارابزار به سه دکمه نیاز داریم. بنابراین در بین خصوصیات آن، گزینه Items را انتخاب کرده و روی دکمه ی … مقابل آن کلیک کنید.
-
در پنجره Items Collection Editor روی دکمه ی Add کلیک کنید تا یک کنترل Button به این نوارابزار اضافه شود. می توانید خاصیت نام و دیگر خاصیتهای این کنترل را تغییر ندهید، زیرا نمی خواهید از آن در کد استفاده کنید. تنها خاصیت DisplayStyle آن را برابر با Image قرار داده و سپس روی دکمه … در مقابل خاصیت Image کلیک کنید.
-
در پنجره Select Resource روی دکمه .......................
موضوعات مرتبط: آموزش مقدماتی C# اضافه کردن نوار ابزارها و کنترل ها: ، ،
برچسبها:
ایجاد منوها:
حال بهتر است که ببینیم چگونه می توان در یک برنامه منو ایجاد کرد. در بخش امتحان کنید بعد، برنامه ای ایجاد خواهیم کرد که شامل یک نوار منو، دو نوار ابزار و دو TextBox باشد. نوار منو شامل منوهای File، Edit، View، Tools وHelp و چندین گزینه و زیرمنو درهریک از آنها خواهد بود. به این ترتیب می توانید تمام ویژگی های منوها را در برنامه مشاهده کنید. به علت اینکه این برنامه از چند بخش تشکیل شده است، نوشتن آن را نیز به چند قسمت تقسیم می کنیم و در قسمت اول به طراحی منوها می پردازیم.
طراحی منوها:
امتحان کنید: ایجاد منوها
یک پروژه جدیدی به نام Menus ایجاد کنید و در قسمت طراحی فرم، روی فرم کلیک کرده و خاصیت های آن را مطابق لیست زیر تنظیم کنید:
Size == 300;168
StartPosition == CenterScreen
Text == Menu Demo
با استفاده از جعبه ابزار، یک کنترل MenuStrip رادر فرم برنامه قرار دهید. این کنترل به طور اتوماتیک در بالای فرم قرار خواهد گرفت. علاوه برکنترلی که در بالای فرم قرار داده می شود،کنترلی هم همانند کنترلهای کادر محاوره های که در فصل هفتم مشاهده کردید، به قسمت پایین بخش طراحی فرم اضافه می شود.
در قسمت پایین طراحی روی کنترل menuStrip1 کلیک راست کنید وازمنو فرعی باز شده گزینه Insert Standard Items را انتخاب کنید تا گزینه های یک منوی استاندارد ....................
موضوعات مرتبط: آموزش مقدماتی C# ایجاد منوها ، ،
برچسبها:
سبکهای نمایش (styles)
فهرستهای سفارشی (Customized Lists)
فهرستها (Lists)
دکمهها
صفحهبندی (layout)
واحدهای اندازهگیری
اشکال زدایی (debug) برنامه
درک امنیت و اجازه ها (permission)
ساختن و استفاده از منابع (Resources)
استفاده از مفاهیم ضمنی (implicit intents)
استفاده از مفاهیم آشکار (explicit intents)
ساختن و مدیریت فعالیت ها Activities یک برگرفته شده از AndroidCode.ir
کار کردن با AndroidManifest.xml
ایجاد پروژه و درک ساختار آن
نمای کلی از توسعه اندروید
آماده کردن دستگاه اندروید (گوشی) برای توسعه
مراحل نصب «ابزار توسعه اندروید» ADT در ایکلیپس
مراحل نصب ایکلیپس (Eclipse) روی ویندوز
مراحل نصب ایکلیپس (Eclipse) روی مک