10 ابزار پرکاربرد مخفی در ویندوز

فرقی ندارد از ویندوز ۷ استفاده بکنید یا ویندوز ۸ و یا از نسخه های در حال انقراض سیستم عامل پرکاربرد مایکروسافت!، چرا که این سیستم عامل چندین ابزار سیستمی پنهان در خود جای داده که تنها به برخی از انها می توانید از منوی استارت دسترسی داشته باشید و به باقی آنها تنها با تایپ چند خط دستور کد فرمان در کادر Run  می توانید دسترسی داشته باشید.

10 ابزار پرکاربرد مخفی در ویندوز

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

ابزار Windows Memory Diagnostic

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

10 ابزار پرکاربرد مخفی در ویندوز

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

ابزار Resource Monitor

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

10 ابزار پرکاربرد مخفی در ویندوز

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

برای دسترسی به این ابزار کافیست TaskManager را اجرا کرده و به زبانه Performance بروید و بر روی گزینه Resource Monitor کلیک کنید. این ابزار را می توانید به طور مستقیم و با جستجوی نام آن در کادر جستجو در منوی استارت پیدا کرده و استفاده کنید.

ابزار Performance Monitor

این ابزار به شما این امکان را می دهد که اطلاعات کارآیی سیستم خود را جمع آوری و مشاهده کنید.

10 ابزار پرکاربرد مخفی در ویندوز

از این ابزار همچنین می توانید برای گزارش گیری کارآیی سیستم در یک زمان خاص از جمله تاثیر تغییرات صورت گرفته در سیستم بر کارآیی آن و یا مشاهده و تحت نظر گرفتن کارآیی یک سیستم از راه دور به طور زنده استفاده کنید.

ابزار Computer Management and Administrative Tools

ابزار بررسی کارآیی سیستم در واقع تنها یکی از ابزارهای مدیریت کنسول مایکروسافت (MMC) است و بسیاری از این ابزارهای سیستمی را می توانید در بخش ابزارهای مدیریتی ویندوز پیدا کنید اما در عین حال این ابزارها را می توانید با باز کردن پنجره ابزارهای مدیریتی رایانه (Computer Management application) در یک پنجره باز کنید.

10 ابزار پرکاربرد مخفی در ویندوز

در کنار باقی موارد ، این پنجره شامل ابزارهای زیر است:

- Task Scheduler

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

- Event Viewer

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

- Shared Folders

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

- Device Manager

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

- Disk Management

همانطور که از نام آن پیداست یک ابزار در اصطلاح پارتیشن بندی هارد درایو شماست که شما را تقریبا از دانلود و نصب هر گونه برنامه اضافی بی نیاز می کند.

- Services

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

10 ابزار پرکاربرد مخفی در ویندوز

در پنجره Administrative Tools همچنین شاهد ابزارهای مفید دیگری مانند فایروال ویندوز و برنامه های امنیتی آن هستیم که به شما اجازه تعیین قوانین خاص در این خصوص را می دهند.

- Advanced User Accounts Tool

سیستم عامل ویندوز همچنین یک ابزار پنهان کاربری دارد که برخی گزینه ها را که در رابط کاربری عادی و استاندارد ویندوز قرار ندارند را در اختیار شما قرار می دهد. برای باز کردن و دسترسی به این ابزار کافیست کلیدهای ترکیبی WinKey+R را فشار دهید. WinKey در واقع همان کلیدی است که علامت ویندوز بر ریو ان دیده می شود و به تنهایی و با زدن آن منوی استارت برای شما باز می شود. با زدن این دو دکمه به صورت ترکیبی، کادر Run در برابر شما ظاهر می شودحالا کافیست در این کادر تایپ کنید: netplwiz و یا control userpasswords2و بعد Enter  را بزنید تا پنجره این ابزار در برابر شما ظاهر شود.

10 ابزار پرکاربرد مخفی در ویندوز

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

- Disk Cleanup

این ابزار نیز مخصوصا برای کاربرانی که از سیستم های کُندتر بهره می برند ابزاری آشناست یا کاربرانی که از کمبود فضای هارد بر روی سیستم خود رنج می برند اما خب هنوز بسیاری از کاربران هستند که از قابلیت این ابزار بی خبر هستند.

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

10 ابزار پرکاربرد مخفی در ویندوز

این ابزار دقیقا مانند برنامه های پاک کننده سیستم عمل می کند اما خب رایگان است و هیچ هزینه ای بر روی دست شما باقی نمی گذارد. کاربران حرفه ای تر به ابزارهایی مانند CCleaner  روی می آورند اما به نظر این ابزار ویندوز راحت تر و کم دردسرتر است. برای دسترسی به این ابزار می توانید نام آن را در منوی استارت ویندوز جستجو کنید. خانه تکانی خوبی داشته باشید!

- Group Policy Editor

همین ابتدای توضیح این ابزار بد نیست بگوئیم که این ابزار تنها در نسخه حرفه ای و یا نامحدود ویندوز در دسترس قرار دارد و در ویندوز های نسخه خانگی و استاندارد نمی توانید به آنها دسترسی داشته باشید.

10 ابزار پرکاربرد مخفی در ویندوز

با این ابزار می توانید به تنظیمات گسترده ای دسترسی داشته باشید که برای استفاده مدیران سیستم ها در جهت مدیریت رایانه ها در شبکه های تحت مدیریت خود، طراحی شده اند. البته برخی تنظیمات این ابزار نیز می تواند توسط کاربران عادی مورد استفاده قرار گیرد. به طور مثال در ویندوز ۸ می توانید با استفاده از این ابزار، منوی قفل صفحه نمایش را غیرفعال کرده و مستقیما به صفحه لاگین برسید. برای رسیدن به این ابزار کافیست در منوی استارت عبارت gpedit.msc را وارد کنید.

- Registry Editor

شرمنده! اگرچه بسیاری از شما با ویرایش رجیستری سر و کار داشته اید اما خب همچنان یک ابزار پنهان به حساب می آید و هنوز مایکروسافت لینک دسترسی به آن را در منوی استارت نگنجانده است. برای دسترسی به این ابزار همانطور که می دانید باید عبارت regedit را در منوی استارت وارد کرده و Enter را بزنید.

10 ابزار پرکاربرد مخفی در ویندوز

بسیاری از قابلیت های موجود در ابزار Group Policy Editor به صورت معادل در ابزار ویرایش رجیستری نیز وجود دارند. به طور مثال در ویندوز ۸ کاربران نسخه های استاندارد نمی توانند با استفاده از Group Policy Editor صفحه قفل را غیرفعال کنند اما آنها می توانند با همین ابزار ویرایش رجیستری آن را غیرفعال کنند.

- MSConfig

ابزار پیکربندی سیستم یک ابزار کلاسیک دیگر است که کاربران بسیاری در مورد آن تجربه دارند. پیش از ویندوز ۸ که برنامه مدیریت برنامه های استارت آپ خود در این خصوص را به بخش TaskManager اضافه کرده، از این ابزار تقریبا پنهانی برای مدیرت برنامه های استارت آپ ویندوز که با بالا آمدن ویندوز به طور خودکار اجرا می شدند استفاده می شد.

10 ابزار پرکاربرد مخفی در ویندوز

این ابزار همچنین به شما اجازه مدیریت بخش موسوم به بوت لودر و انتخاب سیستم عامل را می دهد که مخصوصا وقتی از چندین سیستم عامل بر روی رایانه خود بهره می برید مفید فایده واقع خواهد بود. برای دسترسی به این ابزار می توانید در منوی استارت عبارت msconfig را تایپ کنید و Enter را بزنید.

-System Information

این ابزار همانطور که از نام آن پیداست به شما اجازه کسب اطلاع کامل از وضعیت فعلی سیستم را می دهد . وقتی می گوئیم اطلاعات این یعنی شامل شماره مدل سی دی رام تا هارد دیسک ها و ابزارهای جانبی و برنامه های استارت آپ موجود سیستم است.

10 ابزار پرکاربرد مخفی در ویندوز

این درست که ظاهر چندان کاربر پسندی ندارد و باید برای جستجو در آن حسابی دقت کنید اما به هر حال بدون اینکه به شما زحمت نصب یک برنامه دیگر را بدهد اطلاعات کامل و مفصلی از سیستم را در اختیارتان می گذارد. برای دسترسی به این ابزار می توانید عبارت System Information را در منوی استارت جستجو کنید.

حالا که می دانید این ابزارها در سیستم عامل شما موجود هستند مطمئنا می توانید کارهای بیشتری از ویندوز خود انتظار داشته باشید. این ابزارها بر روی بسیاری از ویندوزها موجود هستند و بدون اینکه احتیاج به نصب یک برنامه اضافه داشته باشید می توانید کارهای مورد نظر خود را انجام دهید.

خاموش کردن خودکار رایانه بدون نیاز به نرم افزار


خاموش کردن خودکار رایانه بدون نیاز به نرم افزار

شاید برایتان پیش آمده باشد که در انتهای شب منتظر اتمام دانلود یا کپی شدن چیزی باشید تا پس از آن رایانه را خاموش کنید. اما آیا راهی برای خلاص شدن از این انتظار کشنده هست؟ ما در اینجا نحوه تنظیم پیکره بندی ویندوز، برای خاموش کردن خودکار رایانه را به شما خواهیم آموخت، با این شرط که در لحظه مقرر، در حال کار با رایانه نباشید یا خود ویندوز مشغول کاری نباشد.

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

دستور کار
برای ایجاد وظیفه مذکور باید Task Scheduler را از طریق یکی از مراحل 1 ، 2 و 3 پیدا کرده و اجرا کنید :

1. در منوی Start از مسیر زیر پیروی کنید :
Start>All Programs>Accessories>System Tools>Task Scheduler

یا
2. در کادر جستجوی منوی Start عبارت Task Scheduler را تایپ کرده و Enter کنید.

یا
3. در پنجره Control Panel مسیر زیر را دنبال کنید:
Control panel>System and Security>Administrative Tools>Task Scheduler

4. سپس از قاب سمت راست آن روی لینک Create Task کلیک کنید.

5. حالا باید برای این وظیفه یک نام تعیین کنید و از تیک داشتن گزینه Run with highest privileges اطمینان حاصل کنید چرا که انجام shutdown یه سطح مجوز Administrator نیاز دارد.

6. حال به زبانه Triggers بروید . روی New کلیک کنید و سپس زمانبندیتان که برای خاموش شدن خودکار، مد نظرتان است را تعیین کنید. مثلا هرشب ساعت 12:00

7. حالا به زبانه Actions بروید. روی New کلیک کنید و سپس در کادر Program/script عبارت shutdown و در کادر add arguments نشانوند S/ را وارد کنید. اگر میخواهید رایانه را وادار به خاموش شدن و بستن آنی(Kill) برنامه ها کنید، میتوانید از این دو نشانوند S/F/ با هم استفاده کنید.

8. سپس به زبانه Conditions بروید، و گزینه Start the task only if the computer is idle for را تیک بزنید تا این وظیفه فقط در صورتی انجام شود که رایانه برای مدتی بیش از X دقیقه بیکار مانده باشد.این مدت زمان در مقابل همین گزینه قابل تنظیم است. در زیر همین گزینه میتوانید تعیین کنید که اگر در زمان مقرر رایانه مشغول بود، برای انجام دادن این وظیفه تا چه مدت منتظر بیکار شدن سیستم بماند. میتوانید با تیک زدن گزینه Stop if the computer ceases to be idle انتخاب کنید که در صورتی که رایانه از بیکار بودن خارج شد انجام این وظیفه متوقف شود. در صورتی که گزینه Restart if the idle state resumes را تیک بزنید، اگر رایانه دوباره وارد وضعیت بیکار شود، انجام این وظیفه مجددا آغاز میشود.

9.در پایان به زبانه Setting بروید. در آنجا میتوانید تعیین کنید که اگر وظیفه با شکست مواجه شد هر چند دقیقه یکبار مجددا تلاش کند. به این ترتیب اگر پیش از زمان معمول پای رایانه‌تان بودید این وظیفه مدتی بعد فعال شده  و رایانه را خاموش میکند.

10. روی دکمه OK کلیک کنید و تمام! رایانه تان در زمان مقرر به طور خودکار خاموش خواهد شد.

محدودیت‌های سرعتی ایجاد شده توسط ISP خود را کشف کنید



چگونه باید متوجه شویم که ISP ما آیا در راه سرعت دانلود
و آپلود ما محدودیت ایجاد کرده است و آیا اینکه یکسری از ترافیک های خاص را ممنوع
کرده و درگیر آنچه به اصطلاح "شکل دهی به ترافیک" نامیده میشود –
Traffic Shaping – شده است یا خیر؟ این موضوعی
است که بسیاری از کاربران در خصوص آن دغدغه دارند و به هر حال دانستن آن خالی از
لطف هم نیست.


به گزارش «تابناک» این روزها کاربران ایرانی در بسیاری از موارد از
سرعت پایین اینترنت ناراضی بوده و شکایت میکنند، موضوعی که باعث میشود برخی از
کاربران اینترنت مجبور به تغییر دادن خدمات رسان اینترنت خود یا همان
ISP خود شوند.



شاید برای بسیاری از کاربران جالب باشد که بدانند که آیا ISP آنها محدودیت هایی بر سر راه دانلود و آپلود
آنها ایجاد میکند، و اگر اینگونه است این محدودیت ها در چه نقطه و مسیری از
اینترنت است؟



پاسخ این سوال را میتوانید از طریق ابزار تحت وب Glasnost که یک پروژه طراحی شده از سوی موسسه سیستم
های نرم افزاری
Max Planck هست، پیدا کنید. ابزاری
که برای نشان دادن محدودیت های ایجاد شده توسط
ISP و گزارش
آنها در مدت زمانی تقریبا کوتاه طراحی شده است.



با ورود به صفحه این وب سایت توضیحاتی در خصوص چگونگی انجام آزمایش و
مسائلی که پیش از آن باید انجام شود به مخاطب ارائه شده است. با فشردن یک دکمه شما
میتوانید با انتخاب نوع آزمایش مورد نظر خود جزئیات چگونگی ارائه خدمات از سوی
ISP خود را پیدا کنید:

محدودیت‌های اینترنتی ایجاد شده توسط ISP خود را کشف کنید


هرچند در صفحه خود نرم افزار توضیح داده است که هر کدام از آزمایشات
به شکل جداگانه در حدود 8 دقیقه به طول می انجامد اما آزمایش ما برای فهمیدن
محدودیت های دانلود و آپلود
P2P در حدود 5 دقیقه بیشتر
زمان نبرد:

محدودیت‌های اینترنتی ایجاد شده توسط ISP خود را کشف کنید


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

محدودیت‌های اینترنتی ایجاد شده توسط ISP خود را کشف کنید


همچنین با در اختیار قرار دادن یک لینک جداگانه، این ابزار به کاربر
این امکان را میدهد که از جزئیات کامل آزمایش صورت گرفته با اعداد و ارقام به دست
آمده کسب اطلاع کند که در نوع خود شمای ویژه ای از درک سرعت واقعی اینترنت شما در
آپلود و دانلود را ارائه میکند:

محدودیت‌های سرعتی ایجاد شده توسط ISP خود را کشف کنید


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



این ابزار به خوبیبه کاربران کمک میکند که در مقایسه خدمات رسانی ISP ها بهترین گزینه را برای اتصال به دنیای وب
برای خود انتخاب کنند.

http://broadband.mpi-sws.org/transparency/bttest.php

منبعhttp://www.irexpert.ir/Webforms/News/News.aspx?EvID=160694

در گوگل به صورت حرفه ای جستجو کنید


وقتی منبع عظیمی مثل گوگل در اختیار آدمیزاد باشد، ترجیح می دهد حتی برای پیدا کردن «آدرس زیره فروشی در خیابان سهروردی» هم به آن مراجعه کند. اگر بلد باشید خوب و حرفه ای جستجو کنید، همه چیز بدون تلاش خاصی زیر یوغ شماست!

در گوگل به صورت حرفه ای جستجو کنید

در گوگل به صورت حرفه ای جستجو کنید

می توانید بدون باز کردن یچ سایت جانبی، خیلی از اطلاعات آب و هوا، فرموال های ریاضی و … را از گوگل بپرسید. مثلا برای پیدا کردن ساعت در کابل بزنید: time Kabul، پیش بینی آب و هوای کابل: weather Kabul، طلوع آفتاب در کابل: sunrise Kabul؛ یا برای به دست آوردن نتیجه یک محاسبه ریاضی، کافی است رابطه اش را در گوگل بنویسید و Enter را بزنید.

۲- کلماتی را که نمی خواهید، از جستجو حذف کنید

اگر دنبال موضوعی درباره وب دیزاین هستید، ولی نتیجه هایی را که در مورد تبلیغات است نمی خواهید، کافی است از کاراکتر خط تیره «-» استفاده کنید: web design – advertising.

3- فقط محتویات یک سایت خاص را جستجو کنید

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

web design site yoursitedomain.com

4- از کلمات مشابه و هم خانواده استفاده کنید

اگر از معنای دقیق کلمه ای خبر ندارید، می توانید از کلمات مشابه آن یا هم معنی هایش استفاده کنید تا جستجوی دقیق تری داشته باشید. برای این کار فقط در آخر سرچ، از علامت «~» بین کلمات مشابه یا هم معنی استفاده کنید:

web Design ~ web development

5- فرمت فایل خود را مشخص کنید

اگر دنبال نتایجی هستید که به صورت PDF یا Word یا فرمتی خاص باشد، می توانید کلمه کلیدی، “Filetype”، و بعد فرمت مورئد نظر خود را جلوی موضوع بنویسید:

web design filetype.pdf

6- از Range استفاده کنید

فرضا می خواهید مطلبی را بین سال های ۱۹۴۰ تا ۱۹۵۰ جستجو کنید. کافی است به این صورت سرچ کنید:

president 1940-1950

7- واضح بنویسید

اگر می خواهید گوگل دقیقا عین عبارتی که در باکس جستجو نوشته اید را پیدا کند (برای مثال «طراحی وب سایت»)، آن را داخل علامت نقل قول قرار دهید: “web design”.

۸- معنای کلمات را بدانید

برای فهمیدم تعنا، ریشه و حتی تلفظ واژه ها می توانید به گوگل پناه ببرید. کافی است به این صورت تایپ کنید:

define.apple

9- از ستاره استفاده کنید

فرض کنید ایده ای برای جستجو دارید اما دقیقا نمی دانید از چه کلیدواژه هایی باید استفاده کرد. برای این موارد می توانید از ستاره استفاده کنید. آن وقت جای ستاره، ترکیباتی از چند کلیدواژه اولیه ای که دارید قرارت می گیرد. برای مثال cartoon * tutorials در در گوگل سرچ کنید. نتایجی که به دست می آید، چیزهایی مثل Cartoon Character IllustrationTutorials یا Cartoon Coloring Tutorial خواهد بود یعنی به جای ستاره، از ترکیبا مناسبی برای بهتر شدن نتیجه استفاده می کند.

۱۰- از صفحه Advanced Search استفاده کنید

اگر می خواهید مطلع شوید مردم ملبورن بعد از گل خداداد عزیزی به مارک بوسنیچ در آن بازی طلایی، چند بار اسم او را سرچ کرده اند، برای این کار می توانید به Advanced Search گوگل بروید و با انتخاب تنظیماتی، به راحتی این اطلاعات را به دست بیاورید، بدون اینکه نیازی به دانستن ترفندهای جستجو داشته باشید. غول گوگل، مرکب فرمانبر شماست!

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


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

شما به کمک این نرم افزارها قادرید با کامپیوتر خود کنید و صحبت خود به متن تبدیل کنند! بلی دیگر نیازی به تایپ نیست و تنها با تکیه به صندلی خود و صحبت کردن در میکروفن متون شما تایپ می شوند!

داراگون مدت زمان طولانی تنها نرم افزار موجود برای این کار بود ولی اکنون این گونه نیست. بهتر است سایر نرم افزارها و امکانات را بررسی کنیم.

Windows Speech Recognition:

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

این برنامه رایگان من را بسیار تحت تأثیر قرار داد و شما اکنون می توانید این نرم افزار را بر روی ویندوز ویستا، ویندوز ۷ و ویندوز ۸ استفاده کنید.

کنترل کامپیوتر خود با استفاده از ۵ دستور تشخیص صدا

برای فعال سازی برنامه Windows Speech Recognition، به قسمت منوی Start بروید و در قسمت جستجو کلمه speech recognition را تایپ کنید.

با کلیک بر روی نرم افزار باز شده شما می توانید ویژگی های دلخواه خود را فعال کنید و می توانید یک متن کوتاه را بخوانید تا ببینید صدای ضبط شده شما چطور است.

شما همین طور می توانید به همه ویژگی های Control Panel دسترسی داشته باشید.

هنگامی که تمامی تنظیمات را انجام دادید شما قادر هستید با این برنامه کار کنید.

برای شروع فقط در میکروفون بگویید که “start listening” سپس از برنامه صدایی همانند بوق می شنوید و برنامه منتظر دستور بعدی شما می ماند.

شما می توانید با استفاده از Windows Speech Recognition تقریبا هر کاری در کامپیوتر شخصی خود انجام دهید برای مثال:می تواند در مرورگرها زبانه جدیدی باز کند و از همه مهم تر برنامه های کاربردی ماکروسافت آفیس را باز کند و با آن ها کار کند. هنگامی که برنامه ماکروسافت ورد را باز کرد شما می توانید متن خود را بخوانید و ببینید که در برنامه نوشته می شود.

شما می توانید به کامپیوتر خود بگوید که خاموش شود و یا حتی دوباره بازگذاری شود. هنگامی که کار شما با این برنامه تمام شد، فقط بگویید”stop listening” و کار شما پایان می یابد و برنامه متوقف می شود تا زمانی که شما دوباره آن را صدا کنید.

استفاده از این برنامه آسان و رایگان است.

Google Voice Search:

کاربران مرورگر کروم حتما متوجه میکروفون کوچک در سمت راست نوار جستجوی گوگل شده اند. این میکروفون همان برنامه Google Voice Search است.

کنترل کامپیوتر خود با استفاده از ۵ دستور تشخیص صدا

خدمات گوگل درباره تشخیص صدا تا امروز عبارت اند از: موتور جستجو و خدمات ترجمه.

Google Voice Search فقط در مرورگر کروم که بر روی سیستم عامل های مختلف قابل دسترس است، استفاده می شود.

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

با فرض این که میکروفون شما به کامپیوتر شخصی شما وصل است (یا هدست) از شما گوگل می پرسد که آیا شما اجازه دسترسی به میکروفون را می دهید یا خیر؟

در صورت تائید از شما می خواهد که صحبت کنید و در مورد موضوعی که می خواهید جستجو را شروع کنید.

نتایج به سرعت بر روی صفحه نمایش شما نشان داده می شود بدون آن که نیاز باشد شما تایپ کنید.

کنترل کامپیوتر خود با استفاده از ۵ دستور تشخیص صدا

الگوریتم برنامه Google voice recognition نسبتاً خوب است و می تواند متوجه سخنان شما شود.

من توانستم با سایر لهجه ها مثل:آلمانی، اسکاتلندی هم به نتایج خوبی دست پیدا کنم.

Dragon NaturallySpeaking Premium:

Dragon یکی از بهترین و قدیمی ترین نرم افزارهای تشخیص صدا است ولی نسخه اصلی و خانگی Dragon NaturallySpeaking قیمتی حدود ۷۵ دلار دارد و با حق بیمه قیمت آن به ۱۵۰ دلار افزایش می یابد.

کنترل کامپیوتر خود با استفاده از ۵ دستور تشخیص صدا

