در حال لود شدن. لطفا شکیبا باشید.

پروژه های کاربردی در اندروید

به نام مهربان­ترین

کتابی که پیش­رو دارید گردآوری از برنامه‌های اندروید در زمینه­‌های مختلف است. از آن‌­جا که ما معتقدیم که کسب مهارت در برنامه‌نویسی، فقط با خواندن مطالب و یادگیری مفاهیم امکان‌پذیر نخواهد بود و مانند همه زبان‌های برنامه‌نویسی دیگر، تمرین نقش اصلی و مهمی را در برنامه‌نویسی اندروید بازی می‌کند، این کتاب با برنامه‌­های متنوع خود  سعی در افزایش مهارت­‌های شما در این زمینه دارد.

همان­‌طور که گفته شد قسمت عمده رسالت این کتاب تمرین بیش­تر در زمینه اندروید می­‌باشد. اگر نیاز دارید که با مفاهیم در برنامه‌­نویسی اندروید بیش­تر آشنا شوید توصیه می­‌کنیم قبل از مطالعه این کتاب کتاب “آموزش جامع برنامه­‌نویسی اندروید (مقدماتی/پیشرفته)” از همین مولف و انتشارات را که جزئیات کامل آن در آخر کتاب و در بخش منابع آمده است، مطالعه فرمائید.

در پایان امید داریم مطالعه این کتاب برای شما مفید واقع شود و رضایت کامل را از آن کسب نمائید. هم‌چنین هر گونه انتقاد، پیشنهاد و نظر شما می‌تواند ما را در این مسیر سخت یاری دهد. ما در سایت رِداَپس و یا از طریق رایانامه redapps.org@gmail.com با آغوشی باز منتظر شما هستیم.

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

پروژه‌های کاربردی در اندروید – انتشارات دیباگران

پروژه‌های کاربردی در اندروید – فیدیبو (نسخه الکترونیکی)


۱ ساخت یک پروژه اندروید

ایجاد اولین برنامه اندروید.


۲ شمارنده در اندروید

برنامه کاربردی CountDownTimer یک شمارنده معکوس است. این برنامه از یک زمان مشخص (بر حسب ثانیه) به صورت معکوس شروع به شمردن می­کند تا زمانی که زمان به صفر برسد. اندروید برای زمان­سنج معکوس یک کلاس ویژه دارد و استفاده از این کلاس ساده و کارآمد می­باشد.

پروژه فصل ۲ را از این‌جا دانلود کنید.


۳ برنامه محاسبه دنگ

گروهی دوستانه برای صرف شام به رستوران می­روند. برای محاسبه هزینه­‌ها و مشخص کردن دنگ هر فرد در این گروه، نیاز به محاسبات دستی برای درصد انعام و تقسیم مبلغ نهایی به تعداد افراد است. برنامه Tipster برای راحتی چنین محاسباتی پیاده‌سازی شده است تا در این برنامه با کدنویسی اندروید، عناصر گرافیکی رابط کاربری و انجام محاسبات ساده آشنایی بیش­تری کسب گردد.

پروژه فصل ۳ را از این‌جا دانلود کنید.


۴ رشته­‌ها در اندروید

برنامه­‌های اندروید شامل رشته‌­های بسیارند که در قسمت­‌های مختلف برنامه کاربری استفاده شده‌­اند. مدیریت رشته‌­ها در اندروید به دلیل پراکندگی آن­‌ها در فایل­‌های مختلف (کدهای XML، کدهای جاوا، فایل مانیفست و غیره) سخت و زمان‌­بر خواهد بود. اما اندروید برای حل این مسئله، راه­‌حلی ارائه کرده است. برنامه StringXML به ما نشان می­‌دهد که رشته‌­های استفاده شده در یک برنامه می‌­توانند درون یک فایل منبع ذخیره شوند تا دسترسی و تغییرات نیز بر روی آن‌­ها آسان‌­تر گردد. این برنامه هم‌­چنین اطلاعاتی در مورد چگونگی استفاده از رشته‌­ها در اختیار ما خواهد گذاشت.

پروژه فصل ۴ را از این‌جا دانلود کنید.


