گروه کامپیوتر دانشگاه آزاد

اساتید و دانشجویان دانشگاه آزاد اسلامی

گروه کامپیوتر دانشگاه آزاد

اساتید و دانشجویان دانشگاه آزاد اسلامی

بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِیمِ
زکات علم، نشر آن است. گروه کامپیوتر دانشگاه آزاد با هدف خدمت به دانش آموزان ، دانشجویان و آنهایی که علاقه به برنامه نویسی و طراحی و کلیه امور تخصصی کامپیوتر دارند با هدف نشر علم خدمت رسانی کند امید است کاربران در جهت تحقق این اهداف والا یار و همدم ما باشند . . .

آخرین نظرات
  • ۳ فروردين ۰۱، ۰۰:۲۴ - سید مختار
    85916

۲۹ مطلب با موضوع «آموزش برنامه نویسی اندروید» ثبت شده است

آموزش برنامه نویسی اندروید

با سلام خدمت کاربران عزیز با سری آموزش برنامه نویسی اندروید در خدمت شما هستیم امیدواریم آموزش های ما را دنبال کرده و با نظرات خود ما را در ارائه آموزش های بهتر یاری فرمائید.

توجه توجه با تغییر در دانلود بزودی نسخه bundle  نرم افزار Sdk و eclipse برای دانلود در 10 پارت 40مگابایتی برای راحتی دانلود کاربران بدون نیاز به فیکس Sdk در eclipse  برای دانلود قرار خواهد گرفت مدیر سایت گروه کامپیوتر دانشکاه آزاد
دقت کنید ابتدا نسخه تست شده 64 بیتی آن در سایت درج خواهد شد.

ادامه دانلود نرم افزار های لازم و آموزش های ثانویه در ادامه مطالب

آشنایی با سه اصل Opp

کلیه زبان های برنامه نویسی شی گرا

مکانیسم هایی را در اختیار شما قرار می دهند تا مدل شی گرا را پیاده سازی نمایید.

این مدل شامل کپسوله سازی ، وراثت و چندشکلی می باشد .

کپسوله سازی

 مکانیسم است که یک کد و داده ی مربوط به آن کد را یکجا گردآوری نموده و کپسول بدست آمده را در مقابل دخالت و یا سوء استفاده های غیرمجاز محافظت می کند

بقیه در ادامه مطالب

برنامه نویسی اندرویدAndroid به زبان ساده سیستم عاملی است برای دستگاه های موبایل و گوشی های هوشمند که توسط بیش از 30 کمپانی معروف پشتیبانی می شود. آندروید اوپن سورس است و توسعه دهندگان می توانند با استفاده از Android SDK برنامه های مختلفی برای این سیستم عامل بنویسند. در واقع آندروید بستری را فراهم می کند تا برنامه نویسان بتوانند هرچه سریعتر و بهتر برنامه هایی بسازند که از تمام ویژگی های یک گوشی هوشمند استفاده کند. آندروید به معنای واقعی “ باز” (Open) است، یعنی برنامه نویس می تواند از تمام قدرت یک تلفن همراه استفاده کند. آندروید امکان استفاده از توابع داخلی گوشی موبایل همچون شماره گیری، فرستادن SMS یا استفاده از دوربین گوشی را به برنامه نویسان می دهد تا بتوانند اپلیکیشن های قدرتمند و کاربردی برای کاربران بسازند.

 

تمام برنامه ها برای آندروید یکی اند. آندروید فرقی میان یک برنامه third-party و توابع هسته سیستم عامل در اجرا نمی گذارد و هر دو می توانند دسترسی مساوی به قابلیت های گوشی داشته باشند. گوشی هایی که سیستم عامل آندروید را خواهند داشت به کاربرشان اجازه می دهند تا از تمام قابلیت های یک گوشی هوشمند بهره ببرند. کاربران این گوشی ها به معنای واقعی می توانند دستگاه خود را بر اساس سلیقه ی خود تغییر دهند و محیط سیستم عامل گوشی خود را سفارشی و شخصی سازی کنند. حتی کاربران می توانند برای گوشی تعیین کنند که عکس هایشان با چه برنامه ای باز شود.

 

ویژگی ها و خصوصیات آندروید

1. آندروید تمامی تکنولوژی های اتصال (Connectivity) شامل GSM/EDGE, CDMA, EV-DO, UMTS, Bluetooth و Wi-Fi را پشتیبانی می کند.

2. آندروید از فرمت های مختلف فایل های مالتی مدیا مثل MPEG-4, H.264, MP3, AAC, AMR, JPEG, PNG, GIF پشتیبانی می کند.

3. SMS , MMS و XMPP فرم هایی هستند که آندروید برای ارسال پیغام های متنی یا همان SMS از آن ها پشتیبانی می کند.

4. مرورگر موجود در آندروید بر اساس فریم ورک اوپن سورس WebKit توسعه یافته است.

5. SQLite نرم افزاریست که برای ذخیره داده ها و مدیریت بانک های اطلاعاتی سبک در آندروید در نظر گرفته شده است.

6. ماشین مجازی جاوا (Java Virtual Machine) در آندروید به صورت پیش فرض تعبیه شده است. تمام برنامه های آندروید باید به زبان جاوا نوشته شوند. البته این نسخه از JVM برای دستگاه های موبایل بهینه شده است.

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