هنگامی که شما برای اولین بار برنامه Dragon NaturallySpeaking را باز می کنید، باید یک صفحه مربوط به مشخصات کاربر را پر کنید.

سپس برنامه شما شروع به اجرا می کند در صورتی که آرم میکروفون نارنجی رنگ باشد یعنی Dragon در حال گوش دادن به سخنان شما نیست.

یکی از ویژگی های فوق العاده این برنامه، هماهنگی آن با برنامه Gmail است.

این برنامه به شما کمک می کند تا ایمیل های خود را بنویسید و به مخاطبان خود ارسال کنید.

همین طور می توانید به اشاره گر موس بگوید که در کجا قرار بگیرد.

دقت در دیکته و درست نوشتن متن در این نرم افزار شاهکار است.

شما به راحتی می توانید با دفترچه یادداشت و ماکروسافت آفیس ورد کار کنید. اگر این برنامه کلمه ای را نمی دانست می توانید آن را در داخل نرم افزار ذخیره کنید تا بعدها به مشکل نخورید.

شما همین طور می توانید تعیین کنید که کدام بخش از متن زیر خط دار و یا سایه دار و تیره باشد. در هنگامی که متن خود را خواندید می توانید آن را چاپ کنید.

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

TalkTyper:

TalkTyper یک برنامه تشخیص صدای آنلاین است که به شما گزینه های اساسی در مورد این که با متن خود چه کنید می دهد.

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

کنترل کامپیوتر خود با استفاده از ۵ دستور تشخیص صدا

TalkTyper از الگوریتم تشخیص صدای گوگل استفاده می کند، پس شما به کمک گوگل کروم احتیاج دارید. به سادگی بر روی میکروفون سبز رنگ کلیک کنید و متن مورد نظر خود را دیکته کنید.

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

اگر شما می خواهید متن خود را به زبان دیگری ترجمه کنید بر روی translating language کلیک کنید و زبان مورد نظر خود را انتخاب کنید.

TalkTyper به صورت اتوماتیک یک زبانه جدید در مرورگر کروم شما باز می کند که متن شما در آن قرار دارد.

TalkTyper به خوبی قادر به شناسایی لهجه های مختلف نیست و باید از آن در کارهای ساده تری استفاده شود.

شاید فقط در مورد محتوای یک ایمیل بهتر است استفاده شود.

باز هم می گویم گزینه بهتر استفاده از Dragon است.

Tazti:

که “tasty” هم تلفظ می شود یکی دیگر از برنامه های تشخیص صدا است.

این برنامه با دیگر برنامه ها دو فرق اساسی دارد که اولی این است که شما قادر هستید از این برنامه برای کنترل دستورات کامپیوتر و بازی های کامپیوتری استفاده کنید و دومی این است که شما به آن می توانید دستوراتی اضافه کنید و یا آن را تغییر دهید.

کنترل کامپیوتر خود با استفاده از ۵ دستور تشخیص صدا

شما می توانید با استفاده از این نرم افزار یک پوشه را باز کنید و یا می توانید حذف کنید.

شما می توانید همین طور از دستورات «کلیک کنید» و «دو بار کلیک کنید» هم بدون استفاده از ماوس استفاده کنید.

شما می توانید از این برنامه به مدت ۱۵ روز رایگان استفاده کنید و پس از آن ۱۵ دلار هزینه بپردازید.

- هیچ کدام برنامه ها به پای Dragon نمی رسند.

پس از تست هر ۵ برنامه واضح است که Dragon NaturallySpeaking برنده این مقایسه ها شده است.

با وجود برنامه ویندوز رایگان و حتی کار آیی راحت در گوگل کروم بسیاری از کاربران حاضر هستند تا ۱۵۰ دلار بپردازند و از یک برنامه کامل بهره مند شوند.

استفاده نکردن از صفحه کلید کار کاربران را بسیار آسان تر کرده است.

نا امن‌ترین سیستم‌عامل تلفن همراه کدام است؟


این گزارش مربوط به ماه های ژوئیه تا سپتامبر 2013 است که در آن اعلام شده است که 259 خانواد جدید از تهدیدهای تلفن همراهی شناسایی شد.

نا امن ترین سیستم عامل تلفن همراه کدام است؟

در حال حاضر، 97 درصد تهدید امنیتی یعنی تعداد 252 نرم افزار مخرب، مخصوص سیستم عامل تلفن همراه، اندروید است که محبوب  ترین سیستم عامل در میان سایر سیستم عامل ها است.

از این تهدیدهای امنیتی 252 مورد مربوط به سیستم عامل اندروید و 7 مورد مربوط به سیستم عامل نوکیا سیمبین (Symbian) است. این در حالی است که هیچ تهدید برای IOS، بلکبری یا ویندوز تلفن گزارش نشده است.این آمار نسبت به 205 خانواده "تهدیدهای تلفن همراهی" که در اوایل سال جاری شناسایی شده بود، افزایش داشته است.

نا امن ترین سیستم عامل تلفن همراه کدام است؟

البته ابزارها و سیستم های سنجش امنیت، فروشگاه اینترنتی Google Play که به عنوان فروشگاه اصلی مخصوص ابزارهای اندرویدی محسوب می شود، تهدیدها و بدافزارهای امنیتی کمتری در آن دیده می شود.

شرکت F-Secure در سال 1988 تاسیس شده است. این شرکت نرم افزارهای امنیتی را به عنوان یک سرویس از طریق اپراتورهای مختلف برای تهدیدات آنلاین و... ارائه می دهد .

سین سولیوان (Sean Sullivan) از مشاوران امنیتی مرکز F-Secure در این خصوص گفت؛ به طور کلی باید توجه داشت که در خدمات برخی شرکت ها از جمله گوگل تدابیری اندیشیده  شده است که می تواند ایمنی کاربر را فراهم کند. به عنوان مثال، اگر شما حساب کاربری Gmail خود را در این سیستم پاک کنید، تمام اطلاعات شما نیز پاک می شود.

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

نا امن ترین سیستم عامل تلفن همراه کدام است؟

تهدیدها عمدتا تروجان ها هستند. یعنی حدود 90 درصد از تمام تهدیدات را شامل می شوند. بیشترین درصد آنها نیز بانکداری تلفن همراه را هدف قرار داده اند. تروجان های بانکداری تلفن همراه از نوعSMS Spy ، است که به هدف رهگیری پیامهای SMS بانک ها برای شناسایی هویت ودر مرحله دوم شناسایی میزان اعتبار کاربر یا اطلاع از انجام معاملات آنلاین فرستاده می شوند.

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

بیست اختراع برتر سال!

alt


    در این مجموعه نگاهی به فهرست نهایی ۲۰ اختراع که برای جایزه جیمز دایسون رقابت می کنند، انداخته ایم. این اختراع ها به لحاظ کیفیت و نوآوری در طراحی مورد مقایسه قرار می گیرند. برنده این رقابت جایزه ای ۳۰ هزار پوند دریافت خواهد کرد. از جمله این اختراعات، این دستگاه ساخت بریتانیاست که مواد زائد صنایع نساجی را به مواد جایگزین پلاستیک تبدیل می کند.

 


alt


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

 


alt


    دستگاه سونو، ساخت استرالیا، که صداهای خاصی را از محیط حذف می کند. کاربران می توانند انتخاب کنند که چه صداهایی از محیط حذف شود.

 


alt


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

 


alt


    این دستگاه ساخت آمریکا به نام "روو لایتس" با ایجاد حلقه های نورانی در اطراف چرخ ها، ایمنی دوچرخه سواران را بالا می برد.

 


alt


    "کامب" نوعی کامیون بدون راننده که با استفاده از سیستم موقعیت یابی (جی پی اس) هدایت می شود. این وسیله نقلیه ساخت اتریش است.

 


alt


    "استک" نام این چاپگر کم حجم است که بر روی دسته ای کاغذ قرار می گیرد و همچنان که کار می کند، کاغذها مصرف کرده و به سمت پایین حرکت می کند. گروه سوئیسی سازنده این دستگاه می گوید که که این چاپگر برای خانه های کوچک ایده آل است.

 


alt


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

 


    alt


    دستگاه "تیم او" به کسی که با جلیقه نجات روی آب کشیده می شود، امکان می دهد صورتش خارج از آب قرار گیرد. ساخت بریتانیا.

 


alt


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

 


    alt
    این ژنراتور برق پیش از این جایزه جیمز دایسون را در بریتانیا برده است. این دستگاه با استفاده از حرکت امواج، برق تولید می کند.

 


    alt


    "ماموری" روکش لثه و حاوی حسگرهایی است که مهندسان ایرلندی سازنده آن، می گویند اگر در دهان یک ورزشکار قرار گیرد، می تواند در صورت وارد آمدن ضربه شدید به سر، پیامی به تیم پزشکی مخابره کند.

 


alt


    گفته شده که "بازوی تایتان"، ساخت آمریکا، توان بدنی شخص را بالا می برد و سازندگانش می گویند که به افراد آسیب دیده کمک می کند که عضلاتشان را بازسازی کنند.

 


alt


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

 


alt


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

 


عکس: بیست اختراع برتر سال


    قطعات این دست مصنوعی نیز که ساخت ژاپن است را می توان با یک چاپگر سه بعدی بازسازی کرد.

 


  عکس: بیست اختراع برتر سال


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

 


عکس: بیست اختراع برتر سال


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

 


عکس: بیست اختراع برتر سال


    "روم"، ساخت استرالیا یک سیلندر اکسیژن است که برای کودکان ساخته شده. به گفته سازندگانش حمل آن برای مبتلایان به آسم راحت تر از سیلندر های رایج کنونی است.

 


عکس: بیست اختراع برتر سال


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

آموزش برنامه نویسی اندروید - قسمت ۱۶: آشنایی با واحدهای اندازه گیری در سیستم عامل اندروید

اهداف آموزشی این قسمت عبارتند از:
1. معرفی dpi
2. آشنایی با واحد اندازه گیری dip
3. آشنایی با واحد اندازه گیری sp
4. نقطه ضعف واحد اندازه گیری sp
5. فرمول تبدیل واحد اندازه گیری dip به Pixel

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

معرفی dpi

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

اکنون با دانستن این نکته که صفحه نمایش دستگاه های اندرویدی بر اساس dpi که مخفف Dots per inch به معنی "تعداد نقطه در هر اینچ" گروه بندی می شوند، همواره بایستی این نکته را مد نظر قرار دهیم که در توسعه اپلیکیشن برای سیستم عامل اندروید برای مشخص کردن عناصر روی صفحه مثل دکمه ها، فاصله مابین عناصر روی صفحه و همچنین اندازه متن استفاده از واحد پیکسل کار صحیحی نیست چرا که به طور مثال 100 پیکسل در یک دستگاه با dpi بالا با 100 پیکسل در یک دستگاه با dpi پایین یکسان نخواهد بود بنابراین نتایج متفاوتی را مشاهده خواهیم کرد.


آشنایی با واحد اندازه گیری dip

رویکرد صحیح در رابطه با واحد انتخابی برای عناصر مورد استفاده در GUI یا همان "رابط گرافیکی کاربر" که در یک اپلیکیشن اندروید همان layout است dip می باشد که مخفف واژگان Device Independent Pixel است(این واحد اندازه گیری هم به صورت dip و هم به صورت dp نوشته می شود). در حقیقت dip یک واحد پیکسلی مجازی است که بر اساس یک صفحه نمایش با رزولوشن 160 dpi طراحی شده است. به عبارت دیگر یک dip معادل با یک پیکسل در یک صفحه نمایش که دارای 160 نقطه در هر اینچ است می باشد.

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


آشنایی با واحد اندازه گیری sp

در ارتباط با واحد dip بایستی توجه کرد که این واحد اندازه گیری به هیچ وجه تنظیمات دستگاه اندرویدی را مد نظر قرار نخواهد داد. برای روشن شدن این مطلب به ذکر مثالی می پردازیم. فرض کنیم که فرد کهنسالی یک گوشی با سیستم عامل اندروید دارد و از آنجا که وی دارای بینایی ضعیفی است تنظیمات تلفن همراه ایشان به نحوی است که کلیۀ متون را بزرگ تر از حد معمول نمایش می دهد. حال اگر ما اپلیکیشنی طراحی کنیم که از واحد اندازه گیری dip در UI آن استفاده شده باشد و فرد فوق الذکر اپلیکیشن ما را نصب کند به هیچ وجه قادر نخواهد بود تا اندازه فونت ها را بزرگ تر از آنچه ما تعریف کرده ایم بکند. برای رفع این مشکل یک واحد اندازه گیری دیگر در اندروید تحت عنوان sp که مخفف واژگان Scale Independent Pixel است(توجه داشتن باشیم که برخلاف dip در واحد sp نمی بایست حرف اول کلمه Independent را در مخفف قرار دهیم). در حقیقت نحوه عملکرد واحد sp همانند dip است با این تفاوت که واحد اندازه گیری sp تنظیمات دستگاه اندرویدی را نیز برای نمایش متون مد نظر قرار می دهد.

در واقع در مثال فوق اگر واحد های اپلیکیشن خود را به sp تغییر دهیم، فردی که دارای بینایی ضعیفی است با تغییر تنظیمات تلفن همراه خود به منظور بزرگ تر نشان دادن متون، قادر خواهد بود تا متون داخل اپلیکیشن ما را نیز بزرگ تر از حد معمول ببیند.


نقطه ضعف واحد اندازه گیری sp

اگرچه که واحد اندازه گیری sp به افرادی که داری بینایی ضعیفی هستند کمک بسیاری می کند تا بتوانند اندازه متون اپلیکیشن را بیشتر کنند اما این در حالی است که از لحاظ زیبایی شناسی و همچنین چیدمان عناصر داخل UI زمانیکه از واحد اندازه گیری sp استفاده کنیم ممکن است با مشکل مواجه شویم. به طور مثال فرض کنیم که اندازه متون اپلیکیشن خود را در حدی انتخاب کرده ایم که با عکس های موجود در layout یک هارمونی مناسبی داشته باشد. حال چنانچه کاربری تنظیمات تلفن همراه یا تبلت خود را به منظور بزرگ تر نشان دادن متون تغییر داده باشد، نه تنها این هارمونی مابین چیزهای قرار گرفته روی UI به هم می خورد بلکه این احتمال نیز وجود دارد که برخی از متون از صفحه نمایش نیز خارج شوند. بنابراین در حین استفاده از این واحد اندازه گیری می بایست بسیار دقت کرد(تنها واحد اندازه گیری که در این سری از آموزش ها استفاده خواهیم کرد واحد اندازه گیری dip است).


فرمول تبدیل واحد اندازه گیری dip به Pixel

به طور کلی برای اینکه متوجه شویم که یک dip در دستگاه هایی با Density متفاوت معادل با چند پیکسل است، می بایست در ابتدا تعداد dpi های صفحه نمایش مد نظر را تقسیم بر عدد 160 کرده سپس عدد حاصله را ضرب در اندازه شیئ خود بر حسب dip بکنیم. برای روشن تر شدن این مسئله به ذکر یک مثال می پردازیم. فرض کنیم که یک تلفن همراه داریم که رزولوشن آن برابر با 240 dpi است. در اپلیکیشن خود یک UI داریم که حاوی متنی است که اندازه آن معادل با 20 dip است. حال می خواهیم ببینیم که این متن معادل با چند پیکسل می باشد. در ابتدا عدد 240 را بر عدد 160 تقسیم می کنیم که می شود 1.5 سپس این عدد را در عدد 20 ضرب می کنیم که می شود 30 . در حقیقت این متن ما دارای اندازه 30 پیکسل در دنیای واقعی است.

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤالات زیر پاسخ بدهیم:
1. چرا استفاده از واحد پیکسل در توسعه یک اپلیکیشن اندرویدی کار صحیحی نیست؟
2. تفاوت dpi با dip چیست؟
3. معیار سنجش یک dip چیست؟
4. تفاوت dip با sp چیست؟
5. نقطه ضعف واحد اندازه گیری sp چیست؟
6. فرمول تبدیل dip به پیکسل چیست؟

آموزش برنامه نویسی اندروید - قسمت ۱۵: طراحی Layout برای دستگاه هایی با تراکم پیکسلی متفاوت‎

اهداف آموزشی این قسمت عبارتند از:
1. معرفی Density
2. بررسی نسبت مابین صفحه نمایش هایی با Density متفاوت
3. تقسیم بندی دستگاه های موجود در بازار بر حسب Size و Density

ادامه مطلب را از دست ندهید.

در رابطه با Density نیز چهار دسته کلی وجود دارد که عبارتند از: Low(ldpi) به معنی "کم"، Medium(mdpi) به معنی "متوسط"، High(hdpi) به معنی "زیاد" و Extra high(xhdpi) به معنی "خیلی زیاد".

به عبارت دیگر Density حاکی تعداد پیکسل هایی است که در یک اینچ از صفحه نمایش قرار می گیرند. در واقع هرچه تعداد پیکسل ها در هر اینچ بیشتر باشند بالتبع رزولوشن صفحه بیشتر بوده و دستگاه از کیفیت نمایش بیشتری برخوردار خواهد بود.

از آنجا که سیستم عامل اندروید روی دستگاه های متفاوتی با صفحه نمایش هایی با Density متفاوت اجرا می گردد، این نکته ضروری به نظر می رسد که تصاویر و شکل های مورد استفاده در اپلیکیشن خود را برای صفحه نمایش هایی با میزان Density متفاوت بهینه سازیم. برای این منظور اولین پروژه خود که در قسمت هشتم تحت عنوان My First Android Project را مد نظر قرار می دهیم.

پس از باز کردن این پروژه خواهیم دید که فقط فولدر های drawable-ldpi و drawable-mdpi و drawable-hdpi در زیرشاخه فولدر res قرار دارند.

همانطور که در قسمت دوازدهم آموزش داده شد، اقدام به ساخت دو فولدر دیگر تحت عناوین drawable و drawable-xhdpi می کنیم. با مد نظر قرار دادن تصویر فوق می توان گفت که فولدر شماره یک یا همان فولدر drawable به عنوان فولدر پیش فرض است. در واقع اگر ما در طراحی اپلیکیشن خود فقط و فقط همین یک فولدر را داشته باشیم، اپلیکیشن ما خواهد توانست روی کلیۀ دستگاه ها با صفحه نمایش هایی با Density متفاوت اجرا گردد. فرض کنیم که اپلیکیشن خود را روی یک تبلت ده اینچی نصب می کنیم. در حین اجرای اپلیکیشن، سیستم عامل اندروید متوجه می شود که اپلیکیشن روی یک دستگاه به اصطلاح xhigh یا بسیار بزرگ نصب شده است از این رو در دایرکتوری res به دنبال فولدری تحت عنوان drawable-xhdip می گردد و اگر این فولدر را بیابد مسلماً اقدام به فراخوانی تصاویر و شکل های به کار گرفته شده در UI از این فولدر خواهد کرد و در صورتیکه این فولدر را پیدا نکند به فولدر پیش فرض که همان فولدر drawable است رجوع خواهد کرد و تصاویر و شکل ها را از داخل این فولدر استفاده خواهد کرد. دانستن نکته ای که در اینجا حائز اهمیت است این است که حتی اگر تصاویر و شکل های قرار گرفته داخل فولدر drawable کوچک و کم کیفیت هم باشند، باز هم اندروید آنها را برای تبلت مان استفاده کرده به این صورت که تصاویر و شکل های داخل این فولدر را به صورت خودکار بزرگ می کند. عکس این قضیه هم می تواند اتفاق افتد به این صورت که اگر ما اپلیکیشن خود را روی یک تلفن همراه دو اینچی نصب کنیم و در عین حال فولدر drawable-ldpi که مخصوص صفحه نمایش هایی با Density پایین است را در پروژه خود تعریف نکرده باشیم، اندروید باز هم به فولدر پیش فرض رجوع کرده و اگر تصویر یا شکل مد نظر برای این دستگاه مناسب باشد که آن را استفاده می کند و چنانچه تصویر یا شکلی برای این صفحه نمایش بزرگ باشد اندروید به صورت خودکار آن را کوچک می کند(معمولاً در پروسه کوچک کردن تصاویر و اشکال توسط اندروید افت کیفیت پیدا نمی شود).

این یکی از قابلیت های بسیار مفید سیستم عامل اندروید است که فقط با قرار دادن تصاویر خود داخل یک فولدر پیش فرض می تواند خیالمان راحت باشد که با نصب اپلیکیشن روی هر دستگاهی با هر Density صفحه نمایش اپلیکیشن اجرا خواهد شد اما این در حالی است که چنانچه بخواهیم یک اپلیکیشن حرفه ای طراحی کنیم می بایست برای هر دستگاهی با هر Density صفحه نمایش یک منبع اختصاصی تعریف کنیم. همانطور که در تصویر فوق مشاهده می شود گزینه دو یا فولدر drawable-hdpi برای دستگاه هایی با صفحه نمایشی با Density زیاد مورد استفاده قرار می گیرد و گزینه سه یا فولدر drawable-ldpi برای دستگاه هایی با صفحه نمایشی با Density کم مورد استفاده قرار می گیرد و گزینه چهار یا فولدر drawable-mdpi برای دستگاه هایی با صفحه نمایشی با Density متوسط مورد استفاده قرار می گیرد و گزینه پنج یا فولدر drawable-xhdpi برای دستگاه هایی با صفحه نمایشی با Density بسیار زیاد مورد استفاده قرار می گیرد.


بررسی نسبت مابین صفحه نمایش هایی با Density متفاوت

پس از آنکه فرا گرفتیم که به چه نحوه می توان اپلیکیشن خود را به فولدرهایی تجهیز کرد که برای صفحه نمایش هایی با Density متفاوت بهینه شود حال نوبت به فراگیری راه کاری به منظور تولید تصاویر و شکل هایی برای هر یک از فولدرهای فوق الذکر می رسد. به عنوان یک قانون کلی می توان فولدر drawable-mdpi را "مبنا" قرار داده و نسبت 1.0 را برای آن در نظر بگیریم. حال تصاویری که می خواهیم در فولدر drawable-ldpi قرار دهیم می بایست دارای اندازه ای معادل با 0.75 برابر فولدر مبنا باشند. تصاویر موجود در فولدر drawable-hdpi معادل با 1.5 برابر تصاویر موجود در فولدر مبنا بوده و در نهایت تصاویر موجود در فولدر drawable-xhdpi معادل با 2.0 برابر تصاویر موجود در فولدر مبنا باشند.

برای روشن شدن این مسئله مثالی می زنیم. فرض کنیم که عکسی داریم که ابعداد آن 100 در 100 است و این عکس در فولدر drawable-mdpi قرار دارد.

حال نسخه ای که از روی این تصویر برای فولدر drawable-ldpi تهیه می کنیم می بایست در ابعداد 75 در 75 باشد و نسخه ای که از روی این تصویر برای فولدر drawable-hdpi تهیه می کنیم می بایست در ابعداد 150 در 150 باشد و نسخه ای که از روی این تصویر برای فولدر drawable-xhdpi تهیه می کنیم می بایست در ابعداد 200 در 200 پیکسل باشد.


تقسیم بندی دستگاه های موجود در بازار بر حسب Size و Density

به منظور تقسیم بندی دستگاه های موجود بر حسب اندازه می توانیم نمودار زیر را مد نظر قرار دهیم:


920506-a15-IMAGE 2.jpg