۵ قالب‌­های مختلف تاریخ

اشکال مختلفی برای بیان تاریخ و زمان وجود دارد. برای بهره‌­گیری از قالب­‌های مختلف تاریخ و زمان در اندروید، کلاسی به نام dateformatdemo وجود دارد که راه را برای کاربران خود هموار کرده است. برنامه DateFormatDemo با استفاده از این کلاس چندین قالب مختلف بیان تاریخ را به تصویر کشیده است.

پروژه فصل ۵ را از این‌جا دانلود کنید.


۶ فونت در اندروید

تعداد فونت‌­های موجود در یک دستگاه اندروید بسیار محدود است. اگر برنامه­‌نویسی بخواهد از فونت خاصی در برنامه خود استفاده کند، باید آن را به عنوان یک منبع خارجی به پروژه اضافه نماید. برنامه FontDemo تعدادی فونت را به برنامه اضافه کرده و متن­‌های خود را بر روی آن­‌ها تنظیم می‌­نماید

پروژه فصل ۶ را از این‌جا دانلود کنید.


۷ اجرای اکتیویتی با Intent

گاهی اوقات نیاز است که برای انجام یک کار در برنامه، برنامه کاربردی دیگری نیز اجرا شود. مانند باز کردن یک صفحه وب در برنامه اصلی. در چنین وضعیتی یک نمونه از Intent ایجاد شده و سپس با استفاده از تابع startActivity()، Intent ایجاد شده اجرا می­‌گردد. برنامه IntentsDemo با دریافت یک آدرس وب آن را در مرورگر دستگاه باز می­‌کند.

پروژه فصل ۷ را از این‌جا دانلود کنید.


۸ ارسال ایمیل متنی

در برنامه EmailTextView یک فیلد متنی وجود دارد که حاوی یک رشته است. با کلیک بر روی دکمه EMAIL TEXT! متن موردنظر باید از طریق ایمیل برای یک مخاطب ارسال شود.

پروژه فصل ۸ را از این‌جا دانلود کنید.


۹ ارسال ایمیل با پیوست

در برنامه EmailWithAttachments قرار است که یک و یا دو فایل به برنامه ضمیمه شده و از طریق ایمیل برای یک مخاطب ارسال گردد.

پروژه فصل ۹ را از این‌جا دانلود کنید.


۱۰ درخواست مجوز

در اندروید نسخه ۶ و بالاتر، مجوزها علاوه بر این­که در مانیفست برنامه مشخص می­ٍ‌شوند، در زمان اجرا نیز بررسی خواهند شد. در هر دستگاه اندروید منابع حساسی مانند اطلاعات محرمانه کاربر وجود دارد که برای دسترسی به این منابع باید مراحلی را رعایت کند.

پروژه فصل ۱۰ را از این‌جا دانلود کنید.


۱۱ صفحه راه‌­اندازی پروژه

برنامه SplashDialog حاوی یک صفحه راه­‌انداز است که تا زمان بارگذاری کامل برنامه به کاربر نشان داده می­‌شود. یک صفحه راه­‌اندازی می‌­تواند هم به صورت یک اکتیویتی و هم در قالب یک دیالوگ ساخته شود. هدف صفحه راه‌­اندازی این است که برای مدت زمان کوتاهی نمایش داده شود تا این­که برنامه به طور کامل بارگذاری گردد.

پروژه فصل ۱۱ را از این‌جا دانلود کنید.


۱۲ نوار اکشن

یکی از قسمت‌­های مهم در هر برنامه کاربردی اندروید، نوار اکشن است. برنامه ActionBarCompat سعی در ایجاد و پیکربندی نوار اکشن دارد. برای اضافه کردن نوار اکشن به برنامه می‌­توان در Layout از Toolbar و یا قدیمی­‌تر از آن از ActionBar استفاده کرد و سپس با استفاده از کدهای XML و جاوا عملکرد نوار را کنترل نمود.

پروژه فصل ۱۲ را از این‌جا دانلود کنید.


۱۳ ویجت CardView