8. آندروید از سخت افزارهای مختلف همچون GPS و دوربین های متنوع پشتیبانی می کند.

9. تصاویر و فایل های گرافیکی بوسیله OpenGL پردازش می شوند که کیفیت بالاتری خواهند داشت.

توسعه برنامه های کاربردی در آندروید سریع ، راحت و لذت بخش است

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

آندروید سیستم عاملی بر اساس لینوکس

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



برنامه نویسی اندروید

سیستم عامل اندروید بر پایه سیستم عامل لینوکس طرح ریزی شده است و ماشینی مجازی در این سیستم عامل تحت عنوان Dalvik تعبیه شده است که برای دستگاه های موبایل بهینه سازی شده است. به طور خلاصه می توان گفت که این ماشین مجازی دارای وظایف متعددی از جمله مدیریت حافظه، سهولت در استفاده از Sandbox در تولید اپلیکیشن، فشرده سازی بیشتر اپلیکیشن و سازگاری با CPU های مختلف در انواع مختلف دستگاه ها بدون نیاز به بازنویسی اپلیکیشن برای هر CPU خاص می باشد(در آموزش سوم با مفهوم Sandbox بیشتر آشنا خواهیم شد).

برای جستجو در اینترنت، سیستم عامل اندروید از موتور جستجوی Open Source یی تحت عنوان WebKit استفاده می کند. به منظور پردازش عکس های دو بعدی و سه بعدی، سیستم عامل اندروید از OpenGL ES استفاده می کند و برای ذخیره سازی اطلاعات از SQLite استفاده می کند.

همانطور که در آموزش اول اشاره شده، زبان برنامه نویسی اصلی سیستم عامل اندروید جاوا است. در واقع پس تکمیل یک اپلیکیشن اندروید، این اپلیکیشن در قالب یک فایل با پسوند apk که مخفف Android Package است Compile می شود که این فایل را می توان در بازارهای مختلفی همچون Google Play و غیره در اختیار علاقمندان قرار داد تا بتوانند با نصب آن از اپلیکیشن ها استفاده نمایند.

به طور خلاصه یک اپلیکیشن اندروید از Component های مختلفی که در ادامه این آموزش به چهار مورد از اصلی ترین ها اشاره می شود، یک فایل Manifest و Resource های متفاوتی تشکیل می شود. در ادامه هر یک از این اجزا را مورد بررسی قرار خواهیم داد.

برای ساخت یک اپلیکیشن اندروید چهار Component اصلی وجود دارد که عبارتند از: Activity و Service و Content Provider و Broadcast Receiver.

 

معرفی Activity ها در اندروید

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

اکنون ببینیم که یک Activity را به چه نحوی می توان ساخت. در حقیقت دو راه برای ساخت Activity ها در سیستم عامل اندروید وجود دارد: راه اول که به صورت دینامیک و پویا است با استفاده از برنامه نویسی جاوا می باشد و راه دوم با استفاده از XML است. روشی که در این سری از آموزش ها بیشتر مورد استفاده قرار خواهد گرفت، طراحی Activity ها با استفاده از XML است چرا که نه تنها این کار آسان تر است بلکه با پیروی از چنین رویکردی می توان کد های مربوط به GUI یا محیط گرافیکی را از کد های مربوط به نحوه عملکرد عناصر داخل این محیط گرافیکی که در زبان جاوا نوشته می شوند را از یکدیگر مجزا ساخت و این در حالی است که با اتخاذ چنین رویکردی Debug کردن اپلیکیشن ما هم به مراتب آسان تر خواهد شد.

 

معرفی Service ها در اندروید

دومین Component که از میان دیگر Component های از اهمیت بسزایی برخوردار است Service است. در حقیقت در پروسه طراحی اپلیکیشن اندروید Service به اجرای عملیاتی اطلاق می شود که خارج از دید کاربر رخ می دهند که ممکن است این دسته از عملیات خواه برای مدت زمان کوتاهی صورت پذیرند و خواه برای مدت زمان طولانی تری اجرا گردند. نکته ای که در مورد Service ها جالب است این است که این دسته از Component ها دارای هیچ گونه GUI یی نمی باشند و در Background برنامه اجرا می شوند. برای روشن شدن مطلب مثالی ذکر می کنیم. فرض کنیم که در حین اس ام اس دادن به یکی از دوستان خود تمایل داریم تا به آهنگ مورد علاقه مان نیز گوش فرا دهیم. در حقیقت زمانیکه موسیقی در حال پخش شدن است و ما اقدام به اس ام اس دادن می کنیم ما هیچ اثری به جزء صدای آهنگ نخواهیم دید و این همان خاصیت Service ها است که گفته می شود در پس زمینه اپلیکیشن یا Background اتفاق می افتند. 

نکته دیگری که در مورد Service ها می بایست مد نظر قرار دهیم این است که Service ها مجزا از Activity هایی که آن ها را اجرا می کنند می توانند به کار خود ادامه دهند. فرض کنیم که یک Activity داریم که دارای یک دکمه Play است. با زدن این دکمه پخش موسیقی آغاز خواهد شد و این در حالی است که اگر این Activity را ببندیم و یا یک Activity دیگر جای این Activity را بگیرد، Service یی که وظیفه داشت پخش موسیقی را اجرا کند می تواند به کار خود ادامه دهد.

 