در قسمت بالایی این نمودار اندازه واقعی دستگاه بر حسب اینچ از دو اینچ شروع شده و تا بیش از ده اینچ ادامه یافته است. به طور کلی دستگاه هایی که از حدوداً دو اینچ شروع شده و تا حدوداً سه و نیم اینچ ادامه پیدا می کنند جزو دستگاه های small یا "کوچک" هستند. دستگاه هایی که از حدوداً سه اینچ شروع شده و تا حدوداً چهار و نیم اینچ ادامه پیدا می کنند جزو دستگاه های normal یا "متوسط" هستند. دستگاه هایی که از حدوداً چهار اینچ شروع شده و تا حدوداً هفت اینچ ادامه پیدا می کنند جزو دستگاه های large یا "بزرگ" هستند و در نهایت دستگاه هایی که از حدوداً هفت اینچ شروع شده و تا بیش از ده اینچ ادامه پیدا می کنند جزو دستگاه های xlarge یا "خیلی بزرگ" هستند.

به منظور تقسیم بندی دستگاه های موجود بر حسب تراکم صفحه نمایش یا همان Density می توانیم نمودار زیر را مد نظر قرار دهیم:


920506-a15-IMAGE 3.jpg

در قسمت بالایی این نمودار تراکم واقعی دستگاه بر حسب تعداد نقطه در هر اینچ از 100 dpi شروع شده و تا بیش از 300 dpi ادامه یافته است.

به طور کلی تراکم صفحه هایی که از 100 dpi شروع شده و تا حدوداً 150 dpi ادامه می یابد جزو صفحه نمایش های ldpi یا "کم تراکم" می باشند. تراکم صفحه هایی که از حدوداً 150 dpi شروع شده و تا حدوداً 200 dpi ادامه می یابد جزو صفحه نمایش های mdpi یا صفحه نمایش هایی با "تراکم متوسط" می باشند. تراکم صفحه هایی که از حدوداً 200 dpi شروع شده و تا حدوداً 250 dpi ادامه می یابد جزو صفحه نمایش های hdpi یا "پر تراکم" می باشند و در نهایت تراکم صفحه هایی که از بیش از 250 dpi شروع شده و تا بیش از 300 dpi ادامه می یابد جزو صفحه نمایش های ldpi یا "بسیار پر تراکم" می باشند.

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤالات زیر پاسخ بدهیم:
1. دستگاه های اندرویدی در ارتباط با Density به چند دسته تقسیم می شوند؟
2. منظور از Density چیست؟
3. برای ساخت فولدرهایی به منظور پیشتیبانی از Density های مختلف از چه نامگذاری بایستی استفاده کرد؟
4. در صورت عدم وجود فولدر مرتبط با یک Density خاص، اندروید از چه فولدری استفاده خواهد کرد؟

در قسمت آموزشی آینده با واحدهای اندازه گیری در سیستم عامل اندروید و تفاوت مابین آنها آشنا خواهیم شد.

آموزش برنامه نویسی اندروید - قسمت ۱۴: طراحی Layout برای دستگاه هایی با اندازه صفحه متفاوت

اهداف آموزشی این قسمت عبارتند از:

1. معرفی Size و Density
2. معرفی کلیۀ فولدرهای پیش فرض layout


ادامه مطلب را از دست ندهید.

معرفی Size و Density

صفحه دستگاه هایی که به سیستم عامل اندروید مجهز می باشند دارای دو خصوصیت کلی تحت عناوین Size به معنی "اندازه" و Density به معنی "تراکم" می باشند. در واقع یک اپلیکیشن موفق به اپلیکیشنی می توان گفت که روی دستگاه هایی با Size ها و Density های متفاوت نصب شده و کار کند. بنابراین ما به عنوان یک توسعه دهنده اندروید می بایست منابع متفاوتی را در اپلیکیشن خود استفاده کنیم تا بتوانیم اپلیکیشن خود را برای هر دستگاهی بهینه سازیم.

به طور کلی چهار Size کلی در رابطه با دستگاه های اندرویدی وجود دارد که عبارتند از: Small به معنی "کوچک"، Normal به معنی "معمولی"، Large به معنی "بزرگ" و Xlarge به معنی "خیلی بزرگ".

در حقیقت منظور از Size یک دستگاه، اندازه دستگاه از گوشۀ سمت چپ پایین تا گوشۀ سمت راست بالای صفحه نمایش بر حسب اینچ می باشد. برای روش تر شدن مطلب به تصویر اصلی مطلب دوباره توجه کنید.


در حقیقت در تصویر فوق از نقطۀ شماره یک تا نقطۀ شماره دو 4.2 اینچ فاصله است.

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

به عنوان مثال برای ذخیره سازی تصاویری برای دستگاه هایی با صفحه نمایشی با Density بسیار زیاد می توانیم فولدری تحت عنوان drawable-xhdpi در پروژه خود ایجاد کنیم.

علاوه بر این به خاطر داشته باشیم که Screen Orientation به معنی "جهت قرارگیری صفحه" که می تواند Landscape یا"افقی" یا Portrait یا "عمودی" نیز می تواند به نوعی اندازه صفحه محسوب شوند. به عبارت دیگر می توانیم اپلیکیشن خود را طوری طراحی کنیم که شکل ظاهری اپلیکیشن ما در حالت های Landscape و Portrait بهینه باشد(لازم به ذکر است که واژه Landscape در فارسی به معنی "چشم انداز" می باشد و واژه Portrait به معنی "تصویر صورت" است اما از آنجا که این واژگان در صنعت عکاسی دیجیتال به حالت های به ترتیب افقی وعمودی عکس گفته می شود این معانی را در طول دوره لحاظ خواهیم کرد).


معرفی کلیۀ فولدرهای پیش فرض layout

به منظور بهینه سازی اپلیکیشن خود برای اندازه های صفحه متفاوت نیاز است تا برای هر اندازه صفحه که می خواهیم اپلیکیشن ما برای آن اندازه بهینه شود یک فایل XML ایجاد کنیم(همانطور که قبلاً توضیح داده شده است UI یا همان رابط گرافیکی کاربر توسط XML ایجاد می شود). به عبارت دیگر هر Layout که با XML ایجاد می شود می بایست داخل یک فولدر مرتبط با اندازه مد نظر که اسامی آنها از پیش در سیستم عامل اندروید تعریف شده است قرار گیرد.

برای روشن شدن مطلب، در پروژه ای که در قسمت هشتم تحت عنوان My First Android Project ایجاد کردیم اقدام می کنیم به ایجاد کلیۀ فولدر های لازم برای ساپورت کردن اندازه های صفحه متفاوت در دستگاه های مختلف به طوریکه پس از تکمیل اینکار پروژه ما به شکل زیر خواهد بود:


920431-a14-IMAGE 2.jpg

همانطور که در تصویر فوق مشاهده می شود، فولدرهایی که برای اندازه های متفاوت صفحه نمایش ایجاد شده اند از شماره یک تا هشت شماره گذاری شده اند. به طول کلی فولدر شماره یک یا همان فولدر layout به طور پیش فرض برای حالت Portrait توسط اندروید مورد استفاده قرار می گیرد. فولدر شماره دو یا layout-land برای حالت Landscape مورد استفاده قرار می گیرد. فولدر شماره سه یا layout-large برای دستگاه هایی با صفحه بزرگ در حالت Portrait استفاده می شود. فولدر شماره چهار یا layout-large-land برای دستگاه هایی با صفحه بزرگ در حالت Landscape استفاده می شود. فولدر شماره پنج یا layout-normal برای دستگاه هایی با اندازه صفحه نرمال مورد استفاده قرار می گیرد. فولدر شماره شش یا layout-small برای دستگاه هایی با اندازه صفحه کوچک مورد استفاده قرار می گیرد. فولدر شماره هفت یا layout-xlarge برای دستگاه هایی با صفحه بزرگ در حالت Portrait مورد استفاده قرار گرفته و در نهایت فولدر شماره هشت یا layout-xlarge-land برای دستگاه هایی با صفحه نمایش بسیار بزرگ در حالت Landscape مورد استفاده قرار خواهد گرفت.

به طور خلاصه، با قرار دادن فایل های مختلف XML مرتبط با UI در هر یک از این فولدرها، در حین اجرای اپلیکیشن بسته به اندازه صفحه نمایش دستگاه، سیستم عامل اندروید از منبع متناظر با آن دستگاه برای اجرای اپلیکیشن استفاده خواهد کرد. اما نکته ای که در اینجا حائز اهمیت است این است که نام فایل XML که در کلیۀ این فولدر ها قرار می گیرد برای یک Activity خاص می بایست یکی باشد. برای روشن شدن این مسئله به پروژه ای که در جلسه هشتم ساختیم رجوع می کنیم:


920431-a14-IMAGE 3.jpg

زمانیکه پروژه ای در محیط برنامه نویسی اکلیپس می سازیم، اکلیپس به طور خودکار یک فایل XML در فولدر layout می سازد و این فایل مرتبط با همان Activity یی است که در حین ساخت یک پروژه جدید ایجاد می کنیم. به عبارت دیگر در پروسه ساخت My First Android Project در جلسه هشتم یک Activity تحت عنوان MainActivity ساختیم. محیط برنامه نویسی اکلیپس به طور خودکار فایلی در داخل فولدر layout تحت عنوان main.xml ساخته و آن را به MainActivity مرتبط ساخته است. در واقع پس از اجرای این اپلیکیشن خواهیم دید که تنها Activity اپلیکیشن ما که MainActivity است پس از اجرای برنامه فایل main.xml را فراخواهد خواند.

پس از توضیح پیرامون این موضوع حال روشن است که اگر بخواهیم این اپلیکیشن را که فقط و فقط دارای یک Activity است را روی دستگاه هایی با اندازه های صفحه متفاوت اجرا کنیم و از سیستم عامل اندروید بخواهیم که با توجه به اندازه صفحه نمایش دستگاهی که اپلیکیشن روی آن اجرا می شود به فولدر مرتبط با اندازه آن صفحه نمایش رجوع کند، می بایست نام فایل XML قرار گرفته در هر یک از این فولدرها برای MainActivity یکسان باشد. علت این مسئله هم آن است که در حقیقت MainActivity یک کلاس جاوا است و در این کلاس ما به یک فایل XML لینک داده ایم که نامش main.xml است. حال اگر نام این فایل XML در فولدرهای مختلف یکسان نباشد، در حین اجرای برنامه سیستم عامل اندروید فایل هایی با نام های دیگر را پیدا نکرده و مجبور است که از فولدر پیش فرض که همان فولدر layout است استفاده کند.

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤالات زیر پاسخ بدهیم:
1. منظور از اندازه یک دستگاه چیست؟
2. چند اندازه کلی برای دستگاه های اندرویدی وجود دارد؟
3. منظور از Screen Orientation چیست؟
4. آیا برای بهینه سازی یک اپلیکیشن می توان هر نام دلخواهی را مد نظر قرار داد؟
5. نحوه نامگذاری فایل های داخل فولدرهای مختلف به چه شکل است؟
6. چنانچه برای یک Activity فایل XML یی با نام های مختلف در فولدرهای مختلف در نظر بگیریم با چه مشکلی مواجه خواهیم شد؟

در آموزش آتی با مفهوم Density و همچنین بهینه سازی یک اپلیکیشن برای صفحه های نمایشی با میزان تراکم متفاوت آشنا خواهیم شد.

آموزش برنامه نویسی اندروید - قسمت ۱۰: بررسی فولدرهای Andrtoid و assets و bin و libs

اهداف آموزشی این قسمت عبارتند از: 1. معرفی فولدر Android 2.1
2. معرفی فولدر assets
3. معرفی فولدر bin
4. معرفی فولدر libs

پس از آشنایی با فولدرهای src و gen در قسمت نهم، در این قسمت قصد داریم تا به بررسی دیگر فولدرهای تشکیل دهندۀ یک اپلیکیشن اندرویدی بپردازیم. لطفا به ادامه مطلب بروید.

معرفی فولدر Android 2.1

فولدر بعدی در این لیست فولدر Andtroid 2.1 نام دارد که تصویر آن در بالای مطلب درج شده است.


اگر خاطرمان باشد در حین ساخت اولین پروژه خود در اندروید در پنجره مربوط به مشخص کردن Build Target نسخه اندروید 2.1 را انتخاب کردیم. در حقیقت این فولدر در برگیرندۀ فایل android.jar است که حاوی کلیۀ API های لازم در SDK اندروید نسخه 2.1 است که اپلیکیشن ما تحت آن ساخته می شود. اگر این فولدر را باز کنیم، جایی که این API ها روی کامپیوتر ما نصب شده اند نشان داده خواهد شد. برای روش تر شدن مطلب به تصویر زیر دقت نمایید:


920409-a10-IMAGE 2.jpg

همانطور که مشاهده می شود مسیر C:\dev\android\platforms\android-7 جایی است که بنده در حین آماده سازی محیط برنامه نویسی اکلیپس و ابزار SDK مشخص کرده ام. از این پس در حین توسعه هر اپلیکیشنی Library ها یا اصطلاحاً "کتابخانه های" در برگیرندۀ API های لازم به توسعه تحت یک نسخه خاص از اندروید از این مسیر کپی خواهند شد.

به طور مثال اگر در حین ساخت پروژه نسخه دیگری همچون اندروید نسخه 3.0 را انتخاب کرده بودیم، فولدر Android 3.0 به اپلیکیشن ما Import می شد. چنانچه این فولدر را باز کنیم خواهیم دید که دارای پکیج ها، کلاس ها و منابع بسیار زیادی می باشد. خبر خوشحال کننده در ارتباط با این فولدر این است که در طول توسعه اپلیکیشن برای اندروید نیازی به باز کردن این فولدر و جستجو کردن چیزی در آن نداشته و به منظور استفاده از API های مد نظر در توسعه اپلیکیشن خود از دستورات Import استفاده خواهیم کرد که این لینک به صورت خودکار مابین اپلیکیشن ما و این فولدر برقرار خواهد شد.


معرفی فولدر assets

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


920409-a10-IMAGE 3.jpg

اما این در حالی است که آزادی عمل ما در فولدر assets به مراتب بیشتر بوده و در واقع هر چیزی که بخواهیم به صورت raw یا "خام" در اپلیکیشن خود قرار دهیم را در این فولدر قرار می دهیم(واژه assets به معنی "دارایی ها" می باشد). از سوی دیگر می توانیم فولدرهای زیرمجموعه فولدر assets را بر اساس سلیقه خود دسته بندی کنیم سپس از طریق جاوا به چیزهای داخل این فولدر دسترسی پیدا کنیم. این فولدر بیشتر در مورد طراحی بازی اندرویدی کاربرد خواهد داشت که نیاز داریم از عناصر زیادی برای یک بازی بهره مند شویم. یا فرض کنیم که می خواهیم یک اپلیکیشن یادداشت برداری یا اصطلاحاً نت برداری طراحی کنیم که این اپلیکیشن برای سهولت کاربر دارای یک دیکشنری است که واژگانی که کاربر وارد می کند را حدس زده و تکمیل می کند(همانند اس ام اس دادن که با تایپ قسمت اول یک لغت، اپلیکیشن اس ام اس آن را برای ما تکمیل می کند). حال فرض کنیم که این دیکشنری یک فایل XML یا یک پایگاه داده از جنس SQLite است. فایل هایی از این دست را می بایست داخل فولدر assets قرار دهیم.

در قسمت های ابتدایی آموزش اندروید تمرکز بیشتر روی فولدر res خواهد بود.


معرفی فولدر bin

همانطور که در تصویر زیر مشاهده می شود، پس از معرفی فولدر های فوق الذکر فولدر bin قرار گرفته است:


920409-a10-IMAGE 4.jpg

به طور خلاصه می توان گفت که اندروید خروجی های برنامه پس از Compile شدن را در این فولدر قرار می دهد. به عبارت دیگر کلیۀ فایل های Compile شدۀ جاوا که با پسوند class ذخیره می شوند(مثلاً MainActivity.class که از روی فایل MainActivity.java کامپایل شده است) و حتی فایلی با پسوند apk که با فرستادن آن روی تلفن همراه یا تبلت می توانیم اپلیکیشن را نصب کنیم در این فولدر قرار می گیرند. به طور مثال در ساخت اولین پروژه اندروید پس از تکمیل اپلیکیشن خود فایلی تحت عنوان MyFirstAndroidProject.apk در این فولدر ذخیره خواهد شد که به سادگی با کپی کردن آن روی تلفن همراه خواهیم توانست اپلیکیشن خود را اجرا کنیم.


معرفی فولدر libs

فولدرهای مرتبط با Library ها یا "کتابخانه های اندروید" که در برگیرنده API های لازم برای توسعه اندروید می باشند در یک اپلیکیشن قابل روئیت نیستند اما آشنایی با آن بی فایده نیست. به طور خلاصه این فولدر حاوی Library هایی است که شرکت های طراحی و توسعه اپلیکیشن تولید کرده و یا به صورت رایگان و یا به صورت فروشی در اختیار دیگر برنامه نویسان و توسعه دهندگان اندروید قرار می دهند. به عنوان مثال library مرتبط با jTwitter دارای API های لازم برای به کارگیری Twitter در اپلیکیشن اندرویدی می باشد. در واقع اگر به طور مثال بخواهیم از قابلیت های Twitter در اپلیکیشن خود استفاده کنیم، می بایست Library مرتبط با jtwitter.jar را داخل فولدر libs قرار دهیم(کلمه libs مخفف واژه Libraries به معنی "کتابخانه ها" می باشد).

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤالات زیر پاسخ بدهیم:
1. فولدر Andtroid 2.1 حاوی چه اطلاعاتی است؟
2. نحوه دسترسی به اطلاعات داخل فولدر Andtroid 2.1 به چه شکل است؟
3. تفاوت فولدرassets یا فولدر res چیست؟
4. فایل apk در کدام فولدر قرار می گیرد؟
5.وظیفه فولدر libs چیست؟

در آموزش آتی با فولدر res که یکی از مهم ترین فولدرهای یک پروژه است آشنا خواهیم شد.

آموزش برنامه نویسی اندروید- قسمت ۱۳: بررسی دو فایل بسیار مهم در توسعه اپلیکیشن

اهداف آموزشی این قسمت عبارتند از:

1. معرفی فایل AndroidManifest.xml
2. آشنایی با Version Code
3. آشنایی با Version Name
4. معرفی فایل project.properties

پس از آشنایی با Android Building Blocks یا همان "آجرهای تشکیل دهندۀ یک اپلیکیشن اندرویدی" طی قسمت های نهم و دهم و یازدهم، در این قسمت از آموزش قصد داریم تا دو فایل بسیار مهم در توسعه اندروید را معرفی کنیم.

ادامه مطلب را از دست ندهید.


معرفی فایل AndroidManifest.xml

هر اپلیکیشن می بایست دارای فایلی تحت عنوان AndroidManifest.xml در دایرکتوری اصلی خود که همان Root Directory است باشد(به حروف کوچک و بزرگ در نام این فایل توجه کنید). برای درک بهتر Root Directory به تصویر زیر توجه کنید:


920430-a13-IMAGE 1.jpg

در تصویر فوق این فایل با یک بیضی قرمز رنگ نشان داده شده است. جاییکه فلش قرمز رنگ قرار گرفته است نشانگر Root Directory یا همان "دایرکتوری اصلی" اپلیکیشن است. به عبارت دیگر تنها جاییکه این فایل می تواند قرار گیرد زیرشاخه همین دایرکتوری است که اگر جای این فایل تغییر یابند اپلیکیشن به هیچ وجه کار نخواهد کرد.

در واقع پس از کلیک کردن روی نام این فایل، پنجره مربوط به آن در محیط اکلیپس باز می شود:


920430-a13-IMAGE 2.jpg

همانطور که در تصویر فوق نشان داده شده است پس از باز کردن فایل Manifest در قسمت پایین پنجره مربوط به این فایل پنج Tab مجزا از یکدیگر دیده می شود. کلیه این Tab ها به جز Tab یی تحت عنوان AndroidManifest.xml که در تصویر فوق با یک فلش قرمز رنگ نشان داده شده است دارای یک محیط گرافیکی هستند و این در حالی است که این محیط گرافیکی تا حدودی اعمال تغییرات در فایل Manifest را برای توسعه دهندگان مبتدی آسان ساخته است. به طور مثال در تصویر فوق Tab مربوط به Manifest باز است و در قسمت فوقانی این Tab اطلاعت مربوط به پیکج و Version Code و غیره دیده می شود. به طول مثال با تغییر Version Code از عدد 1 به عدد 2 بدون نیاز به کد نویسی می توان Version Code را آپدیت کرد(در ادامه همین آموزش با Version Code بیشتر آشنا خواهیم شد).

اکثر برنامه نویسان حرفه ای با حالت نمایش XML یی این فایل کار می کنند. در واقع با کلیک کردن روی Tab مرتبط با AndroidManifest.xml محتویات این فایل برای پروژه ای که در آموزش هشتم تحت عنوان My First Android Project ساختیم به شکل زیر نمایش داده خواهد شد:


  1. xml version="1.0" encoding="utf-8"?>
  2. xmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.behzadmoradi.mainpackage"
  4. android:versionCode="1"
  5. android:versionName="1.0" >
  6. android:minSdkVersion="7" />
  7. android:icon="@drawable/ic_launcher"
  8. android:label="@string/app_name" >
  9. android:name=".MainActivity"
  10. android:label="@string/app_name" >
  11. android:name="android.intent.action.MAIN" />
  12. android:name="android.intent.category.LAUNCHER" />

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

همانطور که در آموزش اول توضیح داده شد، سیستم عامل اندروید دارای نسخه های مختلفی است. چنانچه ما برنامه ای طراحی کنیم که برای مثلا نسخه Gingerbread یا نسخه 3.0 طراحی شده باشد، این حداقل نسخه مورد نیاز برای اجرای این اپلیکیشن یا همان Minimum SDK در فایل Manifest ذکر خواهد شد و چنانچه کاربری که سیستم عامل اندروید وی پایین تر از نسخه 3.0 باشد بخواهد برنامه طراحی شده ما را استفاده کند در حین نصب فایل Manifest این مسئله را خواهد فهمید و از نصب برنامه جلوگیری به عمل خواهد آورد. در واقع در کد فوق دستور android:minSdkVersion="7" حداقل SDK مورد نیاز اپلیکیشن را مشخص کرده است.

مواردی دیگری علاوه بر موارد فوق نیز در این فایل مشاهد می شود که در ذیل به آنها اشاره می کنیم:

نامی که برای پکیج اپلیکیشن مورد استفاده قرار دادیم در این فایل قرار گرفته است. علت قرار گرفته نام پکیج در فایل Manifest این است نام این پکیج به منزلۀ یک معرف منحصر به فرد از اپلیکیشن برای سیستم عامل اندروید می باشد. همانطور که در کد فوق مشاهده می شود package="com.behzadmoradi.mainpackage" نشانگر نام پکیجی است که کلیه کلاس های جاوای اپلیکیشن در آن قرار گرفته اند.

کلیۀ Activity ها و Service های به کار گرفته شده در اپلیکیشن که تحت عنوان Component های اپلیکیشن شناخته می شوند نیز در این فایل معرفی می شوند. در کد فوق خطی که حاوی android:name=".MainActivity" می باشد تنها Activity یی که در حین ساخت پروژه تعریف کردیم را نشان می دهد.

علاوه بر موارد فوق، فایل Manifest اطلاعاتی پیرامون نسخه اپلیکیشن ما به کاربران نیز ارائه می دهد. اگر در حین دانلود یا نصب اپلیکیشن های اندروید توجه کرده باشید، دیده اید که Version یا نسخه اپلیکیشن مد نظر به کاربران اطلاع داده می شود(مثلاً نسخه 4 اپلیکیشن). به طور کلی می توان گفت که هر اپلیکیشن اندروید دارای یک Version Code و یک Version Name است.


آشنایی با Version Code