ویجت Card ویجت تقریبا جدیدی در رابط کاربری است. قصد داریم که در برنامه CardDemo از این ویجت برای نمایش یک تصویر استفاده کنیم. در این برنامه از ویجت CardView برای نمایش یک تصویر به همراه کادر و متن توضیح استفاده خواهد شد.

پروژه فصل ۱۳ را از این‌جا دانلود کنید.


۱۴ انتخاب­‌گر آبشاری Spinner

برنامه SpinnerDemo، باید لیستی از آیتم‌­ها را در قالب انتخاب‌­گر آبشاری به کاربر نمایش دهد تا کاربر بتواند آیتم موردنظر خود را انتخاب نماید. برای نمایش لیست‌­های آبشاری در اندروید از شی Spinner استفاده کنید.

پروژه فصل ۱۴ را از این‌جا دانلود کنید.


۱۵ تنظیم عملکرد دکمه Enter

در بسیاری از برنامه­‌های اندروید از کلید Enter موجود در صفحه‌­کلید برای انتخاب کردن و یا انتقال نشانه‌­گر به عنصر بعدی صفحه‌نمایش استفاده می‌­شود. برنامه SoftKeyboardEnterNext دارای سه فیلد متنی و یک دکمه است. در این برنامه بعد از پرکردن فیلد متنی می‌­توان با استفاده از دکمه Enter به فیلد بعدی و به همین ترتیب به دکمه ثبت اطلاعات، رفت.

پروژه فصل ۱۵ را از این‌جا دانلود کنید.


۱۶ رتبه‌­بندی با RatingBar

قصد داریم میزان رضایت کاربر را در مورد موضوعاتی مطلع شویم. برنامه RatingBarDemo در مورد سرویسی که به کاربر ارائه کرده و هم­‌چنین هزینه آن سرویس، رتبه‌­بندی انجام می‌­دهد تا کاربر بتواند در محدوده ۱ تا ۵ میزان رضایت خود را ثبت کند.

پروژه فصل ۱۶ را از این‌جا دانلود کنید.


۱۷ FloatingActionButton

امروزه در برنامه‌­های کاربردی خصوصا برنامه­‌های شرکت گوگل یک طراحی گرافیکی جدید به وجود آمده است. دکمه­‌ای که در پایین و سمت راست برنامه قرار می‌­گیرد و یک وظیفه پرکاربرد در برنامه را برعهده دارد. در این بخش چنین ویژگی را به برنامه FloatingActionButtonSnackbarDemo اضافه خواهیم کرد.

پروژه فصل ۱۷ را از این‌جا دانلود کنید.


۱۸ ساخت Layout سفارشی

طراحی صفحات یک برنامه کاربردی بسته به سلیقه کاربر آن می‌­تواند متفاوت باشد. در این بخش برنامه LayoutBorder نسبت به برنامه‌­های دیگر دارای رابط کاربری متفاوتی است. در این برنامه کادری با گوشه‌­های خمیده، صفحه نمایش را پر کرده است. برای شروع کار یک شکل (دایره، بیضی، مربع و غیره) در فایل XML تعریف کنید و سپس آن را به عنوان پس­‌زمینه به یک Layout تخصیص دهید.

پروژه فصل ۱۸ را از این‌جا دانلود کنید.


۱۹ سفارشی‌­سازی Toast

ظاهر پیغام‌­های Toast قابل تغییر است تا سفارشی­‌سازی شده و موردپسند کاربر نهایی قرار گیرد. برای طراحی ظاهر جدید پیغام، یک فایل Layout با کدهای XML ایجاد کنید و سپس در کدهای جاوا از آن استفاده نمائید.

پروژه فصل ۱۹ را از این‌جا دانلود کنید.


۲۰ منو و مدیریت آیتم‌های آن

پروژه فصل ۲۰ را از این‌جا دانلود کنید.


۲۱ دیالوگ برگه‌­ای

اطلاعات یک برنامه شامل دو بخش متفاوت است. برنامه TabHostDemo برای نمایش این اطلاعات به کاربر، آن­‌ها را دسته­‌بندی کرده و هر کدام را در یک برگه از دیالوگ برگه‌ای نمایش می‌دهد.