معرفی Content Provider ها در اندروید

جایگاه سوم در میان Component ها را Content Provider ها به خود اختصاص داده اند. وظیفه ای که بر عهده این گروه از Component ها گذاشته شده است، ذخیره سازی اطلاعات و قرار دادن اطلاعات ذخیره شده در اختیار دیگر اپلیکیشن ها می باشد. به طور خلاصه تنها راه به اشتراک گذاری داده ها میان اپلیکیشن های مختلف به کارگیری Content Provider ها می باشد. چنانچه ما داده هایی داشته باشیم و بخواهیم این داده ها را در دسترس دیگر بخش های اپلیکیشن خود قرار دهیم، به سادگی می توانیم یک Content Provider ایجاد کرده و مابین بخش هایی که می خواهند از آن استفاده کنند ارتباطی برقرار سازیم. تعدادی از این Content Provider ها از پیش در سیستم عامل اندروید تعبیه شده اند که از آن جمله می توان به Contact و Media اشاره کرد. به طور مثال اگر بخواهیم در اپلیکیشنی به لیست شماره های تلفن همراه خود دسترسی پیدا کنیم، صرفاً نیاز است تا ارتباطی مابین اپلیکیشن خود و Content Provider مرتبط با Contact سیستم عامل اندروید برقرار سازیم.

 

معرفی Broadcast Receiver ها در اندروید

آخرین Component تحت عنوان Broadcast Receiver این وظیفه را دارا است تا به هشدارهایی که در سطح کل سیستم بوجود می آیند پاسخ دهد. همانند Service ها Broadcast Receiver ها نیز دارای هیچ گونه GUI یی نمی باشند(عبارت GUI مخفف واژگان Graphical User Interface به معنی رابط گرافیکی کاربر می باشد). برای روشن شدن وظیفه Broadcast Receiver ها به مثالی اکتفا می کنیم. فرض کنیم می خواهیم برنامه ای بنویسیم که زمانیکه انرژی باطری تلفن همراه ما به 30 درصد رسید به ما هشدار دهد. این هشداری که به محض رسیدن انرژی تلفن همراه به 30 درصد روی صفحه تلفن مشاهده می شود یک نوع Broadcast Receiver می باشد.

 

آشنایی با فایل Manifest اندروید

 

پس از آشنایی با چهار Component اصلی سیستم عامل اندروید، اکنون به بررسی یکی از مهم ترین فایل ها در ساخت یک اپلیکیشن اندرویدی که همان فایلManifest است می پردازیم. هر اپلیکیشن و یا بازی اندرویدی می بایست دارای فایلی تحت عنوان AndroidManifest.xml در دایرکتوری اصلی خود که همان Root Directory است باشد(به حروف کوچک و بزرگ در نام این فایل توجه کنید). کاری که این فایل انجام می دهد این است که اطلاعاتی کلی پیرامون اپلیکیشن یا بازی طراحی شده به سیستم اندروید می دهد. به عبارت دیگر، این فایل Component هایی را که ما در برنامه خود مورد استفاده قرار داده ایم را به سیستم عامل اندروید معرفی می کند. از سوی دیگر این فایل Permission ها یا مجوزهایی که کاربر برای نصب برنامه می بایست صادر کند را نیز در بر می گیرد. فرض کنیم که برنامه ای طراحی کرده ایم که نیاز به دسترسی به اینترنت دارد. حال اگر کسی بخواهد این برنامه طراحی شده توسط ما را مورد استفاده قرار دهد، در حین نصب اجازه دسترسی به اینترنت از آن کاربر توسط اپلیکیشن گرفته خواهد شد.

برنامه نویسی اندروید

آشنایی با Platform Level و API Level

به طور کلی Platform level شماره ای است که در کنار هر یک از نام دسرها در نسخه های مختلف اندروید مورد استفاده قرار می گیرد و API level عددی است مربوط به API مورد استفاده قرار گرفته در هر یک از نسخه های اندروید به طوریکه شماره API level هر چه بالاتر رود این بدان معنا است که ما به قابلیت های بیشتری در توسعه اندروید دسترسی خواهیم داشت چرا که تیم برنامه نویسان گوگل بیشتر روی توسعه SDK کار کرده و ویژگی های بیشتری را از آن طریق در اختیار توسعه دهندگان قرار داده اند.

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

نکته ای که در این رابطه می بایست همواره مد نظر قرار داده شود این است که هر چه سطح API بالاتر رود تلفن های همراه و تبلت های کمتری را به عنوان گروه هدف خود مد نظر قرار خواهیم داد چرا که معمولاً زمانی به طول خواهد انجامید تا تعداد کاربران یک نسخه جدید اندروید به حد قابل توجهی برسند.