منظور از Version Code یک عدد است و کاربرد این عدد برای کاربران اپلیکیشن نیست بلکه برای Google Play است تا از طریق این عدد از یک سو خود اپلیکیشن را شناسایی کند و از سوی دیگر آپدیت های اپلیکیشن را پیگیری کند. به عبارت دیگر کاربران به هیچ وجه این کد را مشاهده نخواهند کرد. نکته ای که برای تعیین شماره Version Code همواره می بایست مد نظر قرار داد این است که این شماره از هر عددی می تواند شروع شود اما همواره پس از آپدیت کردن اپلیکیشن این عدد می بایست نسبت به نسخه قبلی عدد بزرگ تری باشد. به طور مثال اگر نسخه اول اپلیکیشن دارای Version Code یی معادل با 1 بود نسخه بعدی پس از آپدیت توسط توسعه دهنده اپلیکیشن می بایست مثلا معادل با 2 باشد.

به منظور درک بهتر این مسئله سناریوی زیر را در نظر می گیریم:

فرض کنیم که ما یک اپلیکیشن طراحی کرده و Version Code آن را معادل با 1 قرار داده ایم و آن را از طریق Google Play در دنیا منتشر می کنیم. پس از مدتی مشخص می شود که اپلیکیشن ما پس از 20 دقیقه کار کردن Crash می کند. بنابراین سعی می کنیم نواقص اپلیکیشن را رفع کرده، مجدد آن را Compile می کنیم و آن را در Google Play مجدد منتشر می کنیم. نکته ای که فراموش کرده ایم پس از رفع نواقص اپلیکیشن آپدیت کنیم Version Code اپلیکیشن مان است. در واقع پس از آنکه نسخه اصلاح شده را در Google Play منتشر کردیم Google Play متوجه نخواهد شد که ویرایش جدید اپلیکیشن روی سرور اش قرار گرفته از اینرو به کاربرانش که این اپلیکیشن را دانلود کرده اند نمی تواند اطلاع رسانی کند که نسخه جدید و اصطاح شده اپلیکیشن را مجدد دانلود کنند. اما اگر Version Code را به عدد 2 تغییر دهیم این مسئله به اطلاع Google Play خواهد رسید و بالتبع کاربرانی که از این اپلیکیشن استفاده می کنند نیز از آپدیت اپلیکیشن مطلع خواهند شد.

همانطور که در کد فوق ملاحظه می شود دستور android:versionCode="1" نشانگر نسخه یک اپلیکیشن ما است که در اختیار Google Play قرار می گیرد.


آشنایی با Version Name

به طور کلی Version Name نامی است برای رویت کابرانی است که اپلیکیشن را دانلود می کنند. نحوه نامگذاری Version Name می تواند بر اساس استراتژیی باشد که توسعه دهندۀ اپلیکیشن برای اپلیکیشن هایش در نظر می گیرد. به طور مثال می توان Version Name را بر اساس تاریخ انتشار اپلیکیشن در نظر گرفت.

در کد فوق دستور android:versionName="1.0" نشانگر کد 1.0 است که به کاربران نشان داده می شود.


معرفی فایل project.properties

این فایل نیز همانند فایل Manifest از اهمیت زیادی در اجرای اپلیکیشن برخوردار است. یکی از دلایل اصلی وجود این فایل در یک اپلیکیشن ایجاد ارتباط مابین اپلیکیشن، اکلیپس و ADT می باشد(برای آشنایی بیشتر با ADT به آموزش هفتم راجعه نمایید). از جمله اطلاعات مهمی که در این فایل قرار می گیرد Target SDK است(نام دیگر Target SDK عبارت Build SDK است). همانطور که در آموزش های پیشین توضیح داده شد Target SDK مشخص می کند که ما اپلیکیشن خود را برای کدام نسخه از سیستم عامل اندروید می سازیم. در واقع زمانیکه در آموزش هشتم ما اولین پروژه خود را در اکلیپس تحت عنوان My First Android Project ساختیم، نسخه سیستم عامل مد نظر یا همان Target SDK یا نسخه 2.1 انتخاب کردیم. حال اطلاعات مربوط به Target SDK در این فایل ذخیره شده اند.

نکته ای که در ارتباط با این فایل بسیار مهم است این است که این فایل به هیچ وجه نمی بایست بر خلاف فایل Manifest به صورت دستی ویرایش شود. برای ویرایش این فایل می بایست مطابق تصویر زیر عمل کرد:


920430-a13-IMAGE 3.jpg

همانطور که در تصویر فوق نشان داده شده است، روی نام پروژه ای که ساخته ایم کلیک راست نموده سپس همانطور که با فلش قرمز رنگ نشان داده شده است روی آخرین گزینه از پنجره ای باز می شود یا همان گزینه Properties کلیک می کنیم و پنجره ای به صورت زیر باز خواهد شد:


920430-a13-IMAGE 4.jpg

پروژه ای که در قسمت هشتم ساختیم و در آن نسخه 2.1 را به عنوان Target SDK مبنا قرار دادیم را مجدد مد نظر قرار می دهیم:


920430-a13-IMAGE 5.jpg

همانطور که در تصویر فوق مشخص شده است، فولدر مربوط به Library های همان نسخه ای از Target SDK که در حین ساخت پروژه انتخاب کردیم وارد اپلیکیشن شده است. حال فرض کنیم که نسخه اندروید 2.1 پاسخگوی نیازهای ما نیست و قابلیت هایی را که مد نظر ما است تا در اپلیکیشن استفاده کنیم را ساپورت نمی کند و می بایست از نسخه های جدیدتر سیستم عامل اندروید مثل نسخه 3 تحت عنوان Honeycomb به معنی "شانه عسل" استفاده کنیم.

از آنجا که می دانیم اطلاعات مربوط به Target SDK در فایل project.properties ذخیره می شود، همانطور که در قسمت بالا توضیح داده شد این فایل را باز کرده و مطابق تصویر زیر نسخه Target SDK را ارتقاء می دهیم:


920430-a13-IMAGE 6.jpg

پس از کلیک روی گزینه Properties همانطور که در تصویر فوق با فلش قرمز رنگ نشان داده شده است روی گزینه Android کلیک کرده سپس از ستون سمت راست گزنیه مرتبط با اندروید نسخه 3.0 را انتخاب نموده و دکمه OK را می زنیم(لازم به ذکر است نسخه هایی از SDK اندروید در این لیست نمایش داده می شوند که در حین آماده سازی محیط برنامه نویسی اکلیپس دانلود کرده و به اکلیپس معرفی کرده ایم).


920430-a13-IMAGE 7.jpg

اکنون همانطور که در تصویر فوق مشاهده می شود Library مرتبط با نسخه سیستم عامل اندروید 3.0 وارد پروژه شده و از این پس خواهیم توانست از قابلیت های معرفی شده در نسخه 3.0 در طراحی اپلیکیشن خود استفاده کنیم.

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤالات زیر پاسخ بدهیم:
1. مکان قرارگیری فایل AndroidManifest.xml کجا است؟
2. چه اطلاعاتی در فایل Manifest قرار می گیرند؟
3. نحوه نامگذاری Version Code به چه شکل است؟
4. کاربرد Version Code چیست؟
5. کاربرد Version Name چیست؟
6. نحوه تغییر نسخه اندروید یک اپلیکیشن به چه شکل است؟
7. آیا می توان فایل project.properties را به صورت دستی ویرایش کرد یا خیر؟
در آموزش آتی با نحوه بهینه سازی اپلیکیشن برای ساپورت دستگاه هایی با اندازه صفحه نمایش متفاوت آشنا خواهیم شد.


آموزش برنامه نویسی اندروید - قسمت ۱۲:نحوه ساخت فولدرها و فایل های جدید در فولدر res

اهداف آموزشی این قسمت عبارتند از:
1. نحوه ایجاد یک فولدر جدید
2. نحوه ایجاد یک فایل جدید در فولدر values
3. مقدمات بومی سازی یک اپلیکیشن

پس از آشنایی با فولدر res در قسمت یازدهم، در این قسمت قصد داریم تا با نحوه ایجاد فولدرهای زیرشاخه res و هم چنین ایجاد فایل های زیرشاخه فولدر values آشنا شویم. علاوه بر این خواهیم فهمید که به چه نحوه می توان یک اپلیکیشن اندرویدی را برای کشورهای مختلف و زبان های مختلف بومی ساخت.

پس ادامه مطلب را از دست ندهید.

نحوه ایجاد یک فولدر جدید

برای ایجاد فولدرهایی که به صورت پیش فرض در یک اپلیکیشن قرار ندارند به صورتی زیر اقدام می کنیم:


همانطور که در تصویر اصلی مطلب مشاهده می شود، روی فولدر res کلیک راست نموده سپس روی اولین گزینه از بالا که New است کلیک کرده سپس در پنجره جدیدی که باز می شود گزینه Folder را انتخاب می کنیم. پس از کلیک کردن روی گزینه Folder پنجره زیر باز خواهد شد:


92-0409-a12-IMAGE 2.jpg

همانطور که در تصویر فوق مشاهده می شود جایی که زیر آن خط قرمز کشیده شده است نشانگر فولدر res داخل پروژه ای است که می خواهیم این فولدر جدید را داخل آن ایجاد کنیم. در بخشی که با بیضی قرمز رنگ مشخص شده است می بایست نام فولدر جدید را وارد کنیم. به طور مثال فرض کنیم که می خواهیم از انیمیشن در اپلیکیشن خود استفاده کنیم. برای این منظور می بایست انیمیشن های خود را در اپلیکیشن ذخیره سازیم که اینکار فقط با ایجاد یک فولدر تحت عنوان anim امکان پذیر است. بنابراین واژه anim را مقابل Folder name به معنی "نام فولدر" نوشته و دکمه Finish را می زنیم.


92-0409-a12-IMAGE 3.jpg

همانطور که در تصویر فوق مشاهده می شود می بینیم که فولدری تحت عنوان anim زیرشاخه فولدر res ساخته شده و در اولین جایگاه قرار گرفته است. به عبارت دیگر محل قرار گرفتن کلیه فولدرهای زیرشاخه بر اساس حروف الفبای انگلیسی است.


نحوه ایجاد یک فایل جدید در فولدر values

چنانچه بخواهیم یکی از فایل های زیرمجوعه فولدر values را ایجاد کنیم می بایست به صورت زیر عمل نماییم:


92-0409-a12-IMAGE 4.jpg

همانطور که در تصویر فوق مشاهده می شود، روی فولدر values کلیک راست کرده سپس روی اولین گزینه از بالا که گزینه New است کلیک کرده و در نهایت همانطور که در تصویر با فلش قرمز رنگ نشان داده شده است روی گزینه Android XML File کلیک می کنیم. اکنون پنجره ای به شکل زیر باز خواهد شد:


92-0409-a12-IMAGE 5.jpg

در تصویر فوق بیضی قرمز رنگ اول نشانگر فولدری است که می خواهیم این فایل جدید در آن ذخیره شود که در این مثال فولدر values مد نظر است. بیضی قرمز رنگ دوم نشانگر پروژه ای است که می خواهیم این فایل XML جدید در فولدر values آن پروژه ایجاد گردد که در اینجا همان پروژه ای که در آموزش هشتم تحت عنوان My First Android Project ایجاد کردیم را انتخاب خواهیم کرد. در جاییکه زیر آن خط قرمز کشیده شده است می بایست نام یکی از انواع فایل های از پیش تعیین شده XML که پیش از این معرفی شدند را بنویسیم. به طور مثال در این آموزش می خواهیم یک فایل arrays که برای ذخیره سازی کلمات و اعداد در کنار یکدیگر استفاده می شود را ایجاد کنیم. نکته ای که در ساخت این فایل ها می بایست مد نظر قرار دهیم این است که نیازی به نوشتن پسوند xml پس از نام فایل نیست چرا که اکلیپس اینکار را به صورت خودکار برای ما انجام خواهد داد. حال می توانیم دکمه Finish را بزنیم.

به همین ترتیب می توانیم مابقی فایل های XML را نیز در فولدر values ایجاد کنیم:


92-0409-a12-IMAGE 6.jpg

مقدمات بومی سازی یک اپلیکیشن

همانطور که در معرفی فولدر res در آموزش یازدهم مثالی در رابطه با نصب یک اپلیکیشن روی یک تلفن و تبلت زدیم و دیدیم که با تغییر زبان یک دستگاه می توانیم این دستور را به اندروید بدهیم که در حین نصب با توجه به زبان انتخابی از منابع مرتبط با آن زبان استفاده کند. برای روشن تر شدن این مسئله به مثال زیر توجه نمایید:

در این قسمت خواهیم دید که به چه سادگی می توان تنظیمات این کار را انجام داد. برای این منظور نیاز است تا با Language ISO Code ها یا به عبارتی با "کد بین المللی زبان های مختلف" آشنایی داشته باشیم. برای مثال کد زبان فارسی fa است و کد زبان آلمانی de است. در حقیقت برای آنکه این دستور را به اندروید بدهیم که به محض تغییر زبان تلفن همراه یا تبلت از منابع مرتبط با آن زبان در اجرای اپلیکیشن استفاده کند، می بایست منابعی متناظر با همان زبان در فولدر res ایجاد کنیم.


92-0409-a12-IMAGE 7.jpg

همانطور که پیش از این در همین قسمت از آموزش نحوه ساخت یک فولدر جدید آموزش داده شد، یک فولدر جدید برای ذخیره عکس های مرتبط به زبان فارسی تحت عنوان drawable-fa و یک فولدر دیگر تحت عنوان drawable-de برای ذخیره سازی عکس های مرتبط با زبان آلمانی ایجاد می کنیم. در تصویر فوق این دو فولدر با بیضی سبز زنگ مشخص شده اند. همانطور که قبلاً گفته شد فولدر values مسئول ذخیره سازی چیزی های زیادی است که یکی از آنها اسامی، متون و جملات است. حال برای آنکه به محض تغییر زبان تلفن همراه یا تبلت کلیه جملات هم به آن زبان تبدیل شوند می بایست فولدر های متناظر با این دو زبان فارسی و آلمانی نیز ساخته شود. همانطور که در تصویر فوق با یک بیضی قرمز رنگ مشخص شده است، یک فولدر تحت عنوان values-fa برای ذخیره سازی اسامی، عبارات و جملات فارسی و یک فولدر دیگر تحت عنوان values-de برای ذخیره سازی اسامی، عبارات و جملات آلمانی ایجاد شده است.

به عنوان نکته پایانی بایستی گفت که اگر منابع مرتبط با زبانی در اپلیکیشن ما موجود نباشد مثلا فولدرهای drawable-de و values-de در پروژه ما وجود نداشته باشند، در حین اجرا اپلیکیشن از فولدرهای پیش فرض که همان drawable و values می باشند برای زبان آلمانی استفاده خواهد کرد.

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

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤالات زیر پاسخ بدهیم:
1. به چه شکل می توان یک فولدر جدید در زیرشاخه فولدر res ایجاد کرد؟
2. نحوه ایجاد یک فایل XML به چه شکل است؟
3. اولین گام در بومی سازی یک اپلیکیشن چیست؟

در آموزش آتی با دو فایل بسیار مهم در توسعه اندروید آشنا خواهیم شد که عبارتند از: AndriodManifest.xml و project.properties

آموزش برنامه نویسی اندروید - قسمت ۹: بررسی فولدرهای src و gen

اهداف آموزشی این قسمت عبارتند از:
1. معرفی فولدر src
2. نحوه ایجاد یک پکیج جدید
3. معرفی فولدر gen و فایل R.java

در این قسمت قصد داریم به بررسی تک تک اجزای تشکیل دهنده یک اپلیکیشن بپردازیم اما پیش از آن دانستن این نکته لازم است که هر اپلیکیشن دارای یکسری فولدر به صورت پیش فرض است که این فولدرها در تصویر ادامه مطلب قابل مشاهده می باشند...


920405-9-IMAGE 1.jpg

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


معرفی فولدر src

پس ساخت اولین پروژه اندروید در محیط برنامه نویسی اکلیپس در آموزش هشتم، در این قسمت قصد داریم به بررسی تک تک پوشه های تشکیل دهنده یک پروژه اپلیکیشن اندروید بپردازیم. برای این منظور پروژه ای که در آموزش هشتم تحت عنوان My First Android Project ساخته بودیم را باز می کنیم:


920405-9-IMAGE 2.jpg

همانطور که در تصویر فوق مشاهده می شود، اولین فولدر در یک پروژه اندروید src نام دارد. در واقع واژه src مخفف واژه Source به معنی "منبع" یا "مأخذ" می باشد. این فولدر در برگیرندۀ کلیۀ فایل های جاوا است که در اپلیکیشن خود مورد استفاده قرار می دهیم. زیر مجموعه این فولدر همان پکیجی قرار دارد که در حین ساخت پروژه تحت عنوان com.behzadmoradi.mainpackage ساختیم. به طور کلی کاری که این پکیج می کند این است که از تداخل فایل های جاوا که برای توسعه اپلیکیشن خود طراحی می کنیم جلوگیری به عمل آورده و موجب می گردد کلاس های مورد استفاده سازماندهی شوند.


ایجاد یک پیکج جدید در جاوا

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


920405-9-IMAGE 3.jpg

همانطور که در تصویر فوق نشان داده شده است، با قرار دادن نشانگر موس خود روی آیکونی که با فلش قرمز رنگ مشخص شده است، پیام New Java Package به معنی "یک پکیج جدید جاوا" نمایان خواهد شد. با کلیک کردن روی این آیکون پنجره زیر نمایان می گردد:


920405-9-IMAGE 4.jpg

همانطور که در تصویر فوق مشخص است، در بخش Source folder مسیر فولدر src موجود در پروژه My First Android Project مشخص شده است. در بخش Name به معنی "نام" می بایست نامی برای پکیج جدید خود در نظر بگیریم. نکته ای که در انتخاب نام پیکج می بایست همواره مد نظر قرار داده شود این است که دو بخش اول نام پیکج که بخش اول مربوط به نام دامین است که در اینجا com می باشد و بخش دوم که مربوط به آدرس دامین است که در این مثال behzadmoradi است حتماً بایستی با دو بخش اول نام پکیجی که در حین ساخت پروژه تعریف کردیم یکی باشد وصرفاً بخش آخر یا همان قسمت سوم نام پیکج می بایست نامی جدید باشد. علت این مسئله هم ایجاد یکنواختی در کلیۀ پکیج های یک پروژه می باشد. حال با دانستن این نکته همانطور که در تصویر فوق نشان داده شده است نام com.behzadmrodi.secondpackage را وارد می کنیم که عبارت secondpackage به معنی "پکیج دوم" است(برای آشنایی بیشتر با نحوه نامگذاری پیکج ها در جاوا به آموزش چهارم مراجعه نمایید).

اکنون می توانیم دکمه Finish زده و پیکج ایجاد شده در پروژه خود را مشاهده کنیم:


920405-9-IMAGE 5.jpg

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


معرفی فولدر gen و فایل R.java

واژۀ gen مخفف واژه Generated به معنی "تولید شده" یا "حاصله" می باشد. این فولدر محل ذخیره سازی فایل جاوایی تحت عنوان R است:


920405-9-IMAGE 6.jpg

همانطور که در تصویر فوق مشاهده می شود فایل تولید شده R.java نام دارد(حرف R از اول واژه Resource به معنی "منبع" گرفته شده است). به طور خلاصه می توان گفت که ما در توسعه اپلیکیشن اندرویدی از عناصر زیادی استفاده می کنیم که برخی از آنها توسط XML ایجاد می شوند مثل Layout ها، دکمه ها و غیره و برخی دیگر عناصری هستند همچون عکس ها، فایل های صوتی و ... که جزو منابع اپلیکیشن ما قرار دارند. حال برای آنکه بتوانیم به کلیه این عناصر در Activity ها دسترسی داشته باشیم بایستی آدرس آنها را داخل کلاس مرتبط با Activity وارد کنیم(برای آشنایی بیشتر با Activity ها به آموزش دوم مراجعه نمایید).

اگر بخواهیم آدرس XML یی مثلا یک دکمه که در XML ساخته شده است را در کلاس خود بیاوریم، نه تنها این آدرس ممکن است طولانی شود، بلکه ممکن است در حین Run شدن اپلیکیشن نیز با مشکل مواجه شویم و در اینجا است که اهمیت فایل R دوچندان می شود. به عبارت دیگر سیستم عامل اندروید با این کار Java و XML را به یکدیگر مرتبط می سازد. کاربرد این فایل به این شکل است که یک id یا یک "شماره معرف" برای هر یک از عناصر موجود src اپلیکیشن ما من جمله layout، متون، عکس ها، فونت ها و غیره در این فایل ساخته می شود. نکتۀ جالب در ارتباط با این فایل این است که این فایل به صورت خودکار توسط برنامه ایجاد می گردد.

به عبارت دیگر به محض اینکه ما یک عنصر جدید مثلاً یک دکمه جدید داخل UI برنامه می کنیم، اندروید به صورت خودکار به آن دکمه یک id اختصاص داده و آن id را وارد فایل R.java می کند. حال زمانیکه بخواهیم به طول مثال عکس خاصی در یک Activity به کار بریم، از طریق id آن عنصر خاص در فایل R به آن عکس دسترسی پیدا خواهیم کرد. به نظر می رسد علت انتخاب یک نام بسیار کوتاه تک حرفی تحت عنوان R برای این فایل این است که در حین آدرس دادن به عناصر موجود در اپلیکیشن زمان زیادی صرف نوشتن نام این فایل نکنیم(فقط با نوشتن R.id سپس نام عنصر مد نظر به آن دست پیدا خواهیم کرد).

مزیت دیگر این فایل این است که اگر عناصر موجود در src را با همان اسامی XML یی خودشان به فایل جاوا لینک دهیم، چنانچه مثلاً مشکلی در فایل XML باشد این مشکل در حین Run شدن یا "اجرای برنامه" خود را نشان خواهد داد و این اتفاق خوبی نیست چرا که ممکن است این مشکل خود را زمانی نشان دهد که اپلیکیشن به دست کاربر رسیده است. اما زمانیکه یک id برای هر یک از عناصر در فایل R ایجاد می شود، چنانچه مشکلی در برنامه وجود داشته باشد این مشکل در حین Compile شدن برنامه خود را نشان خواهد داد و این مسئله خبر خوبی است چرا که پیش از اینکه اپلیکیشن به دست کاربران برسد، خود برنامه نویس یا توسعه دهنده با مشکلات احتمالی رو به رو خواهد شد.

چنانچه دو بار روی نام این فایل کلیک کنیم خواهیم توانست محتوایات آن را مشاهده کنیم:


  1. package com.behzadmoradi.mainpackage;
  2.  
  3. public final class R {
  4. public static final class attr {
  5. }
  6. public static final class drawable {
  7. public static final int ic_launcher=0x7f020000;
  8. }
  9. public static final class layout {
  10. public static final int main=0x7f030000;
  11. }
  12. public static final class string {
  13. public static final int app_name=0x7f040001;
  14. public static final int hello=0x7f040000;
  15. }
  16. }
  17.  

کد فوق مربوط به محتویات فایل R است که برای پروژه My First Android Project به صورت خودکار توسط برنامه ایجاد شده است. به طور مثال نام ic_launcher مربوط به نام آیکون سبز رنگ اندروید است که به عنوان آیکون اپلیکیشن پس از نصب مورد استفاده قرار می گیرد و یا نام main مربوط به Layout یی است که در حین ساخت پروژه ایجاد کردیم. همانطور که مشاهده می شود هر یک از این اسامی دارای یک id نیز می باشند.