پروژه فصل ۲۱ را از این‌جا دانلود کنید.


۲۲ ساخت یک دیالوگ پیشرفت

برنامه ProgressDialogDemo پردازشی را در پس­‌زمینه خود انجام می­‌دهد. اگر کاربر بخواهد کار دیگری را در این برنامه انجام دهد، برنامه باید کاربر را از اجرای پردازش مطلع کرده و از او بخواهد که کمی صبر کند. این اطلاع‌­رسانی می­‌تواند از طریق نمایش یک دیالوگ صورت گیرد.

پروژه فصل ۲۲ را از این‌جا دانلود کنید.


۲۳ کلاس AboutBox

کادرهای About ، از جمله کادرهای متداول در برنامه‌­های کاربردی هستند. در این برنامه سعی داریم کلاس AboutBox را به­‌گونه‌­ای ایجاد کنیم که در برنامه­‌های دیگر نیز قابل استفاده دوباره باشد.

پروژه فصل ۲۳ را از این‌جا دانلود کنید.


۲۴ لیست متن و تصاویر

پروژه فصل ۲۴ را از این‌جا دانلود کنید.


۲۵ انیمیشن

استفاده از انیمیشن در برنامه­‌های اندرویدی باعث جذابیت رابط کاربری خواهد شد. برنامه Lights تصویری از چراغ راهنمایی را نمایش می‌­دهد که چراغ­‌های آن روشن و خاموش می‌­شود.

پروژه فصل ۲۵ را از این‌جا دانلود کنید.


۲۶ پنجره Pop-up

در برنامه‌های کاربردی اندروید، تنها راه تعامل کاربر با برنامه، صفحه‌نمایش مربوط به اکتیویتی برنامه نیست. بلکه در اندروید قابلیت نمایش یک دیالوگ بر روی صفحه اصلی برنامه نیز وجود دارد. از این دیالوگ می­‌توان برای پرسیدن سوال، دریافت ورودی موردنیاز، نمایش یک پیغام کوتاه به کاربر و موارد مشابه استفاده کرد. در این پروژه برای نمایش اطلاعات به کاربر یک پنجره Pop-up ایجاد کرده و آن را بر روی صفحه نمایش اصلی، نشان دهید.

پروژه فصل ۲۶ را از این‌جا دانلود کنید.


۲۷ ذخیره وضعیت اکتیویتی

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

پروژه فصل ۲۷ را از این‌جا دانلود کنید.


۲۸ پخش صوت در اندروید

در این برنامه می­‌خواهیم یک فایل صوتی را با استفاده از MediaPlayer پخش کنیم. پخش صوت در این برنامه بدون تعامل کاربر (تنظیم صدا، عقب یا جلو بردن صوت و …) انجام می­شود.

پروژه فصل ۲۸ را از این‌جا دانلود کنید.


۲۹ برنامه بارکدخوان

بارکدها یا کدهای QR اطلاعات مختصری را در خود ذخیره می‌­کنند که توسط دستگاه‌­های مختلف قابل تشخیص هستند. امروزه از بارکدها در بخش­‌های مختلف مانند دسترسی به آدرس­‌های وب، اطلاعات تماس و غیره استفاده می­‌شود. گوگل یک برنامه بارکدخوان رایگان دارد که دسترسی به آن از طریق برنامه­‌های اندرویدی دیگر نیز امکان­‌پذیر می­‌باشد. برای استفاده از این قابلیت در برنامه­‌های خود، قبل از هر کاری با جستجو در بازارهای اینترنتی، برنامه ZXing را بر روی دستگاهی که قرار است برنامه ScanBarcode اجرا شود، نصب کنید.

پروژه فصل ۲۹ را از این‌جا دانلود کنید.


۳۰ جستجو در وب

برای جستجو در وب در یک برنامه کاربردی کافیست که از Intentای با اکشن ACTION_WEB_SEARCH استفاده شود. برنامه WebSearch عبارتی را از کاربر دریافت کرده و در وب جستجو می‌­کند.

پروژه فصل ۳۰ را از این‌جا دانلود کنید.


۳۱ بارگذاری تصاویر