اصطلاحی در توسعه اپلیکیشن های اندروید وجود دارد تحت عنوان Backward Compatibility به معنی سازگاری رو به عقب. به عبارت دیگر یک دستگاه تلفن همراه که دارای مثلاً سیستم عامل اندروید نسخه 2.0 یا Éclair باشد، اپلیکیشن های با نسخه اندروید 2.0 و یا پایین تر از آن را اجرا خواهد کرد. به نظر می رسد در حین توسعه اندروید انتخاب نسخه 2.0 یا 2.1 تحت عنوان Éclair به معنی نان خامه ای بخش عمده از کاربرانی که از تلفن های همراه را در بر خواهد گرفت.

دیگر API های به کار گرفته شده تلفن های اندرویدی

علاوه بر API هایی که گوگل برای هر نسخه از سیستم عامل اندروید در نظر می گیرد، گروهی دیگر از API ها هستند که در خود تلفن همراه یا تبلت گنجانده شده و جدای از API های معرفی شده در هر نسخه از اندروید می باشند.

یکی از این API هایی گنجانده شده در خود تلفن همراه یا تبلت اندرویدی Location Services است:
منظور از Location Services قابلیت هایی همچون GPS و یا دیگر عملکرد های Wireless است. از دیگر API های گنجانده شده در تلفن همراه و یا تبلت می توان به Telephony Services اشاره کرد:

در حقیقت Telephony Services در برگیرنده قابلیت هایی است که این امکان را به ما می دهند تا بتوانیم با استفاده از تلفن همراه اندرویدی خود شماره گرفته، تماس برقرار سازیم، به تماسی پاسخ دهیم و ...

از دیگر API هایی که در این دسته قرار می گیرند می توان به Audio and Video اشاره کرد:در حقیقت API های مرتبط با Audio and Video این امکان را به کاربران اندروید می دهند تا فایل های صوتی و تصویری را با فرمتهای بسیار متنوعی من جمله MP3 را پخش نمایند.

API ی دیگری که نیاز به معرفی دارد API ی مرتبط به Web Browser است:شاید بتوان گفت که یکی از جذابیت های اندروید برخورداری از قابلیت سرچ در اینترنت است که این کار با استفاده از API مرتبط با Web Browser در اختیار کاربران قرار داده شده است.

به عنوان آخرین API از نمونه API های گنجانده شده در دستگاه های اندرویدی می توان به API ی مرتبط با Google Maps اشاره کرد:در حقیقت این API به منزله یکی از API های معروف تلفن ها و تبلت های اندرویدی است به طوریکه این امکان را به کاربران می دهد تا بتوانند از قابلیت های بسیار گسترده Google Maps من جمله مسیریابی استفاده کنند.

امنیت در سیستم عامل اندروید

یکی از برگ های برندۀ سیستم عامل اندروید میزان امنیت بالا در این سیستم عامل است(البته به این موضوع خیلی هم نمی توان افتخار کرد چرا که آمار و ارقام حاکی از آنند که این سیستم عامل محبوب هدف اول هکرها است). در واقع از آنجا که اپلیکیشن های اندروید بدون اجازه کاربر و یا توسعه دهندۀ اپلیکیشن نمی توانند به دیگر اپلیکیشن ها دسترسی پیدا کنند، این مسئله موجب گردیده تا امنیت این سیستم عامل به مراتب ارتقاء یابد. برای درک بهتر این مسئله نیاز است تا با Sandbox آشنا شویم. معنی لغوی این واژه "گودال ماسه بازی" است. در حقیقت طراحان اندروید از این مفهوم استفاده کرده تا بتوانند هر اپلیکیشن اندروید را از دیگر اپلیکیشن ها مجزا سازند. به عبارت دیگر به طور پیش فرض هر اپلیکیشن اندروید در یک Sandbox جدای از دیگر Sandbox ها قرار دارد. حال اگر اپلیکیشن ما بخواهد به چیزهای خارج از Sandbox خود دسترسی پیدا کند، می بایست از کاربر Permission یا اجازه بگیرد.

با نام و یاد خدا ،در این مبحث از برنامه نویسی اندروید می خواهیم با تغییر نام  یک برنامه  آشنا بشیم.در برنامه نویسی اندروید تغییر نام یک برنامه خیلی ساده است  و  تنها کاری که ما باید انجام بدیم تغییر نام  برنامه بعد اسم پکیج و اخر فایل مانیفست هست.

برای شروع کار  یک پروژه جدید ایجاد میکنیم و اسمش رو Mesal قرار میدیم.بعد از ایجاد شدن کامل پروژه  بروی نام برنامه که همان Mesal هست کلیک راست کرده و گزینه  Refactor را انتخاب و در منوی باز شده گزینه Rename را اجرا میکنیم.وارد صفحه جدید  می شویم در این صفحه در قسمت New Name نام جدید را وارد میکنیم حتما به یاد داشته باشید  که تیک گزینه Update References رو فعال کنید(این گزینه به صورت پیش فرض فعال است).بعد از تغییر نام برنامه  همان مسیر تغییر نام  را در گزینه پکیج هم اجرا میکنم.در این قسمت  بخش New Name نام جدید پکیج را وارد میکنیم.در قسمت اخر هم باید نام پکیج تغییر داده شده را وارد فایل Manifest کنیم تا برنامه مشکلی در اجرا نداشته باشد.این بخش تنها کافی که نام پکیج رو در قسمت  package وارد کنید.