نکتۀ بسیار مهمی که در ارتباط با این فایل وجود دارد این است که به هیچ وجه نمی بایست آن را ویرایش کرده و تغییری در آن ایجاد کنیم که در این صورت Compiler به محض Save کردن این فایل پس از تغییر آن را به حالت اول در خواهد آورد اما این در حالی است که می توان آن را به کلی حذف کرد و برنامه بدون هیچ مشکلی اجرا خواهد شد زیرا به محض Compile شدن اپلیکیشن این فایل مجدداً به صورت خودکار با اعمال آخرین تغییرات ساخته خواهد شد.

نکته پایانی در ارتباط با فایل R این است که در هر بار Compile شدن اپلیکیشن این فایل Update خواهد شد تا ببیند آیا عنصر جدیدی به برنامه اضافه شده است که بخواهد برای آن یک id اختصاص دهد و یا آیا عنصری حذف شده است که نیاز باشد id اختصاص داده شده به آن را حذف کند یا خیر.

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤالات زیر پاسخ بدهیم:
1. فایل های اصلی جاوا در یک اپلیکیشن در کدام فولدر قرار می گیرند؟
2. چگونه می توان یک پیکج جدید ایجاد کرد؟
3. علت استفاده از پکیج ها چیست؟
4. علت به کار گیری فایل R.java چیست؟
5. اگر در اپلیکیشن خود به جای لینک دادن از طریق فایل R اقدام به نوشتن آدرس کامل مثلا یک layout بپردازیم، ممکن است با چه مشکلی مواجه شویم؟
6. مزیت آدرس دهی از طریق فایل R چیست؟
7. اگر یکی از اجزای اپلیکیشن خود مثل یک دکمه را حذف کنیم چه اتفافی برای id آن دکمه در فایل R خواهد افتاد؟
8. به چه نحوی می توان فایل R را ویرایش کرد؟
9. در صورت حذف کردن فایل R چه مشکلی برای اپلیکیشن پیش خواهد آمد؟
در آموزش دهم با فولدر res به طور مفصل آشنا خواهیم شد.

آموزش برنامه نویسی اندروید - قسمت ۱۱: بررسی فولدر res

اهداف آموزشی این قسمت عبارتند از:
1. معرفی فولدر res
2. روش نامگذاری فولدرهای زیرمجموعه res

پس از آشنایی با فولدرهای Android و assets و libs و bin در قسمت دهم، در این قسمت قصد داریم تا به بررسی موردی دیگر فولدرهای تشکیل دهندۀ یک اپلیکیشن اندرویدی بپردازیم. پس ادامه مطلب را از دست ندهید.

معرفی فولدر res

در یک کلام، کلیۀ عناصر موجود در یک اپلیکیشن اندرویدی از Layout گرفته تا دیگر عناصر مثل عکس، فایل صوتی، فایل تصویری، انیمیشن، فونت، آیکون و ... در فولدر res قرار خواهند گرفت(واژه res مخفف واژه resources به معنی "منابع" است).

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

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

نکته ای که در ارتباط به فولدرهای زیرمجموعه res وجود دارد این است که اسامی کلیۀ فولدرهای زیرمجموعه از پیش تعیین شده هستند و ما به عنوان یک توسعه دهنده اپلیکیشن اندرویدی اجازه نداریم تا هر نوع فولدری به هر نامی در فولدر res ایجاد کنیم. مثلاً فرض کنیم که می خواهیم اپلیکیشنی طراحی کنیم که عکس های شخصی ما را نشان دهد. حال نیاز داریم تا تعدادی عکس شخصی را وارد برنامه خود کنیم اما به هیچ وجه اجازه نداریم فولدری تحت عنوان Personal Photos به معنی "عکس های شخصی" بسازیم.

فولدرهای زیرمجموعه که می توانند در فولدر res قرار گیرند عبارتند از:

1. فولدری تحت عنوان anim که برای ذخیره سازی انیمیشن در نظر گرفته شده است. واژه anim مخفف واژۀ animation به معنی "انیمیشن" یا "تصویر متحرک" است.

2. فولدری تحت عنوان color به معنی "رنگ" که برای ذخیره سازی رنگ ها در نظر گرفته شده است.

3. فولدری تحت عنوان drawable به منظور ذخیره سازی تصاویر، شکل ها و چیزهایی از این دست مورد استفاده قرار می گیرد. فرمت عکس هایی که می توانند در این فولدر قرار گیرند می تواند یکی از فرمت های png یا jpg یا gif یا 9.png باشد.

4. فولدری تحت عنوان drawable-xhdpi جزو فولدرهایی که به صورت پیش فرض ممکن است در یک اپلیکیشن ایجاد نگردد. این فولدر در حقیقت به عنوان نسخه ای از فولدر drawable است که برای تبلت هایی با صفحه خیلی بزرگ مورد استفاده قرار می گیرد(نکته ای که در ارتباط به نحوه نامگذاری این فولدر می بایست همواره مد نظر قرار گیرد این است که پس از نوشتن نام drawable یک Dash یا خط تیره قرار داده سپس عبارت xhdpi را می نویسیم(فراموش نکنیم که Dash با Underscore فرق دارد و اگر Underscore قرار دهیم با مشکل مواجه می شویم. در واقع با پایین نگه داشتن دکمه Shift در حین زدن دکمه Dash می توانیم Underscore را تایپ کنیم.) حرف x مخفف واژه extra به معنی "خیلی" است. حرف h مخفف واژه high به معنی "زیاد" است. حروف dpi مخفف واژگان Dots per inch به "معنی نقطه در هر اینچ" می باشند).

5. فولدری تحت عنوان drawable-hdpi به عنوان نسخه ای از فولدر drawable است که برای تلفن ها یا تبلت هایی با صفحه بزرگ مورد استفاده قرار می گیرد(حرف h مخفف کلمه high به معنی "بزرگ" است).

6. فولدری تحت عنوان drawable-ldpi به عنوان نسخه ای از فولدر drawable است که برای تلفن هایی به اندازه صفحه کوچک(مثلاً دو اینچی) مورد استفاده قرار می گیرد(حرف l مخفف کلمه low به معنی "کوچک" است).

7. فولدری تحت عنوان drawable-mdpi به عنوان نسخه ای از فولدر drawable است که برای تلفن هایی به اندازه صفحه متوسط مورد استفاده قرار می گیرد(حرف m مخفف کلمه medium به معنی "متوسط" است).

8. فولدری تحت عنوان layout به منظور ذخیره سازی UI یا همان "رابط گرافیکی کاربر" مورد استفاده قرار می گیرد(به عبارت دیگر همان صفحۀ اصلی اپلیکیشن که پس از اجرا بالا می آید در این فولدر قرار می گیرد).

9. فولدری تحت عنوان menu به منظور ذخیره سازی منوها مورد استفاده قرار می گیرد(منوها ابزارهایی هستند که با استفاده از دکمه Menu تلفن همراه یا تبلت فرا خوانده می شوند که از طریق گزینه های داخل منو می توان به بخش های مختلف اپلیکیشن رفت).

10. فولدری تحت عنوان raw که "خام" معنی می دهد به منظور ذخیره سازی فایل هایی از قبیل MP3 . نکته ای که در مورد این فولدر می بایست مد نظر قرار دهیم این است که عناصر داخل این فولدر توسط اندروید Compressed یا فشرده نمی شوند.

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

از اینرو برای ذخیره سازی داده هایی از جنس اعداد و کلمات در کنار یکدیگر می بایست فایلی تحت عنوان arrays.xml ایجاد کرده و آن را داخل فولدر values قرار دهیم.

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

چنانچه بخواهیم لیستی از ابعداد و اندازه ها داشته باشیم، می توانیم فایلی تحت عنوان dimens.xml ایجاد کنیم. کلمه dimens مخفف کلمه dimensions به معنی "ابعاد" است. کاربرد این فایل به این شکل است که می توانیم در آن یکسری ابعاد تعریف کرده سپس آنها را در برنامه خود مثلاً برای اندازه یک متن استفاده کنیم.

چنانچه بخواهیم یکسری کلمه یا عبارت یا نوشته ایجاد کنیم و آنها را در برنامه خود استفاده کنیم می توانیم از فایلی تحت عنوان strings.xml استفاده کنیم. به طور مثال فرض کنیم که می خواهیم اپلیکیشن خود را با نام خدا آغاز کنیم، از اینرو یک string با مقدار In the name of God در فایل strings.xml ایجاد کرده سپس در هر کجای برنامه که بخواهیم می توانیم آن را فرا بخوانیم(لازم به ذکر است کلمه انگلیسی God با کلمه god دارای تفاوت معنایی است. در واقع این کلمه با حرف بزرگ به معنای "خدای یکتا" است در حالیکه کلمه god با حرف کوچک به معنی "الهه" است. مثلاً The god of water به معنی "الهه آب" است).

چنانچه با HTML آشنایی داشته باشیم می دانیم که برای شکل دادن به ظاهر عناصری که توسط کدهای HTML ایجاد می شوند می توانیم از CSS استفاده کنیم.

در توسعه اندروید هم چیزی شبیه به CSS تحت عنوان styles.xml وجود دارد. موارد استفاده این style ها ایجاد خصوصیاتی کلی است که با نسبت دادن آن خصوصیات به عنصری در اپلیکیشن دیگر نیاز به تعریف تک تک آن خصوصیات برای هر چیزی در اپلیکیشن نیست.

اپلیکیشنی که در برگیرندۀ کلیه فولدرها و فایلی های توضیح داده شده در این آموزش باشد به شکل زیر خواهد بود:


920409-a11IMAGE 1.jpg

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤالات زیر پاسخ بدهیم:

1. آیا می توان فولدرهای زیرمجموعه فولدر res را به صورت دلخواه نامگذاری کرد؟
2. عکس ها با چه فرمتی می توانند در یک اپلیکیشن اندرویدی استفاده شوند؟
3. تفاوت نسخه های متفاوت فولدر drawable در چیست؟
4. UI اصلی یک اپلیکیشن در کدام فولدر قرار می گیرد؟
5. معادل CSS در سیستم عامل اندروید چیست؟
6. تفاوت God با god چیست؟

در آموزش آتی با نحوه ایجاد فولدرهای زیرشاخه res هم چنین ایجاد فایل های زیرشاخه فولدر values آشنا خواهیم شد.


آموزش برنامه نویسی اندروید - قسمت ۸: ساخت اولین پروژه در محیط اکلیپس

اهداف آموزشی این قسمت عبارتند از:
1. تعیین مسیر Workspace
2. مراحل ساخت یک پروژه جدید

پس از نصب موفقیت آمیز محیط برنامه نویسی اکلیپس و ابزارهای مورد نیاز برای توسعه اندروید که عبارتند از JDK و ADT و SDK و انجام تنظیمات اولیه توسعه اندروید در محیط اکلیپس اکنون می توانیم اقدام به ساخت اولین پروژه اپلیکیشن اندرویدی خود در اکلیپس نماییم(لازم به ذکر است کاربرانی که به جای اکلیپس از ADT Bundle گوگل استفاده می کنند نیز خواهند توانست بر اساس همین آموزش اقدام به ساخت پروژه در این محیط برنامه نویسی کنند با این تفاوت که ممکن است جای برخی چیزها اندکی تغییر کرده باشد).
ادامه مطلب را از دست ندهید.

تعیین مسیر Workspace

محیط برنامه نویسی اکلیپس نیازی به نصب روی سیستم نداشته و صرفاً با کلیک کردن روی آیکون این نرم افزار خواهیم توانست آن را اجرا کنیم. پس از اجرای نرم افزار اکلیپس، این نرم افزار از کاربر می خواهد تا مسیری را به عنوان مسیر workspace روی هارد مشخص کند که از این پس این مسیر به عنوان مسیری خواهد بود که کلیه پروژه ها در آن ذخیره خواهند شد. پس از انتخاب مسیر با تصویر زیر رو به رو خواهیم شد:


920327-8-IMAGE 1.jpg

در حقیقت این صفحه Welcome Screen یا "صفحه خوشامدگویی" نرم افزار است. همانطور که در تصویر فوق با یک فلش قرمز رنگ نشان داده شده است، با کلیک کردن روی گزینه Workbench خواهیم توانست وارد صفحه اصلی نرم افزار شویم.


مراحل ساخت یک پروژه جدید

در حقیقت برای ساخت یک پروژه جدید اپلیکیشن اندروید در محیط برنامه نویسی اکلیپس راه های متفاوتی وجود دارد. آسان ترین راه برای کلیک کردن روی گزینه ای است که در تصویر زیر نشان داده شده است:


920327-8-IMAGE 2.jpg

با قرار دادن نشانگر موس روی این گزینه عبارت Opens a wizard to help create a new Android project نشان داده خواهد شد(در تصویر فوق با خط قرمز نشان داده شده است). ترجمه تحت الفظی این عبارت "بازکردن پنجرۀ ساخت یک پروژه جدید اندروید" می باشد. پس از کلیک کردن روی این گزینه پنجره ای به شکل زیر مشاهده خواهد شد:


920327-8-IMAGE 3.jpg

در این پنجره در بخش Project Name می بایست نامی برای پروژه خود انتخاب نماییم. در حقیقت این نام به منزله نام اپلیکیشن ما نخواهد بود بلکه نامی است که از آن طریق پروژه ما در Workspace ذخیره خواهد شد. اکنون نام My First Android Project به معنی "اولین پروژه اندروید من" را مقابل Project Name می نویسیم. سپس می بایست یکی از سه گزینه موجود را انتخاب نماییم و از آنجا که قصد داریم یک پروژه جدید ایجاد کنیم، گزینه Create new project in workspace به معنی "ساخت پروژه جدید در workspace ایجاد شده" را انتخاب می کنیم. سپس با تیک دار کردن گزینه Use default location به معنی "استفاده از محل ذخیره سازی پیش فرض"، این دستور را به اکلیپس می دهیم که همان مسیری که در ابتدای نصب اکلیپس برای Workspace انتخاب کردیم را برای ذخیره سازی این پروژه نیز استفاده کند. در صورتیکه بخواهیم پروژه خود را در مسیر دیگری ذخیره سازیم، می توانیم تیک این گزینه را برداشته و مسیر جدید را وارد کنیم. حال می توانیم روی دکمه Next کلیک کنیم:


920327-8-IMAGE 4.jpg

همانطور که در تصویر فوق مشاهده می شود در این پنجره می بایست نوع Build Target را مشخص کنیم. به طور خلاصه منظور از Build Target همان نسخه ای از سیستم عامل اندروید است که قصد داریم اپلیکیشن خود را اختصاصاً برای آن نسخه طراحی کنیم. در این پروژه نسخه 2.1 را مد نظر قرار می دهیم. به عبارت دیگر کاربرانی که روی تلفن همراه ایشان نسخه 2.1 اندروید یا نسخه های پایین تر نصب باشد خواهند توانست از اپلیکیشن ما استفاده کنند. همانطور که قبلاً توضیح داده شد، هرچه از API های بالاتر مثلاً 4.1 استفاده کنیم به امکانات بیشتری در توسعه اندروید دسترسی خواهیم داشت اما این در حالی است که تعداد کاربران کمتری خواهند توانست از اپلیکیشن ما استفاده کنند چرا که مدت زمانی به طول خواهد انجامید تا تلفن های همراه موجود در دست کاربران با آخرین نسخه های سیستم عامل اندروید به روز رسانی شود.

از سوی دیگر لیست API های موجود در این پنجره بسته به تعداد SDK هایی که در مرحله آماده سازی محیط برنامه نویسی اکلیپس دانلود می کنیم می تواند متفاوت باشد. به طور مثال در این نسخه از SDK که دانلود نموده ایم از نسخه های 1.1 و 1.6 و 3.2 به طور مثال خبری نیست. علت این مسئله هم به نظر می رسد این باشد که مدیر وب سایتی که ما SDK را در آموزش پیشین از آن دانلود کرده ایم ممکن است بر این باور باشند که تفاوت بسیار چندانی مابین نسخه های نزدیک به هم وجود ندارد(مثلاً مابین نسخه 2 و 2.1 ) و این در حالی است که باور ایشان کاملاً درست است.

حال می توانیم روی دکمه Next کلیک کنیم:


920327-8-1-IMAGE 5.jpg

در این پنجره می بایست اطلاعات کلی اپلیکیشن خود را وارد نماییم. همانطور که در تصویر فوق مشاهده می شود بر اساس نامی که در مرحله پیش برای پروژه خود انتخاب نمودیم، جاهای خالی این پنجره پر شده اند. در بخش Application Name به معنی "نام اپلیکیشن" می بایست نامی که می خواهیم اپلیکیشن ما داشته باشد را وارد کنیم. به عبارت دیگر این همان نامی است که کاربران پس از نصب اپلیکیشن ما روی تلفن همراه خود خواهند دید. نام وارد شده را تغییر نداده به مرحله بعد می رویم. در بخش Package Name به معنی "نام پیکج" می بایست نامی برای پکیج اپلیکیشن خود انتخاب کنیم. در واقع هر اپلیکیشن حداقل از یک پکیج تشکیل شده است و کار این پکیج قرار دادن فایل های مرتبط به یکدیگر در اپلیکیشن ما در کنار یکدیگر است. در این پروژه بنده نام com.behzadmoradi.mainpackage را انتخاب می کنم. در واقع این نام بسته به شخص یا شرکتی که اپلیکیشن را طراحی می کند متفاوت است(برای آشنایی بیشتر با نحوه نامگذاری پیکج ها در توسعه اندروید به آموزش چهارم مراجعه نمایید).

همانطور که در آموزش های پیشین توضیح داده شد، هر اپلیکیشن اندروید حداقل از یک Activity تشکیل شده است. در واقع با تیک زدن گزینه Create Activity به معنی "ساخت Activity جدید" می توانیم Activity اصلی که اپلیکیشن ما با آن شروع خواهد شد را در این مرحله بسازیم. به طول معمول این بخش هم توسط اکلیپس به طور پیش فرض برای ما پر می شود اما این در حالی است که این نام نه تنها طولانی است بلکه گویا هم نمی باشد، برای این منظور نام موجود را به نام MainActivity به معنی "یک Activity اصلی" تغییر می دهیم(برای آشنایی بیشتر با Activity ها به آموزش دوم مراجعه نموده و برای آشنایی بیشتر با نحوه نامگذاری Activity ها به آموزش ششم مراجعه نمایید).

در بخش Minimum SDK به معنی "حداقل SDK مورد نیاز" عدد 7 به طور پیش فرض توسط خود اکلیپس وارد شده است. این بدان معنا است که اپلیکیشن ما برای آنکه اجرا شود حداقل به API سطح 7 نیاز دارد. به عبارت دیگر این اپلیکیشن روی تلفن همراهی اجرا خواهد شد که نسخه اندروید آن Éclair باشد(برای آشنایی بیشتر با نام ها و سطوح API اندروید به آموزش سوم مراجعه نمایید). در واقع این عدد با توجه به نوع نسخه اندروید که در مرحله پیش انتخاب کردیم انتخاب شده است. به عبارت دیگر از آنجا که ما نسخه 2.1 را انتخاب کردیم و API اندروید به کار گرفته شده در این نسخه API 7 است، از این رو عدد 7 وارد شده است. نکته ای که در اینجا می بایست حتما مد نظر داشته باشیم این است که API وارد شده در Minimum SDK نمی بایست از API متناظر با نسخه تعیین شده در مرحله پیش بزرگ تر باشد. به طور مثال از آنجا که در مرحله پیش نسخه 2.1 انتخاب شده است از این رو برای Minimum SDK نمی توانیم مثلاً API 15 را انتخاب کنیم(برای آشنایی بیشتر با API ها در توسعه اندروید به آموزش سوم مراجعه نمایید).

اکنون مراحل ساخت اولین پروژه اندروید ما به پایان رسیده و می توانیم دکمه Finish را بزنیم.

پس از زدن دکمه Finish به محیط اکلیپس بازگشته و پروژه ای تحت عنوان My First Android Project در بخش Package Explorer اکلیپس مشاهده خواهد شد:


920327-8-IMAGE 6.jpg

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤالات زیر پاسخ بدهیم:

1. پروژه های ما در چه مکانی روی هارد ذخیره می شوند؟
2. آیا نامی که در بخش Project Name وارد می کنیم با نامی که کاربران روی تلفن همراه خود می بینند یکی است ای خیر؟
3. منظور از Build Target چیست؟
4. منظور از Minimum SDK چیست؟

در آموزش آتی به بررسی دو فولدر اول پروژه که همان فولدرهای src و gen می باشند خواهیم پرداخت.


آموزش برنامه نویسی اندروید - قسمت ۷: آماده سازی محیط اکلیپس برای توسعه

اهداف آموزشی این قسمت عبارتند از:
1. روش نصب JDK جاوا
2. معرفی SDK و ADT اندروید
2. دانلود ADT Bundle برای توسعه اندروید
3. آموزش دانلود محیط برنامه نویسی اکلیپس و ابزار های مورد نیاز توسعه اندروید

روش نصب JDK جاوا

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


معرفی SDK و ADT اندروید

در واقع با دانلود رایگان محیط برنامه نویسی اکلیپس از سایت آن و همچنین دانلود رایگان SDK اندروید که برای توسعه، تست و مشکل یابی اپلیکیشن های طراحی شده مورد استفاده قرار می گیرد و در نهایت دانلود رایگان پلاگین ADT که مخفف واژگان Android Development Tools به معنی ابزارهای توسعه اندروید است از اینجا خواهیم توانست برنامه نویسی اندروید را شروع کنیم.

ادامه مطلب را از دست ندهید.

به طور خلاصه، SDK در برگیرندۀ API های لازم و ضروری برای توسعه اندروید می باشد که توسط تیم برنامه نویسی گوگل طراحی شده اند. در واقع پس از دانلود رایگان SDK و نصب آن روی محیط برنامه نویسی اکلیپس، علاوه بر استفاده از API های جاوا که از طریق JDK در اختیار اکلیپس قرار می گیرند، به API های اختصاصی اندروید که با Syntax یا ساختار زبان برنامه نویسی جاوا نوشته شده اند نیز دسترسی پیدا نموده و از این طریق خواهیم توانست توسعه اندروید را آغاز نماییم. اما پیش از اینکار نیاز داریم تا ADT اندروید را نیز دانلود نموده و به محیط برنامه نویسی اکلیپس معرفی نماییم.

در حقیقت نصب پلاگین ADT این امکان را به ما می دهد تا بتوانیم از طریق محیط برنامه نویسی اکلیپس و استفاده از API های موجود در SDK که برای توسعه اندروید تعبیه شده اند دست به طراحی اپلیکیشن اندروید بزنیم. از سوی دیگر این پلاگین دارای یک ابزار طراحی GUI است که با استفاده از آن خواهیم توانست بدون کدنویسی و صرفا با Drag and Drop به طور مثال به ایجاد یک دکمه بپردازیم(عبارت GUI مخفف واژگان Graphical User Interface به معنی رابط گرافیکی کاربر است).


دانلود ADT Bundle برای توسعه اندروید

علاوه بر محیط برنامه نویسی اکلیپس، شرکت گوگل نسخه ای از نرم افزار اکلیپس را تحت عنوان ADT Bundle تولید کرده است که کلیۀ ابزارهای لازم برای توسعه اندروید از جمله خود محیط برنامه نویسی اکلیپس به علاوۀ SDK و ADT را دارا است. این محیط برنامه نویسی به هیچ وجه نیاز به نتظیمات خاصی نداشته و صرفاً با اجرای برنامه خواهیم توانست توسعه اندروید را شروع نماییم.