برنامه­‌نویسان برنامه‌­های اندرویدی معمولا برای بارگذاری عکس در برنامه خود و هنگام کار با Bitmap با خطای java.lang.OutOfMemoryError: bitmap size exceeds VM budget مواجه می­شوند، خصوصا زمانی که حجم Bitmap زیاد (در حدود مگابایت) و یا تعداد آن­‌ها زیاد باشد. دلیل این اتفاق این است که منابع دستگاه تلفن‌­همراه محدود است و در مقابل Bitmapها به حجم وسیعی از حافظه نیاز دارند. در چنین مواقعی می­‌توان به جای تصویر به اندازه واقعی، آن را با نسخه­‌ای با وضوح کم­تر بارگذاری کرد. باگذاری Bitampها با استفاده از کلاس BitmapFactory امکان­‌پذیر است. این کلاس تنظیماتی به نام Options دارد که برای کاهش وضوح تصویر و در نتیجه صرفه­‌جویی در حافظه استفاده می­‌شود.

پروژه فصل ۳۱ را از این‌جا دانلود کنید.


۳۲ دسترسی به آیتم‌­های لیست

برنامه StateListRead لیستی از آیتم‌­های چند بخشی را دربردارد. در این برنامه با کلیک بر روی هر آیتم قسمت­‌های مختلف آن را در یک دیالوگ به کاربر نمایش دهید.

پروژه فصل ۳۲ را از این‌جا دانلود کنید.


۳۳ استفاده از راهنما در فیلد متنی

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

پروژه فصل ۳۳ را از این‌جا دانلود کنید.


۳۴ محدودیت در فیلد متنی

اعمال محدودیت بر روی ورودی کاربر در برنامه‌­های اندروید از جمله کارهای متداولی است که صورت می‌­گیرد. برای نمونه کاربر باید در یک فیلد فقط عدد وارد کند، عدد وارد شده حتما اعشاری باشد، عدد حتما بین یک محدوده وارد شود، کاراکتری که وارد می­‌شود با حروف بزرگ باشد و غیره. در ویجت فیلد متنی (EditText) ویژگی به نام android:inputType وجود دارد که به راحتی نوع ورودی فیلد را مشخص می‌­کند و دیگر نیاز به کدنویسی برنامه‌­نویس برای بررسی صحت ورودی نیست. از طرف دیگر از رابط TextWatcher نیز برای محدود کردن مقادیر استفاده می‌­شود. این رابط می‌­تواند متن وارد شده به یک فیلد متنی را مدام پایش کرده و تغییرات آن را متوجه شود. در برنامه Precentage قصد داریم که با استفاده از رابط TextWatcher ورودی فیلد متنی را کنترل کنیم تا فقط عدد وارد شود و مقدارش از ۱۰۰ بیش­تر نگردد.

پروژه فصل ۳۴ را از این‌جا دانلود کنید.


۳۵ محاسبه اندازه نما

از آن­‌جا که اندازه صفحه نمایش در دستگاه­‌های مختلف متفاوت است، برای مدیریت بهتر نماهایی که به صورت پویا و در طول برنامه ایجاد می­‌شوند، بهتر است که به اندازه نمای اصلی برنامه دسترسی داشته باشیم تا براساس آن اندازه نمای موردنظر را تعیین نمائیم. برنامه ViewSize در حین اجرای برنامه اندازه صفحه نمایش و نماهای برنامه را نشان می‌­دهد.

پروژه فصل ۳۵ را از این‌جا دانلود کنید.


۳۶ SeekBar در اندروید

SeekBar یک رابط کاربری کنترلی است که کاربر با استفاده از آن می‌­تواند به راحتی عددی بین یک بازه را انتخاب نماید. بهترین مورد استفاده از SeekBar زمانی است که بخواهیم کاربر درصدی بین صفر تا صد را انتخاب نماید.

پروژه فصل ۳۶ را از این‌جا دانلود کنید.

Munza is a Responsive Multi-Concept WordPress Theme built using HTML5/CSS3 features and suitable for creative companies, projects, services.

Newsletters.

Lorem ipsum dolor sit amet, consectetur adipiscing elit egetvel.