حال نام جدید پروژه را نوشته و اوکی کنید حال تغییرات را مشاهده می کنید . . . 

موفق وموید باشید گروه کامپیوتر دانشگاه آزاد

سلام به همه دوستانم و برنامه نویسان عزیز در این جلسه قصد داریم با لیست ویوها(Listview) در اندروید باهم صحبت کنیم،لیست ویو ابزاری که به ما این اجازه رو میده تا تعدادی اطلاعات رو به صورت عمودی نمایش میده، اقلام یا اطلاعات لیست ویو یا به صورت پیشفرض توسط برنامه نویس درج میشه یا اون اطلاعات رو از دیتابیس که میتونه قابل تغییر باشه بگیره.امروز ما باهم با نحوه ایجاد لیست ویو و مقدار دهی به اون اشنا میشیم.من یک پروژه به نام Listview ایجاد کردم و از قسمت پالت ها در پوشه Composite لیست ویو(Listview) رو بر روی لایه خودم کشیدم و اون رو در مرکزیت قرار دادم.

کار با لیست ویو در اندروید

کد های مربوط به xml لایه رو باهم دیگه میبینیم: من عرض و ارتفاع لیست ویو خودم رو به صورت fill_parent قرار دادم  که تمامی صفحه لایه من رو پوشش بده و اسم id لیست ویو رو هم @android:id/list قرار دادم تا از لیست ویو پیشفرض اندروید استفاده کنه.

 <ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true" >
</ListView>

بعد از قرار دادن ابزار مون(listview)بر روی لایه و تغییر مقدار چندتا از خاصیتهاش حالا به قسمت MainActivity میریم که کدهای جاوای برنامه مون رو به لایه اضافه کنیم.از پوشه Src فایل جاوای MainActivity.java رو باز میکنیم و وارد قسمت کد نویسی جاوا میشیم.قبل از شروع به کد نویسی باید extends Activity برنامه مون رو به extends ListActivity تغییر بدیم تا بتونیم اطلاعات مد نظرمون رو در لیست ویو نشون بدیم.بعد قبل از متد onCreate مقدار لیست ویو مون رو با یک رشته استرینگ (String) میسازیم و اسمش رو shahrList قرار میدیم و بعد از علامت مساوی در داخل پارانتز ها مقدار اطلاعاتی رو که میخاهم به لیست ویومون بدیم رو مینویسیم،

public class MainActivity extends ListActivity {

//تعریف یک رشته،نام گذاری و قرار دادن اطلاعات
String[] shahrList = {"Tabriz" , "Tegran" , "zanjan" , "Mashhad" , "kordestan" ,  "rasht"};


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

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

package com.UnitAzad.Ir.listview;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ArrayAdapter;

public class MainActivity extends ListActivity {
	//تعریف یک رشته،نام گذاری و قرار دادن اطلاعات
	String[] shahrList = {"Tabriz" , "Tegran" , "zanjan" , "Mashhad" , "kordestan" ,  "rasht"};


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

     // معرفی یک ارایه اداپتر و فراخوانی اطلاعات از استرینگ و ارسال اون به لیست ویو
     ArrayAdapter adapter = new ArrayAdapter(this,
     android.R.layout.simple_list_item_1, shahrList);
     //ست کردن اداپترمون بر روی لیست ویو 
     setListAdapter(adapter);

    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
}

حالا میتونید برنامه تون رو اجرا کنید و ازش لذت ببرید.