برای دانلود این نرم افزار می بایست به سایت توسعه شرکت گوگل مراجعه نموده و این نرم افزار را به صورت کاملاً رایگان دریافت نمود ولی از آنجا که امکان دسترسی کاربران ایرانی به این وب سایت امکان پذیر نمی باشد، اکثر کاربران نخواهند توانست به سادگی ADT Bundle را دانلود کنند.

کاربرانی که نمی توانند سرورها گوگل را دور زده و این نرم افزار را دانلود نمایند، می توانند به این آدرس مراجعه نموده و نسخه کامل ADT Bundle را دانلود نمایند. به نظر می رسد چنانچه کاربران طبق دستورات نصب در وب سایت فوق الذکر عمل کنند با هیچ مشکل خاصی مواجه نشوند.


دانلود محیط برنامه نویسی اکلیپس و ابزارهای مورد نیاز برای توسعه اندروید

نکته ای که در رابطه با آماده سازی محیط برنامه نویسی از اهمیت بسزایی برخوردار است آگاهی از این موضوع است کدام نسخۀ اکلیپس با کدام نسخۀ SDK بهترین هم خوانی را دارد. از سوی دیگر از آنجا که سایت رسمی اندروید اجازۀ استفاده کاربران ایرانی را از امکانات رایگان این سایت نمی دهد، بالتبع کاربران ایرانی نمی توانند SDK و ADT که برای توسعه اندروید لازم و ضروری است را دانلود کنند.

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

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


920327-IMAGE 1.jpg

پس از ورود به بخش مطالعه آموزش های رایگان، سپس کلیک کردن بر روی گزینه آماده کردن محیط برنامه نویسی می توان به لینک های دانلود دسترسی پیدا کرد(در تصویر زیر گزینه 5):


920327-IMAGE 2.jpg

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

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤالات زیر پاسخ بدهیم:

1. کدامیک از نسخه های JDK و JRE در برگیرنده دیگری است؟
2. وظیفه SDK چیست؟
3. وظیفه ADT چیست؟
4. اختصار GUI مخفف چه کلماتی است؟
در آموزش هشتم نحوه ساخت اولین پروژه در محیط برنامه نویسی اکلیپس آموزش داده خواهد شد.

آموزش برنامه نویسی اندروید - قسمت ۶: اولین پروژه اندروید در محیط اندروید استودیو [با ویدیو]

اهداف آموزشی این قسمت عبارتند از:
1. ساخت اولین پروژه در اندروید استودیو
2. آشنایی با نحوه نامگذاری Activity ها در اندروید
3. آشنایی با نحوه نامگذاری Layout ها در اندروید
4. آشنایی با نحوه نصب فایل های Gradle در اندروید استودیو
5. آشنایی با رفع مشکل نصب فایل های Gradle

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

920327-6-IAMGE 1.jpg

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


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

برای اینکار روی گزینه New Project کلید می کنیم و پنجره ای به شکل زیر مشاهده خواهیم کرد:


920327-6-IIMAGE 2.jpg

در این مرحله یکی از مهم ترین کارها در توسعه یک اپلیکیشن اندرویدی را انجام خواهیم داد. در واقع این مرحله از کار مبنایی خواهد بود برای این مسئله که اپلیکیشن ما از چه ویژگی هایی برخوردار خواهد بود و کدام نسخه های اندروید را پیشتیبانی خواهد کرد.

در بخش Application name به معنی "نام اپلیکیشن" نامی برای اپلیکیشن خود در نظر می گیریم. در این مثال نام My First Android Project به معنی "اولین پروژه اندروید من" را وارد می کنیم(لازم به ذکر است رایج است که اولین حرف نام اپلیکیشن می بایست با حرف بزرگ نوشته شود). به محض وارد کردن نامی در بخش Application name مابقی جاهای خالی نیز به طور خودکار بر اساس نام انتخابی ما پر خواهند شد. به طور خلاصه نام ورودی در Application name نامی است که پس از نصب اپلیکیشن روی یک تبلت یا تلفن همراه در معرض دید کاربر قرار خواهد گرفت.

در بخش Module name به معنی "نام ماژول" می بینیم که نام MyFirstAndroidProject وارد شده است. در حقیقت این همان نامی است که در بخش Application name وارد کردیم با این تفاوت که کلیه Space ها حذف شده اند. در واقع این نام نامی است که از آن طریق پروژه ما روی کامپیوتر ذخیره خواهد شد و در اندروید استودیو پروژه ما به این نام شناخته خواهد شد.

در بخش Package name نام com.example.myfirstandroidproject به صورت خودکار وارد شده است اما این در حالی است که با این نام به هیچ وجه نخواهیم توانست به ادامه ساخت پروژه خود بپردازیم چرا که بخشی از این نام که com.example است حتماً بایستی با نامی دیگر جایگزین شود که در غیر این صورت اندروید استودیو از ما ایراد خواهد گرفت. برای رفع این مشکل نام فوق را به نام com.behzadmoradi.mainpackage تغییر می دهیم(جهت آشنایی بیشتر با نحوه نامگذاری پکیج ها به آموزش چهارم از سری آموزش های توسعه اندرووید مراجعه نمایید).

در واقع مقابل Project location به معنی "محل ذخیره سازی پروژه" آدرسی که می خواهیم پروژه ما در آن ذخیره شود را می نویسیم. محیط برنامه نویسی اندروید استودیو به طور خودکار پروژه ما را در پوشه ای به نام AndroidStudioProjects در پوشه Users داخل درایو C ذخیره می سازد. چنانچه تمایل داشته باشیم می توانیم در درایو دیگری پوشه ای اختصاصی برای اپلیکیشن های خود در نظر بگیریم و کلیه پروژه های خود را در آنجا ذخیره سازیم. در این پروژه مکان پیش فرض را در نظر خواهیم گرفت.

در بخش Minimum required SDK به معنی "حداقل SDK مورد نیاز" گزینه API 7: Android 2.1 (Éclair) را در این پروژه انتخاب می کنیم. این بدان معنا است که اپلیکیشن ما برای آنکه اجرا شود حداقل به API سطح 7 نیاز دارد به عبارت دیگر این اپلیکیشن روی تلفن همراهی اجرا خواهد شد که نسخه اندروید آن Éclair باشد(برای آشنایی بیشتر با نام ها و سطوح API اندروید به آموزش سوم مراجعه نمایید).

در بخش Target SDK نیز گزینه API 7: Android 2.1 (Éclair) را انتخاب می کنیم. کاری که Target SDK انجام می دهد این است که به محیط برنامه نویسی اندروید استودیو دستور می دهد تا API سطح 7 را برای توسعه اپلیکیشن ما در نظر بگیرد(نام دیگر Target SDK در دیگر محیط های برنامه نویسی Build SDK می باشد). در واقع در بسیاری از برنامه ها از API های یکسانی هم برای Minimum SDK و Target SDK استفاده می شود. با انتخاب این گزینه این تضمین را ایجاد می کنیم که اپلیکشن طراحی شده در تلفن های همراهی با نسخه اندروید Éclair به خوبی کار خواهد کرد چرا که اندروید استودیو کلیه API های لازم را به صورت خودکار وارد برنامه ما خواهد کرد(نکته ای که در اینجا می بایست حتما مد نظر قرار داده شود این است که Target SDK به هیچ وجه نمی تواند از Minimum SDK کوچک تر باشد).

در ادامه کار در بخش Compile with نسخه ای از API را مشخص خواهیم کرد که بر آن اساس برنامه ما Compile خواهد شد اما این در حالی است که محیط برنامه نویسی اندروید استودیو تنها یک گزینه را در اختیار ما خواهد گذاشت از این رو گزینه پیش را مد نظر قرار می دهیم.

در بخش Theme قادر خواهیم خواهیم بود تا تم اپلیکیشن خود را مشخص کنیم. به عبارت دیگر خواهیم توانست تم هایی با طرح های روشن و تیره برای اپلیکیشن خود انتخاب کنیم اما از آنجا که در این آموزش قصد داریم تا یک اپلیکیشن ساده طراحی کنیم، گزینه None به معنی "هیچ کدام" را انتخاب می کنیم.

چنانچه گزینه Create custom launcher icon را تیک بزنیم، قادر خواهیم بود تا تنظیمات مربوط به آیکون اپلیکیشن مان به توجه به سلیقه شخصی خود تغییر دهیم و به جای آیکون پیش فرض اندروید که یک ربات سبز رنگ است از تصاویر دیگری استفاده کنیم اما از آنجا که این کار را پس از ساخت پروژه نیز می توانیم انجام دهیم، تیک این گزینه را بر می داریم تا همان آیکون پیش فرض در نظر گرفته شود(این آیکون پیش فرض یا هر تصویر دیگری که به جای آن در توسعه اپلیکیشن خود استفاده کنیم چیزی است که پس از نصب روی تلفن همراه و یا تبلت ما قابل رویت خواهد بود و با زدن روی آن وارد برنامه خواهیم شد).

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

گزینه Mark this project as a library این امکان را به ما می دهد تا پروژه های خود را تبدیل به Library هایی کنیم که این قابلیت را دارا هستند تا در دیگر برنامه ها مورد استفاده قرار گیرند. از آنجا که در این قسمت از آموزش به اینکار نیازی نیست، تیک این گزینه را نیز بر می داریم. در این مرحله پنجره مربوط به ساخت پروژه جدید می بایست به شکل زیر باشد:


920327-6-IIMAGE 3.jpg

اکنون دکمه Next را زده و پنجره ای به شکل زیر مشاهده خواهیم کرد:


920327-6-IIMAGE 4.jpg

در این پنجره، اندروید استودیو از ما می خواهد تا نمای ظاهری Activity یی برنامه را مشخص نماییم. از آنجا که در این آموزش قصد داریم تا پروژه ای ساده طراحی کنیم، گزینه اول تحت عنوان Blank Activity را انتخاب کرده و مجدداً دکمه Next را زده و وارد پنجره زیر می شویم:


920327-6-IIMAGE 5.jpg

نحوه نامگذاری Activity ها در اندروید

همانطور که ملاحظه می شود می بایست در این مرحله در قسمت Activity Name نامی برای Activity خود در نظر بگیریم. نکته ای که در ارتباط با نام Activity ها همواره می بایست مد نظر قرار دهیم این است که نام آنها می بایست با حرف بزرگ شروع شود و چنانچه نام Activity ما بیش از یک کلمه بود می توان از ساختار camelCase استفاده کرد(برای آشنایی بیشتر با این اصطلاح علاقمندان می توانند به آموزش برنامه نویسی جاوا قسمت دهم در سایت نردبان مراجعه نمایند). همانطور که در تصویر فوق ملاحظه می شود اندروید استودیو به صورت خودکار نام MainActivity را به معنی Activity اصلی در نظر گرفته است. از آنجا که هر اپلیکیشن اندروید با یک Activity اولیه شروع می شود، بهتر است نام چنین Activity یی نامی گویا باشد. از این رو نام های MainActivity و Main و این دست نام ها پیشنهاد می شود. در این پروژه نام پیش فرض را مورد استفاده قرار خواهیم داد.


نحوه نامگذاری Layout ها در اندروید

سپس در بخش Layout Name می بایست نامی را برای فایل XML خود که همان UI یا "رابط گرافیکی" اپلیکیشن ما است مشخص نماییم. نکته ای که در اینجا می بایست همواره مد نظر قرار دهیم این است که در نامگذاری Layout برنامه خود فقط می توانیم از حروف کوچک استفاده کنیم و چنانچه نام Layout ما از چند واژه تشکیل شده بود می توانیم از _ استفاده کنیم. به طور مثال در تصویر فوق نام activity_main به طور پیش فرض در نظر گرفته شده است که در این پروژه همین نام را مورد استفاده قرار خواهیم داد.

در این مرحله کار تنظیمات اولیه به اتمام رسیده و می توانیم دکمه Finish را بزنیم.


نصب فایل های Gradle

از آنجا که این اولین باری است که در محیط اندروید استودیو اقدام به ساخت یک پروژه جدید می کنیم، این نرم افزار اقدام به دانلود کردن پکیج Gradle از وب سایت مربوطه می کند و پنجره ای به شکل زیر را مشاهده خواهیم کرد:


920327-6-IIMAGE 6.jpg

مدت زمان دانلود بستگی به سرعت اینترنت داشته و گاهاً ممکن است تا 5 الی 7 دقیقه هم به طول انجامد. در واقع پس از یک بار دانلود این پکیج در ساخت پروژه های آتی دیگر نیاز به اینکار نخواهد بود.


مشکل یابی نصب فایل های Gradle

حال گاهی اوقات ممکن است در حین دانلود با پنجره ای به شکل زیر مواجه شویم:


920327-6-IIMAGE 7.jpg

که در این صورت می بایست محیط برنامه نویسی اندروید استودیو را ببندیم و مجدداً آن را اجرا کرده و همانطور که در تصویر زیر مشاهده می شود پروژه ساخته شده را از طریق گزینه Open project از همان مسیری که در مرحله قبل برای ذخیره پروژه تعیین کرده بودیم پروژه خود را باز نماییم:


920327-6-IIMAGE 8.jpg

چنانچه پس از اینکار مجدداً در نصب فایل های Gradle با مشکل مواجه شدیم می توانیم نوع Error را در سایت هایی همچون گوگل و Stack Overflow سرچ کردن و مشکل را رفع نماییم. در واقع مشکلاتی از این دست جزو همان Bug های نسخۀ بتای نرم افزارهای جدید الورود به بازار است.

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤالات زیر پاسخ بدهیم:
1. چرا بایستی نام پکیجی که در حین ساخت پروژه به صورت خودکار ایجاد می شود را تغییر دهیم؟
2. منظور از حداقل SDK مورد نیاز چیست؟
3. منظور Target SDK چیست؟
4. نحوه نامگذاری Activity ها به چه شکل است؟
5. نحوه نامگذاری فایل های XML به چه شکل است؟
به منظور مشاهده آموزش ویدیویی این قسمت از آموزش، به ویدیو زیر توجه نمایید:


در آموزش آتی با نحوۀ دانلود اکلیپس و ابزارهای مورد نیاز برای توسعه اندروید آشنا شده و توضیحاتی مفصل پیرامون ساخت اولین پروژه اپلیکیشن اندروید در محیط برنامه نویسی اکلیپس داده خواهد شد.


آموزش برنامه نویسی اندروید - قسمت ۵: آماده سازی محیط اندروید استودیو

اهداف آموزشی این قسمت عبارتند از:
1. روش نصب JDK جاوا
2. معرفی محیط برنامه نویسی اندروید استودیو
3. راهنمای دانلود محیط برنامه نویسی اندروید استودیو
4. راهنمای تعریف مسیر جاوای نصب شده روی سیستم ویندوز 7

به طور خلاصه، یکی از ساده ترین کارها برای شروع برنامه نویسی اندروید، آماده سازی یا بهتر بگوییم دانلود محیط برنامه نویسی است (البته برای کسانیکه کشورشان تحریم نباشد!). ادامه مطلب را از دست ندهید.

روش نصب جاوا

به منظور توسعه اندروید حتماً بهJRE و JDK نیاز است که می توان آخرین نسخه آن ها را از این لینک دریافت نمود. (لازم به ذکر است چنانچه شما نسخه JDK نصب نمایید دیگر نیازی به نصب JRE نخواهید داشت چرا که JDK در برگیرنده JRE نیز می باشد.) از آنجا که دسترسی به سایت اوراکل برای کاربران ایرانی امکان پذیر نمی باشد، پیشنهاد می شود علاقمندان JDK جاوا را از دیگر منابع دانلود نمایند. برای مثال از سایت http://www.uncocoder.com می توان پس از ورود به بخش مطالعه آموزش های رایگان، سپس کلیک کردن بر روی گزینه آماده کردن محیط برنامه نویسی به لینک دانلود JDK دست پیدا کرد.


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

اندروید استودیو (Android Studio) محیطی برای توسعه برنامه های اندرویدی است که برای اولین بار خود شرکت گوگل بر پایه محیط برنامه نویسی قدرتمند IntelliJ IDEA طراحی کرده است که همانند اکلیپس ابزارهای لازم برای طراحی، توسعه و مشکل یابی برنامه ها را داراست. اولین نسخه از اندروید استودیو در کنفرانس سالیانه گوگل که در اردیبهشت ماه سال 1391 اتفاق افتاد معرفی شد.

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

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


آماده سازی محیط برنامه نویسی اندروید استودیو

از آنجا که شرکت گوگل دسترسی به سایت اختصاصی اندروید را برای کاربران ایرانی محدود کرده است و از سوی دیگر تنها مرجع رسمی برای دانلود رایگان اندروید استودیو نیز همین وب سایت است، به نظر می رسد که دانلود اندروید استودیو برای گروهی قابل توجهی از کاربران امکان پذیر نباشد. به هر حال علاقمندان می توانند برای دانلود مستقیم اندروید استودیو به آدرس https://developer.android.com/sdk/installing/studio.html مراجعه نموده و نسخه سازگار با سیستم عامل خود را دانلود نمایند.

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

نکته ای که ممکن است برای خیلی از کاربران ویندوز در حین اجرای اندروید استودیو پیش آید (که بنده هم از این قاعده مستثنی نبودم) این است که پس از نصب اندروید استودیو و کلیک کردن روی آیکون این محیط برنامه نویسی برنامه اجرا نخواهد شد. علت این مسئله آن است که اندروید استودیو قادر به پیدا کردن نسخه جاوا که روی کامپیوتر یا لپ تاپ نصب است نمی باشد و برای رفع این مشکل می بایست مسیر جاوا که روی سیستم عامل ما نصب است را تعریف کنیم.


تعریف مسیر جاوا (در ویندوز 7)

ابتدا روی My Computer راست کلیک کرده و به بخش Properties می رویم. پنجره ای به شکل زیر مشاهده می شود:


920327-5-IMAGE 1.jpg

سپس روی گزینه Advance system settings همانطور که در تصویر فوق نشان داده شده است کلیک می کنیم و پنجره زیر مشاهده می شود:


920327-5-IMAGE 2.jpg

همانطور که در تصویر فوق مشاهده می شود از Tab های بالای پنجره Advanced را انتخاب کرده سپس در پنجره مربوط به Advanced در پایین پنجره گزینه Environment Variables که در تصویر با دایره قرمز رنگ مشخص شده است را کلیک می کنیم و پنجره زیر را مشاهده خواهیم کرد:


920327-5-IMAGE 3.jpg

در این پنجره دو بخش مجزا مشاهده می شود که بخش بالایی مربوط به User است و بخش پایینی مربوط به System می باشد. حال نیاز داریم تا در بخش System مسیر جاوا را مشخص نماییم. برای این منظور همانطور که در تصویر فوق مشاهده می شود گزینه New را کلیک کرده و پنجره زیر را مشاهده خواهیم کرد:


920327-5-IMAGE 4.jpg