 دانلود فایل Apk پروژه لیست ویو                                    دانلود سورس برنامه لیست ویو

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

حالا یک پروژه جدید ایجاد میکنیم(ایجاد،ساخت و اجرای اولین برنامه اندرویدی).من نام برنامه خودم رو Edittext گذاشتم،و از قسمت پالت در پوشه Text Fields ابزار Plain Text را بر روی لایه خودم کشیدم و در مرکزیت اون قرار دادم (اشنایی بیشتر با لایه ها و پالت ها در جلسه های بعدی ).و همچنین یک دکمه(Button)به قسمت زیرین اون اضافه کردم تا هنگام نوشتن یک متن در تکست باکس و کلیلک بر روی دکمه متن داخل تکست باکس به ما نمایش داده بشه.

کار با تکست باکس ها در اندروید

اول از همه نگاهی بکنیم به اجزای سازنده Edittext:

<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="21dp"
android:ems="10" >

<requestFocus />
</EditText>

میبینیم که تکست باکس ما تشکیل شده از یک ID برای شناسای توسط کلاس جاوای برنامه،از خاصیت android:layout_width و android:layout_height برای تعیین عرض و ارتفاع اون استفاده میکنه، برای اطلاعات بیشتر در مورد لایه و خاصیت ها منتظر فصل های بعدی ما باشید خاصیت بعدی که داریم android:layout_alignParentTop هست ،وظیفه این رو داره که ابزار مد نظر ما رو از سمت بالای لایه بچینه.در اندروید ما چندین حالت برای چینش ابزار هامون داریم:راست،چپ،بالا و پایین.در این کد چون Edittext ما در قسمت بالا قرار داره  alignParentTop رو فعال کرده این دستور در مواقعی به در ما میخوره که ما بخواهیم هم به صورت افقی و هم به صورت عمودی ابزار مون رو بچینیم. در داخل تصویر میبنیم که لایه ما در حالت افقی هم در یک جا قرار داره.

کار با تکست باکس ها در اندروید

خاصیت android:layout_marginTop وظیفش فاصله دادن از گوشه های لایه است،طوری که بخواهیم مقدار اون رو کم یا زیاد کنیم از گوشه سمت بالا فاصله میگیره و به سمت پایین میاد.خاصیت android:ems هم که در اینجا 10 نشان داده شده ،به تکست باکس ما میگه که فقط اندازه 10 تا کلمه حق گسترده شدن داره ،الان اگر بخواهیم مقدار ems رو کم کنیم میبینم که اندازه تکست باکس هم کوچکتر شده و بالعکس.

بعد از اینکه با خاصیت های edittext اشنا شدیم حالا وقت اون رسیده که ب کدهای حاوا بریم و رویداد های رو براش تعریف کنیم،از فولدر Src فایل جاوای Mainactivity رو باز میکنم و کدهای زیر رو مینویسیم.(کدهای کامل MainActivity.java)

//معرفی تکست باکس و نام گذاری اون بعدانتخاب محل قرار گیریش از لایه
final EditText et = (EditText) findViewById(R.id.editText1);
//معرفی باتن و نام گذاریش و انتخاب محل دکمه از لایه
Button btn = (Button) findViewById(R.id.button1);
//وارد کردن نام دکمه و ایجاد قابلیت فراخوانی در هنگام کلیک با کد onClick
btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

//معرفی یک رشته و نام گذاری اون و فراخوانی اطلاعات رشته از طریق کد get text ,  tostring و ارسال اطلاعات به توست
String str = et.getText().toString();
Toast msg = Toast.makeText(getBaseContext(),str,
Toast.LENGTH_LONG);
msg.show();
}
});
}

 دانلود Apk برنامه EditText                                      دانلود سورس برنامه EditText

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

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

اگر تصاویر کیفیتشان کم بود برای زیاد شدن کیفیتشان کافیست روی آنها کلیک کنید

کار با دکمه ها در اندروید

 

من یک پروژه با اسم Button ساختم،می بینید که در سمت چپ ایکلیپس بخش Pakege Explorer معماری نرم اافزار اندرویدی قرار داره  ما در پوشه Layout  یک فایل Xml به نام activity_main داریم،این فایل حاوی کدهای xml رابط کاربری اندروید است.با کلیلک بر روی این فایل یک صفحه سفید رنگ برای ما به نمایش در می اید،این صفحه سفید رنگ همان بخش طراحی رابط کاربری و لایه Activitiy اصلی برنامه ماست،با نگاه کردن به قسمت پایین دو تا تب به نام های  Graphica Layout رو می بینیم که قسمت نمایشی و گراافیکی لایه ااکتیویتی رو نمایش میده و تب دومی activity_main.xml هست که  بخش کدهای و ویرایش دستی اون ها رو در اختیار ما قرار میده.

حالا یک باتن(دکمه) به برنامه خودمون اضافه می کنیم،برای این کار ما دوتا راه داریم یکی از طریق اضافه کردن Button از قسمت Palette هاست و قسمت بعدی از طریق نوشتن کد هست.اسان ترین و مناسب ترین راه استفاده از Palette هاست.Palette در فرهنگ لغت به معنی جعبه رنگ امیزی است

در برنامه نویسی اندروید هم ما برای  طراحی رابط کاربری برنامه از قسمت Palette زیاد استفاده خواهیم کرد.میتویند لیست پالت ها رو در سمت چپ صفحه سفید رنگ برنامه مشاهده بکنید.حالا کافی که بر روی یک Button کلیک کنید و اون رو به سمت صفحه سفید رنگ (activity_main.xml) بکشد و در هر قسمت از از لایه که خواستین رهاش کنید.

کار با دکمه ها در اندروید

این طرحی رو که میبینید همون طرح گرافیکی نرم افزار ماست با کلیک بر روی تب activity_main.xml وارد قسمت کد نویسی دکمه میشیم.

کار با دکمه ها در اندروید

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

در برنامه نویسی اندروید طرح بندی های مختلفی وجود داره،این طرح بندی های تمامی اجزای سازنده رابط کاربری برنامه رو در بر میگیره،یکی از این طرح بندی ها  RelativeLayout هست.این طرح بندی از رایج ترین لایه های اندروید به حساب میاد و دلیل اون انعطاف پذیری بالای این لایه است.به عنوان مثال اگر بخواهیم از چندین دکمه در برنامه خود استفاده کنیم طوری که دکمه ها (button) به شکل مناسبی کنار هم، بالا و یا پایین قرار بگیرند RelativeLayout به ما این امکان رو میده که براحتی در قسمت Graphica Layout دکمه های خودمون رو قرار بدیم بدون استفاده از کد نویسی!!

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

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Button" />

دکمه ما تشکیل شده از یک تگ با عنوان Button، درداخل این تگ کد android:id قرار دارد وظیفه این کد معرفی کردن یک شناسه به دکمه است،که در هنگام نوشتن یک رویداد برای دکمه مد نظر اختلالی در کارکرد دکمه ها و یا اجزای دیگر لایه بوجود نیاید.

خاصیت android:layout_width عرض دکمه ما را در لایه مشخص میکند(هر یک از اجزای گرافیکی اندروید دارای خاصیت عرض و ارتفاع هستند).در این جا مقدار خاصیت  android:layout_width="wrap_conten معرفی شده است،Wrap Content این امکان را به ما میدهم تا عرض و ارتفاع دکمه خود را با توجه به نام ان تغییر دهیم(می توانید در خاصیت android:text به جای کلمه Button که نام دکمه ما هست نام دیگری را جایگزین کنید،من در اینجا از نام AppinApps استفاده کردم،میبینید که طول و عرض دکمه با توجه به نام وارد شده تغییر کرده است،مقاادیر دیگری هم می توانیم به طول و عرض دکمه اضافه کنیم،به تصاویر زیر دقت کنید

کار با دکمه ها در اندروید

 میبینید که با گرفتن هم زمان دکمه های Ctrl+Space بر روی کیبورد محیط ایکلیپس راهنمایی را برای راحتی و سرعت بخشیدن به کار برای ما معرفی میکند،این مقادیر که در تصویر بالا میبینیدfill_parent , match_parent  و wrap _contentهستند که هرکدام از این مقادیر خاصیت دکمه رو تغییر میدهند،من برای مثال Fill_parent رو انتخاب کردم،می بینیم که  عرض دکمه به اندازه عرض صفحه تغییر کرد(تصویر زیر)تمامی این مقادیر در خاصیت android:layout_height نیز استفاده می شوند.

کار با دکمه ها در اندروید

خاصیت android:layout_centerHorizontal:این خاصیت اجزای مورد استفاده در لایه اصلی برنامه رو در مرکزیت افقی  قرار میدهد،خاصیت android:layout_centerVertical: نیز همانند خاصیت بالا در مرکزیت لایه قرار میگیرد ولی با این تفاوت که اینبار مرکزیت عمودی مد نظر است.یعنی هم در حالت عمودی و هم در حالت افقی دکمه ما در مرکز لایه قرار داشته باشد.

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

کار با دکمه ها در اندروید

صویر بالا  نمایی از کد های جاوای اکتیوتی ما رو نشون میده،این صفحه حاوی نام پکیج برنامه ،Import های برنامه که مسئول اینپورت کردن(وارد کردن) کدهای اندروید به جاوا و کلاس MainActivity است. دستور یا تابع  زیر:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

نقطه شروع نرم افزار اندرویدی است که توسط کد setContentView محل لایه رو شناسایی کرده و تمامی اجزای که در لایه هستند رو میتونه بشناسه،می بینیم که در اینجا محل لایه  R.layout.activity_main معرفی شده که به منبع جاوای ما میگه که اجزای سازنده رابط کاربری مثل دکمه ها (button)در این قسمت وجود داره.

حلا با این توصیفات می خواهیم یک کد به قسمت جاوای برنامه مون اضافه کنیم تا وختی که بر روی دکمه کلیلک میشه یک متن رو به ما نشون بده،اول از همه باید دکمه ای که در لایه مون قرار داره رو به کدهای جاوا اضافه کنیم(تصویر زیر) کدهای که من به برنامه اضافه کردم رو نشون میده.

کار با دکمه ها در اندروید

این هم کدهای کامل بخش MainActivity.java

//نام پکیج
package com.appinapps.button;

//اینپرت های کدهای اندروید در محیط جاوا
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

//شروع کلاس جاوای برنامه ما
public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	//معرفی دکمه وارد کردن نام و محل قرارگیری اون از لایه 
		Button btn = (Button) findViewById(R.id.button1);
		//این دستوردر هنگام کلیک کردن بر روی دکمه فراخوانی میشه و هر کدی رو که نوشته باشم رو اجرا میکنه 
		btn.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				//دستور توست برای نمایش یک متن کوتاه چند لحظه ای
				Toast.makeText(MainActivity.this, "سلام این یک مثال از نمایش پیغام هنگام کلیک دکمه بود با تشکر گروه کامیپوتر دانشگاه آزاد UnitAzad.ir!!", Toast.LENGTH_LONG).show();
			}
		});
		

}

الان میتونید برنامه تون رو اجرا کنید و نحوه عملکردش رو ببینید.

دانلود سورس پروژه ی Button                       دانلود فایل نصبی Apk پروژه Button

سلام دوستان عزیز.در این جلسه می خواهیم با وب ویو (webview)در سیستم عامل اندروید کار کنیم،اوا از همه یک توضیح مختصری در مورد وب ویوو داشته باشیم.وب ویو وظیفه نمایش وب رو در اختیار داره طوری که میتوینم از اون برای نمایش یک وبسایت ویا کدهای Html استفاده کنیم.کارکردن با وب ویو خیلی اسونه و نیلزی به مهارت و یا دانش برنامه نویسی وب به اون صورت نداره مگر در مواقع حرفه ای که در اموزش های پیشرفته اندروید باهاش کار خواهیم کرد.یک پروژه جدید ایجاد میکنیم و با نحوه کار کرد وب ویو بیشتر اشنا می شویم.