در این پنجره در بخش Variable name می بایست JDK_HOME را بنویسیم (لازم است کلیه حروف بزرگ باشد و مابین دو کلمه JDK و HOME می بایست Underscore یا همان علامت _ قرار گیرد(برای تایپ Underscore نیاز است پیش از فشردن دکمه Dash کلید Shift را پایین نگه داریم). سپس نیاز است تا در بخش Variable value آدرس جایی که نسخه JDK جاوا نصب است را بنویسیم که این آدرس ممکن است در کامپیوترهای هر فرد متفاوت باشد. به طور مثال در سیستم بنده این آدرس در C:\Program Files\Java\jdk1.7.0_05 قرار دارد.

برای پیدا کردن این آدرس به My Computer می رویم سپس گزینه Program Files را انتخاب می کنیم. داخل پوشه Program File پوشه ای تحت عنوان Java را پیدا می کنیم و روی آن کلیک می کنیم. در این مرحله تصویر زیر مشاهده خواهد شد:


920327-5-IMAGE 5.jpg

همانطور که در تصویر فوق مشاهده می شود، کلیه نسخه های نصب شدۀ جاوا روی سیستم عامل خود را مشاهده می کنیم. نکته ای که در اینجا توجه به آن حائز اهمیت است این است که ما می بایست آدرس نسخه JDK را کپی کنیم و چنانچه آدرس JRE را در پنجره قبل وارد کنیم ممکن است با مشکل مواجه شویم(لازم به ذکر است که نسخه JDK در برگیرنده نسخه JRE نیز می باشد. برای آشنایی بیشتر با JDK و JRE به آموزش برنامه نویسی جاوا در سایت نردبان قسمت اول مراجعه نمایید). در این مرحله روی نسخه ای از JDK که مد نظر ماست کلیک کرده و وارد پوشه آن می شویم(در اینجا بنده آخرین نسخه از JDK که نسخه 7 می باشد را مد نظر قرار داده ام). حال تصویر زیر مشاهده خواهد شد:


920327-5-IMAGE 6.jpg

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


920327-5-IMAGE 7.jpg

همانطور که در تصویر فوق مشاهده می شود آدرس JDK نصب شده روی سیستم عامل ما به رنگ آبی در خواهد آمد. در این مرحله با زدن دکمه های Ctrl و حرف C این آدرس را کپی می کنیم و به صورت زیر در پنجره مربوط به New System Variable که قبلاً نام JDK_HOME را در آن وارد کرده بودیم Paste می کنیم:


920327-5-IMAGE 8.jpg

اکنون کلید OK را می زنیم و به پنجره Environment Variables می گردیم. در این پنجره نیز مجدد کلید OK را می زنیم و به پنجره System Properties باز می گردیم و در این پنجره نیز کلیک OK را زده و با این کار تنظیمات آدرس جاوای نصب شده روی سیستم عامل خود را به پایان می رسانیم.

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

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤالات زیر پاسخ بدهیم:
۱- تفاوت مابین JRE و JDK چیست؟
۲-محیط برنامه نویسی اندروید استودیو بر پایه چه نرم افزاری نوشته شده است؟
در آموزش آتی با نحوه ساخت اولین پروژه در محیط برنامه نویسی اندروید استودیو آشنا خواهیم شد.

آموزش برنامه نویسی اندروید - قسمت ۴: نحوه نامگذاری صحیح پکیج ها

اهداف آموزشی این قسمت عبارتند از:
1. آشنایی با علت به کارگیری پکیج ها در توسعه اندروید
2. آشنایی با نحوه نامگذاری صحیح پکیج ها با ذکر مثال

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

علت به کارگیری و همچنین نحوه نامگذاری پکیج ها

در زبان برنامه نویسی جاوا استفاده از Package راهی است که از آن طریق می توان کلاس های مرتبط با یکدیگر را سازماندهی کرد. در حقیقت کلاس هایی که در یک پکیج قرار می گیرند خواهند توانست به راحتی به یکدیگر دسترسی پیدا کنند. نحوه نامگذاری پکیج ها در جاوا به این شکل است که نام پکیج با نام دومین شرکت، سازمان و یا وب سایت شخصی آغاز می شود. به عبارت دیگر نام پکیج سلسله مراتبی است به این شکل که با کلی ترین نام که نام دومین است شروع می شود. سپس یک نقطه قرار می دهیم (در زبان جاوا فقط و فقط برای نامگذاری پکیج ها برای جدا سازی بخش های مختلف نام پکیج می توانیم از نقطه استفاده کنیم). حال نام اصلی وب سایت شرکت و یا سازمان و یا وب سایت شخصی را نوشته و مجدداً یک نقطه قرار می دهیم. پس از این نقطه نامی برای پکیج خود در نظر می گیریم. برای روشن تر شدن مطالب فوق پکیج پروژه خود را به این صورت زیر نامگذاری می کنیم:

اول نام دومین شرکت، سازمان و یا وب سایت خود را می نویسیم که در اینجا com است سپس یک نقطه قرار داده و بعد از آن نام اصلی وب سایت را نوشته که در این مثال behzadmoradi می باشد و مجدداً پس از قرار دادن نقطه ای دیگر نام دلخواه پکیج را می نویسیم که در این مثال نام package به معنی پکیج در نظر گرفته شده است.

چنانچه بخواهیم علت این طرز نامگذاری را بیان کنیم بایستی بگوییم که با نامگذاری پکیج ها به صورت برعکس از به هم ریختگی سورس های برنامه خود جلوگیری به عمل خواهد آمد. برای روشن شدن فایده این کار به مثال زیر توجه کنید:

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

در حقیقت اشکال این نوع نامگذاری در اینجا است که این ذهنیت القاء می شود که یک پکیج اصلی به نام news وجود دارد که زیر مجموعه آن پکیج behzadmroadi است و زیر مجموعه پکیج behzadmoradi پکیج com است. حال ببینیم اگر نحوه نامگذاری را به صورت برعکس انجام دهیم چه معنایی القاء خواهد شد. نام پکیج اول را به com.behzadmoradi.news و نام پکیج دوم را به com.behzadmoradi.archive تغییر می دهیم. این نامگذاری مسلماً با معنی تر خواهد بود چرا که در این صورت ما یک پکیج کلی به نام com داریم که زیر مجموعه اش پکیج دیگری به نام behzadmoradi است و زیر مجموعه behzadmoradi دو پکیج به نام های news و archive وجود دارد.

حال ببینیم که چرا در نامگذاری پکیج ها از نام دومین استفاده می کنیم. علت آن است که با این کار از تشابه اسمی به طور صد در صد جلوگیری به عمل خواهد آمد چرا که در کل دنیا فقط یک وب سایت به آدرس behzadmoradi.com وجود دارد. برای پی بردن به اهمیت این کار به مثال زیر توجه کنید.

فرض کنیم که دو شرکت مختلف طراح Library های اندرویدی هستند به طوریکه پکیج هایی می نویسند که دیگر برنامه نویسان صرفاً با Import کردن آن پکیج ها خواهند توانست سرعت طراحی اپلیکیشن خود را بالا ببرند و دیگر مجبور نباشند تا پکیجی را خود از اول بنویسندپ(در واقع Library به مجموعه کلاس هایی گفته می شود که با یکدیگر لینک بوده و کار خاصی را انجام می دهند). حال اگر هر دو شرکت در نحوه نامگذاری پکیج های خود از نام دومین خود استفاده نکنند، این احتمال وجود دارد که به صورت اتفاقی هر دو شرکت نام یکسانی را برای پکیج خود انتخاب کنند مثلاً هر دو نام package.news را برای پکیج مرتبط با اخبار روزانه انتخاب کرده و نام package.archive را برای پکیج مرتبط با آرشیو اخبار انتخاب کنند.

اکنون ما در برنامه خود از این پکیج ها استفاده می کنیم اما نکته ای را که هرگز مد نظر قرار نداده ایم این است که در جایی از برنامه از پکیج package.news شرکت اول استفاده کرده و در جایی دیگر از پکیج package.archive شرکت دوم استفاده کرده ایم. از آنجا که ممکن است برخی کلاس های این پکیج ها با همدیگر ارتباط داشته باشند و ما به صورت ناخودآگاه این لینک را از بین برده ایم برنامه ما Crash خواهد کرد.

اکنون ببینیم اگر نام این دو شرکت در نام پکیج ها گنجانده شود چه فایده ای خواهد داشت. فرض کنیم که نام شرکت اول ما companyone باشد و نام شرکت دوم ما companytwo باشد. حال شرکت companyone دو Library طراحی کرده است به نام های com.companyone.package.news و com.companyone.pakcage.archive و از سوی دیگر شرکت companytwo هم دو library به نام های com.companytwo.package.news و com.companytwo.package.archive طراحی کرده است. به طور خلاصه این نحوه نامگذاری به ما کمک خواهد کرد که اگر خواستیم در برنامه خود از این Library ها استفاده کنیم، دو Library یی را مورد استفاده قرار دهیم که از یک شرکت بوده و به عبارت دیگر با یکدیگر مرتبط می باشند.

به عنوان نکته پایانی در مورد نحوه نامگذاری پکیج ها در اندروید بایستی گفت که چنانچه کسی دارای وب سایت شخصی نباشد می تواند به صورت فرضی نامی را برای خود در نظر بگیرد.

در آموزش پنجم اقدام به آماده سازی محیط برنامه نویسی اندروید استودیو خواهیم کرد.

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤالات زیر پاسخ بدهیم:
1. وظیفه پیکج ها چیست؟
2. چرا در نام پیکج ها از آدرس دومین شرکت یا سازمان می بایست استفاده کرد؟
3. منظور از یک Library چیست؟

آموزش برنامه نویسی اندروید - قسمت ۳: آشنایی با API های اندروید

اهداف آموزشی این قسمت عبارتند از:
1. آشنایی با تفاوت مابین Platform Level و API Level
2. معرفی جدول تطبیقی Platform Level و API Level
3. آشنایی با دیگر API های به کار گرفته شده در دستگاه های اندرویدی
4. معرفی امنیت در سیستم عامل اندروید
5. آشنایی با Sandbox اندروید
6. معرفی Permission ها یا صدور مجوز ها در اپلیکیشن های اندرویدی
7. آشنایی با رویکرد آموزشی به کار گرفته شده در سری آموزش های اندروید

ادامه مطلب را از دست ندهید.

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

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

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

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


جدول تطبیقی Platform Level و API Level

در جدول زیر کلیه اطلاعات مرتبط با نام نسخه و شماره های مرتبط با Platform level و API level آمده است:


920311-IMAGE 1.jpg

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


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

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

یکی از این API هایی گنجانده شده در خود تلفن همراه یا تبلت اندرویدی Location Services است:


920311-IMAGE 2.jpg

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


920311-IMAGE 3.jpg

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

از دیگر API هایی که در این دسته قرار می گیرند می توان به Audio and Video اشاره کرد:


920311-IMAGE 4.jpg

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

API ی دیگری که نیاز به معرفی دارد API ی مرتبط به Web Browser است:


920311-IMAGE 5.jpg

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

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


920311-IMAGE 6.jpg

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


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

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

کسب اجازه توسط یک اپلیکیشن برای دسترسی به چیزهای خاصی که خارج از دسترس آن اپلیکیشن می باشند داخل فایل Manifest صورت می گیرد(برای آشنایی بیشتر با این فایل به آموزش قسمت دوم مراجعه نمایید و برای کسب اطلاعات تکمیلی منتظر آموزش سیزدهم بمانید). در واقع زمانیکه کاربر قصد دارد تا یک اپلیکیشن جدید را روی تلفن یا تبلت خود نصب کند، پیش از نصب کلیه این Permission ها از کاربر گرفته خواهد شد. حال اگر کاربر چنین اجازه ای را صادر نکند، اپلیکیشن از نصب شدن روی دستگاه وی سر باز خواهد زد. به طول مثال چنانچه اپلیکیشن خاصی نیاز به دسترسی به اینترنت و یا استفاده از دوربین داشته باشد، اجازه اتصال به اینترنت و به کارگیری دوربین تلفن همراه حتماً می بایست در فایل Manifest صادر شود.


رویکرد آموزشی

در بحث آموزش از یک دید کلی می توان دو رویکرد متفاوت را اتخاذ نمود که یک رویکرد Deductive و دیگری رویکرد Inductive است که به ترتیب رویکرد "از کل به جزء" و رویکرد "از جزء به کل" ترجمه می شوند.

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

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

تجربه نشان داده است که افراد بزرگسال نسبت به افرادی کم سن و سال از Tolerance of Ambiguity به مراتب کم تری برخوردارند. واژه Tolerance به معنی "تحمل" است و واژه Ambiguity به معنی "ابهام" می باشد. به طور کلی می توان گفت که افراد بزرگسال چنانچه در شرایطی قرار بگیرند که مسئله ای برای ایشان مبهم باشد خیلی سریع تر از خردسالان انگیزه خود را از دست می دهند و این بی انگیزگی ممکن است به ترک کردن کاری در ایشان منتهی شود. اما کودکان بر خلاف بزرگسالان خود دارای Tolerance of Ambiguity بیشتری بوده و در صورتیکه در شرایطی قرار گیرند که مطلبی برای ایشان مبهم باشد و یا بر سر دوراهی قرار گیرند، به آن مطلب به شکل یک معما یا بازی نگاه کرده و سعی خواهند کرد آن را کشف کنند.

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

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

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

در مجموع از آنجا که احتمال می رود اکثر مخاطبین این دوره در سایت نردبان را نیز بزرگسالان تشکیل می دهند، در آموزش ها رویکردی از جزء به کل اتخاذ شده است.

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

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤالات زیر پاسخ بدهیم:
1. تفاوت مابین API Level و Platform Level چیست؟
2. کدام API Level ها هستند که نام نسخه سیستم عامل اندروید آنها یکی است؟
3. منظور از Sandbox چیست؟
4. صدور اجازه برای انجام هر کاری در کدام فایل اپلیکیشن صورت می گیرد؟
5. تفاوت مابین روش از کل به جزء با روش از جزء به کل چیست؟
6. کدام روش برای آموزش بزرگسالان مناسب تر است و چرا؟

این مطالب از سایت نردبان باز نشر میگردد

آموزش برنامه نویسی اندروید - قسمت ۲: آشنایی با اجزای تشکیل دهنده اندروید


1. آشنایی با ماشین مجازی، موتور جستجو، پردازنده عکس و بانک اطلاعاتی در اندروید
2. معرفی Activity ها در اندروید
3. معرفی Service ها در اندروید
4. معرفی Content Provider ها در اندروید
5. معرفی Broadcast Receiver ها در اندروید
6. آشنایی با فایل Manifest مهم ترین فایل در توسعه اپلیکیشن اندروید

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

اجزای تشکیل دهندۀ سیستم عامل اندروید

سیستم عامل اندروید بر پایه سیستم عامل لینوکس طرح ریزی شده است و ماشینی مجازی در این سیستم عامل تحت عنوان 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 ها یا مجوزهایی که کاربر برای نصب برنامه می بایست صادر کند را نیز در بر می گیرد. فرض کنیم که برنامه ای طراحی کرده ایم که نیاز به دسترسی به اینترنت دارد. حال اگر کسی بخواهد این برنامه طراحی شده توسط ما را مورد استفاده قرار دهد، در حین نصب اجازه دسترسی به اینترنت از آن کاربر توسط اپلیکیشن گرفته خواهد شد.

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

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

در قسمت آموزشی سوم با تفاوت مابین Platform Level و API Level و همچنین امنیت در سیستم عامل اندروید آشنا خواهیم شد.

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤالات زیر پاسخ بدهیم:
1. سیستم عامل اندروید از کدام Component های اصلی تشکیل شده است آنها را نام برده و وظیفه هر کدام را توضیح دهید؟
2. مهم ترین فایل یک اپلیکیشن اندرویدی چه نام دارد و این فایل چه وظیفه ای بر عهده دارد؟

این مطالب از سایت نردبان باز نشر میگردد

9 روش برای کاهش مصرف دیتا و باتری در گوشی‌های اندرویدی

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

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

تمام این روش‌ها مربط به دیتای گوشی شما خواهد شد که بیشترین مصرف را در گوشی دارد و دشمن باتری شما است.

 

 

اجازه بروز شدن به برنامه‌ها را در هر زمانی ندهید

خوشبختانه یا متاسفانه این ویژگی در کشور ما به صورت خودکار غیرفعال است، برای اینکه اجازه ندهید برنامه‌ها از طریق گوگل پلی به صورت خودکار بروز شوند باید به این فروشگاه مراجعه کنید و در قسمت تنظیمات گزینه برزورسانی خودکار را یا خاموش کنید یا اینکه اجازه دهید تنها در زمانی که Wi-Fi در دسترس است این کار انجام گیرد.

 

 

تنظیمات دیتایی برنامه‌ها را به صروت خودکار در برنامه‌ها تغییر دهید

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

 

 

دستری برنامه‌ها را به مصرف دیتا در پس زمینه قطع کنید

بعضی از اوقات حتی برنامه‌هایی که در داخل برنامه اجازه مصرف دیتا را به آن‌ها نداده‌اید به مصرف دیتا در پس زمینه می‌پردازند. در اندروید بستی حصیری به بعد این امکان وجود دارد که در قسمت Settings > Data Usage متوجه شوید کدام برنامه‌ها مشغول مصرف دیتا هستند. در اینجا دو گزینه برای هر برنامه وجود دارد یکی به نام Foreground که نشان دهند مصرف دیتای برنامه زمانی است که از آن استفاده می کنید و دیگری Background است که نشان دهنده مصرف دیتای برنامه زمانی است که در پس زیمنه باز است و شما از آن استفاده نمی کنید. اگر دیدید که یک برنامه مصرف زیادی دارد و باعث مصرف زیاد باتری شما می شود تیک گزینه Restrict background data را بزنید تا مصرف دیتا محدود شود، فقط توجه کنید با فعال کردن این گزینه مصرف دیتا برای تمام برنامه‌های باز محدود خواهد شد.

 

 

از امکان ذخیره و از پیش بارگذاری برنامه‌ها استفاده کنید

بعضی از برنامه‌هایی که حالت Stream دارند مانند Spotify این امکان را به شما می‌دهند که بتوانید لیستی از ویدئوها و یا آهنگ‌های مورد علاقه خود را دانلود کنید و بعدا زمانی که به وای فای دسترسی داشتید به تماشا و یا شنیدن آن‌ها بپردازید، حتی بعضی از برنامه‌ها که پخش ویدئویی دارند این امکان را می‌دهند تا در زمانی که به وای فای و یا اینترنت پر سرعت دسترسی ندارید آن ویدئو را با کیفیت پایین مشاهده کنید. این ویژگی را بیکار نگذارید و با رفتن به تنظیمات برنامه و فعال کردن گزینه‌ای که احتمالا کلمه  preloading را در خود دارد فعال کنید.

 

 

فایل‌های خود را فقط از طریق وای فای دانلود کنید

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

 

 

ویژگی Sync را بررسی کنید

گوگل برای اینکه محتوای برنامه‌های شما بروز باشد به صورت دائم برنامه‌ها را به سرور خود متصل نگه می‌دارد بعضی از این اتصال‌ها غیر ضروری هستند به طور مثال نیازی نیست که دائما عکس‌های شما با سرور گوگل سینک شوند. برای اینکه بتوانید تعیین کنید کدام ویژگی‌ها به صورت دائم با اکانت گوگل شما در سرورهای گوگل سینک شوند بهSettings > Accounts > Google رفته و بر روی اکانت خود کلیک کنید و تیک گزینه‌هایی که نمی‌خواهید دائما سینک شوند را بردارید.

 

 

همچنین اگر در جایی هستید که به سینک کردن محتوای خود نیاز ندارید برای مثال در زمان خواب می‌توانید با رفتن به آدرس Settings > Data Usage > Menu > uncheck "Auto-sync data به طور موقت ویژگی سینک را غیر فعال کنید.

 

 

 

مصرف مرورگر خود را کم کنید

بعضی از سایت‌ها بسیار سنگین هستند و علاوه بر محتوای سنگین تبلیغاتی دارند که برای لو شدن نیاز به مصرف دیتایی زیادی دارند بهترین راه حل برای این مشکل استفاده از ویژگی data compression است، با فعال کردن این ویژگی وب پیج مورد نظر شما پیشض از دانلود خلاصه می‌شود و سپس بر روی صفحه شما دانلود خواهد شد.

 

در مرورگر کروم برای فعال کردن این ویژگی شما می‌توانید Settings > Bandwidth Management > Reduce رفته و این ویژگی را فعال کنید.

 

 

به صورت مداوم مصرف دیتای خود را چک کنید

یکی از بهترین ابزار اندروید ابزار Data Usage است، با کمک این برنامه شما می توانید مصرف دیتای برنامه‌های مختلف را چک کنید و ببنید کدام برنامه مگابایت بیشتری مصرف می‌کند. همچنین برنامه‌ای جایگزین مانند Onavo Count وجود دارد که به صورت یک ویجت بر روی صفحه نمایش شما ظاهر خواهد شد و مصرف دیتا را به شما اطلاع خواهد داد.

 

 

فعالیت دیتایی خود را خلاصه کنید

با کمک برنامه‌ای مانند Onavo Count می‌توانید دیتاهای دریافتی خود را خلاصه کنید برای مثال محتوای ایمیل‌ها به صورت ساده شده دریافت شوند و کیفیت عکس‌ها برای مصرف دیتای شما بهینه تر شوند.

 

 

تمام این کارها باعث خواهند شد که شما مصرف باتری خود را کمتر کنید و بنابراین زمانی که به باتری نیاز داشتید خیالتان راحت باشد.

9 روش برای کاهش مصرف دیتا و باتری در گوشی‌های اندرویدی

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

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

تمام این روش‌ها مربط به دیتای گوشی شما خواهد شد که بیشترین مصرف را در گوشی دارد و دشمن باتری شما است.

 

 

اجازه بروز شدن به برنامه‌ها را در هر زمانی ندهید

خوشبختانه یا متاسفانه این ویژگی در کشور ما به صورت خودکار غیرفعال است، برای اینکه اجازه ندهید برنامه‌ها از طریق گوگل پلی به صورت خودکار بروز شوند باید به این فروشگاه مراجعه کنید و در قسمت تنظیمات گزینه برزورسانی خودکار را یا خاموش کنید یا اینکه اجازه دهید تنها در زمانی که Wi-Fi در دسترس است این کار انجام گیرد.

 

 

تنظیمات دیتایی برنامه‌ها را به صروت خودکار در برنامه‌ها تغییر دهید

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

 

 

دستری برنامه‌ها را به مصرف دیتا در پس زمینه قطع کنید

بعضی از اوقات حتی برنامه‌هایی که در داخل برنامه اجازه مصرف دیتا را به آن‌ها نداده‌اید به مصرف دیتا در پس زمینه می‌پردازند. در اندروید بستی حصیری به بعد این امکان وجود دارد که در قسمت Settings > Data Usage متوجه شوید کدام برنامه‌ها مشغول مصرف دیتا هستند. در اینجا دو گزینه برای هر برنامه وجود دارد یکی به نام Foreground که نشان دهند مصرف دیتای برنامه زمانی است که از آن استفاده می کنید و دیگری Background است که نشان دهنده مصرف دیتای برنامه زمانی است که در پس زیمنه باز است و شما از آن استفاده نمی کنید. اگر دیدید که یک برنامه مصرف زیادی دارد و باعث مصرف زیاد باتری شما می شود تیک گزینه Restrict background data را بزنید تا مصرف دیتا محدود شود، فقط توجه کنید با فعال کردن این گزینه مصرف دیتا برای تمام برنامه‌های باز محدود خواهد شد.

 

 

از امکان ذخیره و از پیش بارگذاری برنامه‌ها استفاده کنید

بعضی از برنامه‌هایی که حالت Stream دارند مانند Spotify این امکان را به شما می‌دهند که بتوانید لیستی از ویدئوها و یا آهنگ‌های مورد علاقه خود را دانلود کنید و بعدا زمانی که به وای فای دسترسی داشتید به تماشا و یا شنیدن آن‌ها بپردازید، حتی بعضی از برنامه‌ها که پخش ویدئویی دارند این امکان را می‌دهند تا در زمانی که به وای فای و یا اینترنت پر سرعت دسترسی ندارید آن ویدئو را با کیفیت پایین مشاهده کنید. این ویژگی را بیکار نگذارید و با رفتن به تنظیمات برنامه و فعال کردن گزینه‌ای که احتمالا کلمه  preloading را در خود دارد فعال کنید.

 

 

فایل‌های خود را فقط از طریق وای فای دانلود کنید

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

 

 

ویژگی Sync را بررسی کنید

گوگل برای اینکه محتوای برنامه‌های شما بروز باشد به صورت دائم برنامه‌ها را به سرور خود متصل نگه می‌دارد بعضی از این اتصال‌ها غیر ضروری هستند به طور مثال نیازی نیست که دائما عکس‌های شما با سرور گوگل سینک شوند. برای اینکه بتوانید تعیین کنید کدام ویژگی‌ها به صورت دائم با اکانت گوگل شما در سرورهای گوگل سینک شوند بهSettings > Accounts > Google رفته و بر روی اکانت خود کلیک کنید و تیک گزینه‌هایی که نمی‌خواهید دائما سینک شوند را بردارید.

 

 

همچنین اگر در جایی هستید که به سینک کردن محتوای خود نیاز ندارید برای مثال در زمان خواب می‌توانید با رفتن به آدرس Settings > Data Usage > Menu > uncheck "Auto-sync data به طور موقت ویژگی سینک را غیر فعال کنید.

 

 

 

مصرف مرورگر خود را کم کنید

بعضی از سایت‌ها بسیار سنگین هستند و علاوه بر محتوای سنگین تبلیغاتی دارند که برای لو شدن نیاز به مصرف دیتایی زیادی دارند بهترین راه حل برای این مشکل استفاده از ویژگی data compression است، با فعال کردن این ویژگی وب پیج مورد نظر شما پیشض از دانلود خلاصه می‌شود و سپس بر روی صفحه شما دانلود خواهد شد.

 

در مرورگر کروم برای فعال کردن این ویژگی شما می‌توانید Settings > Bandwidth Management > Reduce رفته و این ویژگی را فعال کنید.

 

 

به صورت مداوم مصرف دیتای خود را چک کنید

یکی از بهترین ابزار اندروید ابزار Data Usage است، با کمک این برنامه شما می توانید مصرف دیتای برنامه‌های مختلف را چک کنید و ببنید کدام برنامه مگابایت بیشتری مصرف می‌کند. همچنین برنامه‌ای جایگزین مانند Onavo Count وجود دارد که به صورت یک ویجت بر روی صفحه نمایش شما ظاهر خواهد شد و مصرف دیتا را به شما اطلاع خواهد داد.

 

 

فعالیت دیتایی خود را خلاصه کنید

با کمک برنامه‌ای مانند Onavo Count می‌توانید دیتاهای دریافتی خود را خلاصه کنید برای مثال محتوای ایمیل‌ها به صورت ساده شده دریافت شوند و کیفیت عکس‌ها برای مصرف دیتای شما بهینه تر شوند.

 

 

تمام این کارها باعث خواهند شد که شما مصرف باتری خود را کمتر کنید و بنابراین زمانی که به باتری نیاز داشتید خیالتان راحت باشد.

آموزش برنامه نویسی اندروید: قسمت اول مقدمه

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

اهداف آموزشی این قسمت عبارتند از:
1. معرفی سیستم عامل اندروید
2. معرفی تاریخچه اندروید
3. معرفی کنسرسیوم توسعه اندروید
4. آشنایی با زبان برنامه نویسی اندروید
5. معرفی نسخه های مختلف اندروید
6. آشنایی با محیط برنامه نویسی اکلیپس
7. آشنایی با نسخه ADT Bundle محیط برنامه نویسی اکلیپس
8. آشنایی با محیط برنامه نویسی اندروید استودیو شرکت گوگل
9. آشنایی با محیط برنامه نویسی Beacon Mountain شرکت اینتل

ادامه مطلب را از دست ندهید.


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

سیستم عامل اندروید(که گاهی آندروید هم در زبان فارسی تلفظ می شود) به منزله اولین سیستم عامل جامع و کامل موبایل است که به صورت Open Source منتشر شده است(به طور خلاصه Open Source به شرایطی گفته می شود که چیزی به صورت رایگان در دسترس همگان قرار گیرد که نه تنها بتوانند از آن استفاده کنند بلکه بتوانند بسته به نیازهای خود تغییراتی هم در آن ایجاد نمایند).


تاریخچه اندروید

این سیستم عامل در ابتدا توسط آقای اندی روبین مدیر عامل شرکت اندروید و همکارانش طراحی شد و در سال 2005 شرکت گوگل این شرکت را خریداری کرد. کلمه اندروید به معنی روبات انسان نما است و شاید علت این وجه تسمیه هم علاقه زیاد آقای روبین به روبات ها بوده است. در نوامبر سال 2007 گروهی از تولید کنندگان مطرح تجهیزات الکترونیکی همچون موبایل و تجهیزات بی سیم به علاوه یکسری از شرکت ها نرم افزاری که از آن جمله می توان به گوگل اشاره کرد که در ابتدا 34 شرکت بودند و سال به سال به تعداد اعضا افزوده شد، در کنار یکدیگر جمع شده و کنسرسیومی را تشکیل دادند که هدف آن ایجاد یک سیستم عامل موبایل Open Source بود تا از این طریق بتوانند هزینه های تولید اپلیکیشن های موبایل را کاهش دهند. در حقیقت از آنجا که شرکت گوگل در این کنسرسیوم رویکردی نرم افزاری داشت و از سوی دیگر صاحب اصلی این سیستم عامل هم محسوب می شد، از این رو به عنوان رهبر اصلی این سیستم عامل جدید انتخاب گردید.

برای این منظور این کنسرسیوم که Open Handset Alliance نام داشت چیزی تحت عنوان SDK که در برگیرنده ابزارهای نرم افزاری مورد نیاز برای توسعه اپلیکیشن های اندروید بود را منتشر کرد( در واقع SDK مخفف واژگاه Software Development Kit به معنی پیکیج توسعه نرم افزار می باشد). از سوی دیگر سایت
http://developer.android.com توسط برنامه نویسان این شرکت گوگل همواره برای ارائه آخرین نسخه های SDK ، دانلود محیط های برنامه نویسی و همچنین مستندات این سیستم عامل به روز نگه داشته می شود. در سال 2007 بود که نسخۀ بتای سیستم عامل اندروید به بازار معرفی شد و در اکتبر سال 2008 اولین گوشی موبایل با سیستم عامل اندروید که T-Mobile G1 از شرکت HTC نام داشت روانه بازار شد. از آن سال به بعد شرکت های سازنده تلفن های همراه یکی پس از دیگری به این سیستم عامل روی آوردند و نه تنها تلفن های همراهی مجهز به این سیستم عامل طراحی کردند، بلکه ابزارهای الکترونیکی دیگری همچون تبلت، ساعت، کتاب خوان الکترونیک و حتی تلویزیون هم با این سیستم عامل طراحی کردند.


زبان برنامه نویسی سیستم عامل اندروید

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

اما این بدان معنا نیست که برنامه نویسانی با تسلط به دیگر زبان های برنامه نویسی نمی توانند برای این سیستم عامل اپلیکیشن طراحی کنند. در حقیقت کسانیکه که به HTML5 و JavaScript تسلط دارند خواهند توانست برای این سیستم عامل اپلیکیشن های تحت وب طراحی کنند. از سوی دیگر برنامه نویسان سی و همچنین سی پلاس پلاس می توانند با استفاده از NDK که مخفف Native Development Kit است اقدام به توسعه اپلیکیشن های اندروید با استفاده از زبان های فوق الذکر نمایند.

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


معرفی نسخه های مختلف اندروید

نکته ای که در مورد نسخه های اندروید تا حدودی عجیب ولی در عین حال جالب توجه است این می باشد که نسخه های مختلف بر اساس نام دسرهای میان وعده نامگذاری شده اند. نسخه اول سیستم عامل اندروید که 1 بود نام خاصی نداشت و بیشتر کارایی اینترنتی داشت و در عمل توان رقابت با هیچ سیستم عاملی را نداشت. سپس نسخه 1.1 طراحی شد که مجدداً بدون نام انتشار یافت. نسخه 1.5 که Cupcake به معنی کیک فنجانی بود به منزله اولین نسخه دارای نام سیستم عامل اندروید است(برای درک بهتر معنی این واژه می توان کیک یزدی را متصور شد). نسخه 1.6 که Donut به معنی پیراشکی نام داشت پس از نسخه 1.5 انتشار یافت. نسخه بعدی که 2.0-2.1 بود Eclair یا نان خامه ای نام داشت. نسخه بعد که 2.2 بود تحت عنوان Froyo به معنی ماست یخی روانه بازار شد. سپس نسخه 2.3 تحت عنوان Gingerbread به معنی نان زنجبیلی معرفی شد.

قدم بعدی اندروید بازار تبلت ها بود که برای همین منظور نسخه 3.0 تحت عنوان Honeycomb به معنی شانه عسل را معرفی کرد. سپس نسخه 4.0 که Ice cream Sandwich یا بستنی حصیری نام داشت تلفیقی از ویژگی های اندروید 3.0 که برای تبلت های طراحی شده بود به علاوه یکسری ویژگی های جدید بود که این نسخه برای کلیه تجهیزات اندرویدی از موبایل گرفته تا تبلت مورد استفاده قرار می گیرد. در زمان انتشار این سری از آموزش ها آخرین نسخه اندروید 4.3 است که Jelly Bean به معنی آب نبات پاستیلی است.

نکته دیگری که در مورد نحوه نامگذاری نسخه های مختلف اندروید می بایست مد نظر قرار داده شود این است که نام دسرهای انتخابی بر اساس حروف الفبا پیش می روند. به طور مثال همانطور که در الفبای انگلیسی حرف D قبل از حرف E قرار می گیرد، نام انتخابی برای نسخه 1.5 معادل با Donut بود و پس از آن در نسخه 1.6 نام Eclair انتخاب شد(بر اساس حروف الفبا کلمه Donut پیش از کلمه Eclair قرار می گیرد). جهت آشنایی با تاریخچه و همچین قابلیت های هریک از نسخ اندروید به نمودار زیر توجه نمایید:


050492aplikeshenimage1.jpg

محیط برنامه نویسی اکلیپس

به منظور شروع برنامه نویسی برای اندروید چند رویکرد متفاوت را می توان اتخاذ کرد که در این قسمت به طور خلاصه این محیط های برنامه نویسی را معرفی می کنیم.

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


نسخه ADT Bundle محیط برنامه نویسی اکلیپس

این محیط برنامه نویسی دقیقاً همان محیط برنامه نویسی اکلیپس است با این تفاوت که خود شرکت گوگل تغییراتی در آن صورت داده و آن را منتشر کرده است. این محیط برنامه نویسی بر خلاف اکلیپس که برای توسعه اندروید می بایست تنظیمات خاصی در آن انجام داد، در برگیرندۀ کلیه ابزارهای لازم برای توسعه اندروید از جمله SDK و ADT و Emulator بوده و کاربران دیگر نیازی به دانلود کردن این ابزارها به صورت مجزا نخواهند داشت. لازم به ذکر است توسعه دهندگانی که با نحوه کار با محیط برنامه نویسی اکلیپس آشنایی داشته باشند به راحتی خواهند توانست از این محیط هم در تولید اپلیکیشن اندروید استفاده کنند(نحوه دانلود و نصب این محیط برنامه نویسی در آموزش هفتم توضیح داده خواهد شد).


محیط برنامه نویسی اندروید استودیو

اندروید استودیو (Android Studio) محیطی برای توسعه برنامه های اندرویدی است که برای اولین بار خود شرکت گوگل بر پایه محیط برنامه نویسی قدرتمندIntelliJ IDEA طراحی کرده است که همانند اکلیپس ابزارهای لازم برای طراحی، توسعه و مشکل یابی برنامه ها را داراست. اولین نسخه از اندروید استودیو در کنفرانس سالیانه گوگل که در اردیبهشت ماه سال 1391 اتفاق افتاد تحت عنوان نسخه1 معرفی شد(نحوه دانلود، نصب و کار با این محیط برنامه نویسی در آموزش پنجم به طور مفصل توضیح داده خواهد شد).


محیط برنامه نویسی Beacon Mountain

شرکت معروف اینتل یک محیط برنامه نویسی جدید تحت عنوان Beacon Mountain ساخته که ادعا می کند این ابزار جدید این امکان را به توسعه دهندگان اندروید می دهد تا بتوانند با صرف زمان کمتر و نوشتن کد کمتر دست به توسعه اپلیکیشن های اندرویدی بزنند(از آنجا که این محیط برنامه نویسی تازه به بازار معرفی شده است و این احتمال می رود که دارای یکسری Bug باشد، از توضیح پیرامون نحوه کار با این نرم افزار خودداری می کنیم اما علاقمندان به تست کردن این برنامه می توانند با مراجعه به آدرس http://software.intel.com/en-us/vcsource/tools/beaconmountain این نرم افزار را به صورت رایگان دانلود نمایند).

در این سری از آموزش ها از میان این محیط های توسعه اپلیکیشن اندروید تمرکز روی محیط برنامه نویسی اکلیپس خواهد بود و این در حالی است که نحوۀ نصب و کار با محیط برنامه نویسی اندروید استودیو نیز آموزش داده خواهد شد چرا که به نظر می رسد این محیط برنامه نویسی به عنوان تنها رقیب اصلی اکلیپس در آینده ای نه چندان دور مبدل خواهد شد.

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

در سایت نردبان را حتماً مطالعه نمایند.

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤالات زیر پاسخ بدهیم:
1.طراح اصلی سیستم عامل اندروید چه کسی بود؟
2. کنسرسیوم حامی سیستم عامل اندروید از چه شرکت هایی تشکیل می شود؟
3.در نسخه های مختلف سیستم عامل اندروید از چه روش نامگذاری استفاده شده است؟
4. نام نسخه های مختلف اندروید چیست؟
5. از چه IDE هایی می توان برای توسعه اندروید استفاده کرد؟

باسلام این مطالب از سایت نردبان به ادرسhttp://nardebaan.ir ذکر میگردد.

6 نکته برای حفظ امنیت موبایل

اصلا فرقی نمی کند که شما کاربر اندروید باید یا iOS. در هر حال موبایلتان محرم بسیاری از اسرار و حامل خصوصی ها است. نکات این مقاله کمک شایانی برای بالا بردن امنیت این عضو جدانشدنی به شما ارائه می کند.

هرچه شما بیشتر از دستگاه موبایل خود استفاده كنید، باید بیشتر نیز راجع به امنیت آن نگران باشید. این مساله به خصوص درصورتی­كه شما از موبایل برای كار خود استفاده نمایید، اهمیت بیشتری پیدا می­كند.

البته به خاطر داشته باشید كه در صورتی­كه موبایل شما با سرور ایمیل محل كار شما پیكربندی شده باشد، احتمالا برخی از نكات امنیتی كه در این مقاله به آن اشاره می­كنیم توسط كارفرمای شما پیاده سازی شده است.

۱- سیستم عاملی انتخاب كنید كه رمزگذاری را پشتیبانی می­نماید و از رمزگذاری آن استفاده كنید.

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

از جمله چنین سیستم عامل­هایی می­توان به Apple iOS و RIM BlackBerry اشاره كرد.

این بدان معناست كه داده های ذخیره شده بر روی موبایل شما در برابر پیشرفته ترین هكرها نیز تا حد خوبی محافظت می­گردد.

بدون رمزگذاری ممكن است فردی بتواند داده های موجود بر روی دستگاه را حتی بدون در اختیار داشتن pin یا كلمه عبور نیز بازیابی نماید.

رمزگذاری كامل دستگاه در دستگاه­های فعلی اندروید محدود است و بین تولید كنندگان مختلف، دارای تفاوت­هایی است. گوشی­های هوشمند تجاری موتورولا قابلیت­های رمزگذاری را بر روی اندروید ۲.۳ و اندروید ۳.x فراهم می آورند.

انتظار می ­رود كه در سال جاری شاهد رایانه های لوحی و گوشی­های هوشمند اندروید ۴.x باشیم كه رمزگذاری را پشتیبانی می ­نمایند.

۲- یك pin یا كلمه عبور انتخاب كنید.

فعال كردن یك كلمه عبور، pin، كد عبور یا عبارت عبور، نخستین خط دفاعی برای محافظت از محرمانگی و امنیت شماست.

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

اگر رمزگذاری توسط سیستم عامل پشتیبانی نشده باشد، شما باید حتما خود را ملزم به تعیین یك كلمه عبور مناسب برای دستگاه خود بدانید.

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

۳- از بین بردن خودكار داده ها را فعال نمایید.

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

دادن فرصت نامحدود به دیگران برای حدس زدن كلمه عبور، احتمال كشف آن را بیشتر می­كند.

از بین بردن خودكار داده ها در iOS، Windows Phone ۷ و BlackBerry پشتیبانی می­گردد، اما اندروید برای این كار نیاز به یك برنامه متفرقه دارد.

فقط به خاطر داشته باشید كه حتما از تمامی داده های خود به طور منظم یك نسخه پشتیبان تهیه كنید و از راهكاری برای بازیابی داده های خود در یك دستگاه جدید استفاده نمایید.

۴- ردیابی و مدیریت از راه دور را فعال نمایید.

پیش از اینكه گوشی یا دستگاه موبایل شما گم شده یا به سرقت رود، باید یك راهكار ردیابی و مدیریت از راه دور را برای آن تنظیم نمایید.

اغلب این راهكارها به شما اجازه می­دهند كه موقعیت دستگاه را بر روی یك نقشه مشاهده كنید، هشدارهای صوتی برای كمك به پیدا كردن آن ارسال می­نمایند و با نمایش یك پیغام تصویری به دیگران می­گویند كه چگونه آن را به شما بازگردانند.

این راهكارها همچنین به شما اجازه می­دهند كه از راه دور موبایل خود را قفل كرده و یا داده های آن را پیش از دستیابی دیگران به آن، پاك كنید.

Apple برای iOS ۴.۲ و نسخه های پس از آن یك راهكار رایگان در این مورد ارائه كرده است.

برای نسخه های قدیمی­تر iOS نیز یك سرویس پولی به نام MobileMe توسط این شركت عرضه شده بود.

در مورد اندروید شما باید از یك برنامه متفرقه برای این كار استفاده نمایید. مایكروسافت نیز برای Windows Phone ۷ اقدام به عرضه سرویس رایگان Windows Live for Mobile كرده است. همچنین RIM نیز سرویس رایگان BlackBerry Protect را به این منظور عرضه كرده است.

۵- استفاده از Wi-Fi hotspot ها را محدود نمایید.

زمانی كه شما از Wi-Fi hotspot هایی استفاده می­ كنید كه رمزگذاری شده نیستند، تمامی ترافیك اینترنت شما از طریق بی­سیم منتقل شده و به راحتی می­ تواند مورد نفوذ قرار گیرد.

مهمترین سایت­ها وسرویس­ها مانند وب سایت­های بانكی، معمولا رمزگذاری (HTTPS/SSL) خود را پیاده سازی می­ كنند كه از ترافیك آنها محافظت می­ نماید. ولی اغلب ارائه دهندگان سرویس­های ایمیل و بسیاری از سایت­های شبكه های اجتماعی این كار را انجام نمی ­دهند. در نتیجه شنود كنندگان احتمالا می­توانند كلمات عبور و ترافیك مربوط به این سایت­ها را جمع آوری نمایند.

نسل سوم، نسل چهارم و اغلب ارتباطات داده ای سلولی دیگر، معمولا توسط بستر ارتباطی رمزگذاری می­شوند.

علاوه بر این، استراق سمع بر روی این نوع از ارتباطات چندان معمول نیست. در نتیجه شما باید تا جایی كه می­توانید سعی كنید از ارتباطات داده ای به جای Wi-Fi hotspot های ناامن استفاده نمایید.

اما در صورتی­كه اصرار به استفاده از Wi-Fi hotspot ها دارید، از آنهایی استفاده كنید كه رمزگذاری و احراز هویت ۸۰۲.۱x را فراهم می آورند.

۶- از یك آنتی ویروس یا برنامه امنیتی استفاده نمایید.

ویروس­ها، بدافزارها و هك بر روی دستگاه­های موبایل كم كم در حال تبدیل شدن به یك مساله بزرگ هستند.

شما باید یك برنامه امنیتی نصب كنید تا بتوانید از آلودگی و نفوذ جلوگیری نمایید. اغلب راهكارهای آنتی ویروس، ویژگی­های دیگری را نیز در اختیار شما قرار می­ دهند كه از آن جمله می­توان به حذف داده ها از راه دور، پشتیبان گیری و تعیین موقعیت مكانی دستگاه اشاره كرد.

شركت­های AVG و NetQin برنامه های امنیتی رایگانی را برای اندروید عرضه كرده اند. شركت LookOut نیز برنامه های رایگانی برای اندروید، BlackBerry و Windows Mobile ارائه كرده است.

در میان برخی گزینه های تجاری نیز می­توان به McAfee WebSecure، Kaspersky Mobile Security و Trend Micro Mobile Security اشاره كرد.

 

منبع : سيمرغ

آموزش ساخت ایمیل یاهو پس از حذف ایران!

برترین ها: در تاریخ 16 شهریور سال جاری به نقل از باشگاه خبرنگاران جوان، خبری با سرخط «یاهو با ایران خداحافظی کرد» در این سایت منتشر کردیم و گفتیم به دنبال تغییرات صورت گرفته در نحوه ایجاد ایمیل های یاهو از این پس امکان ایجاد پست الکترونیکی جدید این شرکت برای کاربران ایرانی وجود نخواهد داشت. اما اینجا یک خبر خوشحال کننده برای کاربرانی داریم که همچنان به ساخت اکانت یاهو تمایل دارند.

یاهو در اقدامي عجيب نام ايران را از فهرست كشورهايی كه هنگام ثبت نام پست الكترونيك ديده می شد حذف كرده است. براي ثبت نام و فعال سازي حساب كاربری نيز وارد كردن شماره تلفن همراه الزامی است و اين كار برای كاربران ايراني غير ممكن است.

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

با جست‌وجوی نه چندان آسان در وب می توانید مطلبی را پیدا کنید که در قسمت نظرات مطلبی در وب سایت worldit قرار دارد و بسیار آسان مراحل دور زدن تحریم ها علیه ایران را آموزش داده است.

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

1. طبق روال همیشگی، به صفحه اصلی یاهو بروید. گزینه Mail را انتخاب کنید.




2. در صفحه ای که باز می شود، روی کادر آبی رنگ در پایین صفحه که نوشته شده است: Creat New Account (ساخت حساب کاربری جدید) کلیک کنید.




3. در صفحه ای که باز می شود، مشخصات خود را یادداشت و جنسیت خود را وارد کنید. در این مرحله باید روی کد +1 ایالت متحده  کلیک راست و گزینه Inspect Element را انتخاب کنید.




4. در این مرحله در پایین صفحه پنجره ای باز می شود که باید جای خالی را با واژه «+98» و عدد یک که دو خط بالاتر قرار دارد را با «98» پر کنید.




5. هر دو کد آمریکا را به روش مذکور به ایران تغییر دهید.




6. در این مرحله ایمیل شما ساخته شده است.

نحوه ی نصب ویندوز 8 بدون پاک کردن ویندوز 7

ويندوز عامل جديد مايکروسافت توانسته در مدت کوتاهي جايگاهي خوبي را به دست بياورد و همچنين سود زيادي را براي اين شرکت فراهم کند.

اما نمي توان به طور کلي ويندوز 7 را فراموش کرد و تنها از ويندوز 8 استفاده کرد چرا که ويندوز 7 هم داراي مزايايي ايست که آنها را نمي توان در ويندوز 8 پيدا کرد.

 

ادامه نوشته

چگونه جلوی دسترسی به اطلاعات خصوصی خود را در فیس بوک بگیریم؟


سیاری از کاربران شبکه اجتماعی فیس بوک با احتیاط و نگرانی اطلاعات و عکس ها و موارد دیگر خود را بر روی این شبکه اجتماعی منتشر می کنند. آنها نگران هستند که این اطلاعات سر از جاهایی در آورد که آنها تمایلی ندارند اطلاعاتشان به ان جاها سرایت کند. اما آیا از این نکته با خبر بودید که دوستان شما می توانند ناخواسته اطلاعات شخصی شما را منتشر کنند؟

 

خب برای درک بهتر این مسئله بهتر است ابتدا نگاهی بیندازیم به فیس بوک؛ مثلا : شاید شما از اینکه همه افرادی را که در لیست دوستان خود قرار دارید مطمئن باشید و با خیال راحت عکس ها و مطالب خود را با آنها در میان بگذارید.

 

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

 

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

 

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

 

اگر حتی شما همه برنامه های فیس بوک که می تواند به اطلاعات شما دسترسی پیدا کند را نصب نکرده باشید باز هم شما نمی دانید و نمی توانید مطمئن باشید که دوستان و اعضای فامیلی شما از چه برنامه ها و اپلی کیشن های بهره می برند.

 

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

 

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

 

تصویر پائین، جایی است که فیس بوک این امکان را به شما میدهد تا بتوانید از دست این اپلی کیشن ها خلاص شوید.

 

برای انجام این کار لازم است که ابتدا شما به بخش تنظیمات خود در قسمت حفظ حریم شخصی privacy options وارد شوید سپس گزینه “Apps/Apps Others Use” را انتخاب کنید.

 

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

 

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

 

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

 

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

 

https://www.facebook.com/settings?tab=applications§ion=friends_share

 
چگونه جلوی دسترسی به اطلاعات خصوصی خود را در فیس بوک بگیریم؟
چگونه جلوی دسترسی به اطلاعات خصوصی خود را در فیس بوک بگیریم؟

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!


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

به گزارش شگفت انگیز، برخی مواقع نیاز است که بدانیم پشت این ستاره ها که کارکترهای قرار گرفته است (دلیل آنرا خودتان می دانید!). برای مشاهده کارکترهای واقعی که به عنوان رمز عبور وارد شده اند روش های مختلفی وجود دارد. در این مقاله به شما روش سریع و ساده ای در مرورگرهای کروم و فایرفاکس به شما آموزش خواهد داد.

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!

می خواهیم با ابرازهای دم دستی و ساده HTML و CSS رمز های مخفی را پیدا کنیم. با کمی تغییر در آنها همه چیز برای شما نمایان خواهد شد.

مرورگر Google Chrome

در هر کجا که رمز وارد شده است و ستاره ها دیده می شوند، کلیک راست کنید و گزینه Inspect Element را بزنید.

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!

صفحه ای زیر مرورگر باز خواهد شد که کدهایی در آن قرار گرفته است. نترسید! فقط به بخش آبی شده کار داریم!

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!

به دنبال عبارت type=”password” بگردید و password  را به text تغییر دهید. که نتیجه به این صورت خواهد شد: type=”text” . در نهایت Enter را بزنید.

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!

به همین سادگی خواهید دید که به جای مشاهده ستاره ها، رمز وارد شده دیده می شود!

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!

مرورگر Mozilla Firefox

مانند قبل بر روی ستاره ها کلیک راست کنید و Inspect Element را بزنید.

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!

نوار مشکی رنگی زیر مرورگر دیده خواهد شد. بر روی Markup Panel کلیک کنید یا کلید ترکیبی  Alt +M را بزنید.

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!

باز هم مانند قبل یک سری کد خواهد دید که ما فقط با قسمت آبی شده (پر رنگ شده) کار داریم. 

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!

به دنبال عبارت type=”password” بگردید و password  را به text تغییر دهید. که نتیجه به این صورت خواهد شد: type=”text” . در نهایت Enter را بزنید.

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!

چگونه رمز های عبور را در مرورگرها پیدا کنیم؟!

به همین سادگی خواهید دید که به جای مشاهده ستاره ها، رمز وارد شده دیده می شود!