کار با وب ویو در اندروید

بعد از اینکه پروژه رو ایجاد کردین از قسمت پالت ها در پوشه کامپوزیت (composite) ابزار وب ویو (Webview) رو انتخاب میکنیم و بر روی لایمون میکشیم.وب وبو خواص چندانی نداره که توضیح داده بشه به همین دلیل میریم به قسمت MainActivity برنامه  و به وب ویومون یک url جهت نمایش یک وبسایت میدیم. 

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//معرفی وب ویو و فراخوانی اون از لایه
WebView web = (WebView) findViewById(R.id.webView1);

//معرفی یک وبسایت برای نمایش بر روی وب ویو
web.loadUrl("https://www.google.com/");
}

بعد از اینکه کدهای مربوط به وب ویمون رو نوشتیم حالا برنامه مون رو اجرا میکنیم.می بینیم که برنامه ارور دسترسی نداشتن به اینترنت رو نشون داده علت این امر اینکه ما دسترسی و یا اجازه استفاده از اینترنت رو به برنامه خودمون ندادیم.در جلسه اول برنامه نویسی اندروید با AndroidManifest.xml اشنا شدیم حالا باید یک دسترسی جهت استفاده از اینترنت رو در فایل Manifest بنویسم.کد زیر

uses-permission android:name="android.permission.INTERNET

دسترسی برنامه ما رو به اینترنت ازاد میکنه و برنامه میتونه از اینترنت گوشی استفاده کنه.در زیر کدهای کامل بخش Manifest رو میبیند.

کار با وب ویو در اندروید

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.appinapps.webview"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET"/>

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.appinapps.webview.MainActivity"
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>

حالا برنامتون رو اجرا کنید.موفق باشید.

 دانلود Apk پروژه وب ویو                                         دانلود سورس پروژه وب ویو اندروید                 

سلام به قسمت جدید اموزش اندروید خوش اومدین،در این اموزش قصد داریم با تکست ویو ها (TextView) اشنا بشیم.تکست ویو در اندروید وظیفه نمایش دادن یک متن رو برعهده داره و اگر بخواهیم در برنامه ای که میسازیم بخش های رو نام گذاری و یا متنی رو نشون بدیم از تکست ویو استفاده میکنیم.در این پست باهام یک برنامه ای خواهیم ساخت که با نحوه کار تکست ویو اشنا بشینم.

من یک پروژه به نام Textview ایجاد کردم و از قسمت پالت ها ابزار تکست ویو رو بر روی لایه خودم میکشم، و از طریق تب activity_main.xml وارد قسمت کد نویسی لایه مون میشیم و خاصیت های تکست ویو مون رو بررسی و چندین خاصیت جدید بهش اضافه میکنیم.(تصویر برنامه من)

کار با تکست ویو در اندروید

می بینیم که تکست ویو تشکیل شده از عرض و ارتفاع که مقدارشون Wrap_content معرفی شده این مقادیر به تکست ویو این امکان رو میده که با نامی که براش انتخاب شده خودش رو هماهنگ کنه.خاصیت android:text وظیفه نام گذاری تکست ویو رو بر عهده داره  ما می بینیم که نام تکست ویو از ادرس خاصی فراخوانی شده (android:text="@string/UnitAzad.Ir") این نوع نام گذاری فراخوانی اطلاعات از استرینگ (String) هست.این فایل حاوی اطلاعات ذخیره شده به فرمت xml هست.در سمت چپ محیط ایکلیپس پوشه ای به اسم values وجود داره ،در داخل این پوشه یک فایل xml به نام string وجود داره که مسئول ذخیره سازی اطلاعات هست.در قسمت های اینده و بالاتر به توضیح کامل استرینگ میپردازیم.البته به به این نکته هم باید توجه کنیم که میتونیم نام تکست ویو رو بدن استفاده از استرینگ بنویسیم و تنها کافی متن مدنظرمون رو بین دو تا کوتیشن ("") قرار بدیم.

حالا میخواهیم با هم چند تا خاصیت جدید به تکست ویو اضافه کنیم خاصیت های مثل قابلیت نشانه گذاری قسمتی از متن،تغییر دادن رنگ در هنگام نشانه گذاری،کپی کردن قسمت مدنظر و تغیر فونت و اندازه فونت.به کدهای زیر توجه کنید؟

 

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
android:textIsSelectable="true"
android:textSize="20sp"
android:textStyle="italic"
android:textColorHighlight="#F04D4E" />

خاصیت android:textIsSelectable قابلیت نشانهگذاری قسمتی یا کل متن رو به ما میده و تنها با مقدار True و false کار میکنه،خاصیت android:textColorHighlight به تکست ویو ما این امکان رو میده که در هنگام نشانه گذاری از رنگ خاصی برای های لایت کردن قسمتی از متن استفاده کنه.خاصیت بعدی android:textSize هست که اندازه فونت تکست ویو رو مشخص میکنه با مقدار Sp اندازه گیری میشه،و خاصیت اخری android:textStyle هست که شبک نماشی تکست ویو رو تعیین میکنه که در حالتها bold,normal و italic هست.

دانلود فایل Apk پروژه تکست ویو                                 دانلود سورس پروژه تکست ویو