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

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

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

در واژگان برنامه نویسی اندروید بهتر است به جاي واژه کنترل از واژه ویجت
کد (Button) براي اینکه براي یک ویجت از نوع دکمه
بنویسید بایستی مراحل زیر را قدم به قدم انجام دهید.(البته اگر کد نویسی براي یک
ویجت خاص مثل دکمه را یاد بگیرید میتوانید با کمی تغییر براي دیگر ویجت ها هم کد
View ل آن هم این است که همه ویجت ها از یک کلاس خاص به نام
1 Launch
65 فصل اول
Value ها که در پوشه Resources مورد
و Action داراي دو خصوصیت
Activity بایستی یک
Launcher . مشخص کنیم
(شروع 1 ) شود.
شد Intent و Activity در مورد
نداریم default. Properties در فایل
کن
استفاده کنیم. (Widget)
دهیدابتدا بایستی بسته مربوط به کلاس هاي ویجت دکمه را به کد جاوا وارد
(Import). کنید
import android.widget.Button;
شده) Bold برنامه بایستی کد زیر را بنویسید.(کد onCreate() سپس در متد
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn_finish=(Button) findViewById(R.id.btn_Finish);
}
در برنامه نویسی اندروید براي طراحی کلاس ها و متدها و تعریف پردازش ها و کارها و به
طور کلی براي برنامه نویسی دستوري 1 از زبان جاوا و کلاس هاي مخصوص اندروید که به
زبان جاوا نوشته شده اند استفاده میشود و براي کارهاي خاص میتوان از کتابخانه هایی که
xml آماده شده اند هم استفاده کرد. و براي طراحی واسط کاربري از کدهاي C++ به زبان
کد رابط کاربري هم میگویند. xml استفاده میشود. به کدهاي جاوا ، کد منبع و به کدهاي
شما در کد پایین فقط ارتباط بین کد منبع 2 و کد رابط کاربري 3 را ایجاد کرده اید
بنویسید و دلیل مشتق میشوند) هدف ما از طراحی محیط کاربري ، علاوه بر زیبایی محیط بایستی به انعطاف پذیر بودن
هم توجه کنیم.طوري که برنامه ما در گوشی هاي مختلف که داراي رزولوشن متفاوت
هستند ظاهر یکسانی داشته باشد.

کد فعال سازی آنتی ویروس  لایسنس رایگان  2016    2017 2016 2018  2017 2018  بهترین آنتی ویروس برای اندروید
براي نرم افزار انگلیسی در UserFriendly در این فصل میخواهیم محیط کاربري زیبا و
سفر ایجاد کنیم که بر روي گوشی ها و تبلت ها اجرا شود و ظاهر یکسانی داشته باشد.
براي مثال یک برنامه خوب که داراي محیطی زیباست ، داراي تم هاي مختلف است.
تم اول از ترکیب رنگ هاي زرد و سفید درست شده است و تم دوم از ترکیب رنگ
هاي مشکی و آبی ساخته شده است و … . بنابراین بسته به تم ها به آیکون هاي با سایز
هاي متفاوت براي تامیین رنگ هاي زرد و آبی نیاز داریم.

kaspersky total security Multi Device   کسپرسکی توتال سکیوریتی مولتی دیوایس
براي انعطاف پذیر بودن برنامه براي هر آیکون نیاز به سه نسخه از آن داریم :
براي تبلت ها و بعضی از گوشی هاي با HDPI=high dot per inch -1
رزولوشن بالا
معمولاً براي گوشی هاي با کیفیت MDPI=medium dot per inch -2
متوسط
براي گوشی هاي با رزولوشن پایین LDPI=low dot per inch -3
طراحی محیط کاربري پروژه 250
اما گوشی ها با توجه به رزولوشن و وضوحی که دارند در کدام یک از این دسته ها
جاي میگیرند؟
در جدول ( ) انواع مختلف گوشی ها و تبلت ها را بسته به اندازه و سایزشان
مشاهده میکنید:
Device Name Screen Size Screen Resolution DPI
Motorola Atrix 4 540 x 960 275
Google Nexus 1 3.7 480 x 800 254
iPhone 3GS 3.5 320 x 480 163
iPod Retina Display 3.5 640 x 960 326
iPad 9.7 1024 x 768 132
PlayBook 7 1024 x 600 168
Galaxy Tab 7′ 7 1024 x 600 168
Motorola Xoom 10.1 1280 x 800 150
Nook Color 7 1024 x 600 168
که اخیراً وارد بازار iPad 5(iOS تنوع مدل ها خیلی بیشتر از جدول بالاست. حتی در ( 5
2048 است که عدد خیلی بزرگی است و اندازه * شده است رزولوشون تصویر 1536
باشد و حداقل سایز iPad فیزیکی آن هم 9 اینچ است.براي مثال حداکثر سایز میتواند
251 فصل هشتم
240* که تقریباً صفحه 3 اینچی دارد و رزولوشن آن 320 Galaxy mini گوشی
است.براي ساخت برنامه ها باید حداکثر سایز و حداقل سایز را مشخص کنید.سپس با
استفاده از یک سري تکنیکها میتوان براي تمام دستگاه هایی که اندازه صفحاتشان بین
این دو بازه است برنامه بنویسید. یک برنامه نویس موبایل همیشه باید سعی کند برنامه
اي بنویسد که مثلاً بر روي دستگاه هاي بزرگتر از 3 اینچ و کوچکتر از 10 اینچ به
داریم که این فایل بر روي یک دیوایس 3 APK خوبی کار کند.براي مثال یک فایل
اینچی و یک دیوایس 10 اینچی خروجی قابل قبول و بدون مشکلی را دارد.
براي این کار تکنیک هاي زیادي وجود دارد. ابزارهایی که در اینجا به ما کمک میکنند
و جاوا اسکریپت CSS3(Media Query) که چنیین برنامه جذابی بسازیم
هستند. (screen.width,screen.heightt)

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

kaspersky antivirus   کسپرسکی انتی ویروس

لایسنس اورجنال   خرید انتی ویروس  خرید لایسنس    سریال نامبر    قویترین آنتی ویروس ویندوز    اندروید    نمایندگی  نمایندگی اموزش
CSS اما متدهاي متفاوتی براي استفاده از این ابزارها وجود دارد. طراحی فایل هاي
و …. براي آشنایی بیشتر با CSS جداگانه براي هر دیوایس و یا ایجاد یک فایل
Adapting Pages for Mobile with Media میتوانید به فصل Media Query
Adobe Dreamweaver CS5.5 Studio Techniques که در کتاب Queries
Designing and Developing for Mobile with jQuery, HTML5, and
است مراجعه کنید. DAVID POWERS که نویسنده آن آقاي CSS3 کسپرسکی اینترنت سکیوریتی برای اندروید2018
مراجعه به آدرس زیر هم میتواند بسیار سودمند باشد :
طراحی محیط کاربري پروژه 252
http://developer.android.com/guide/practices/screens_support.html
لغات و مفاهیم
معمولاً با اینچ داده میشود و اندازه قطر صفحه نمایش به اینچ است. : Screen Size
نشان دهنده کمیت 1 پیکسل ها در ابعاد فیزیکی صفحه است که با :Screen density
نقطه در اینچ و یا پیکسل در اینچ بیان میشود.
PPI=pixel per ) با پیکسل در اینچ (DPI=dot per inch) تذکر : نقطه در اینچ
ولی معمولاً براي . ppi استفاده میشود و گاهی نیز از dpi برابر است. گاهی از (inch
استفاده میشود و براي صفحه نمایش (خصوصاً موبایل dpi پرینتر ها و اسکنر ها بیشنر از
استفاده میشود. ولی در هر صورت هر دو واحد یکی هستند و نیاز به ppi و تبلت) از
تبدیل ندارد.
و (landscape) جهت صفحه نمایش است. که دو حالت افقی : Orientation
دارد و براي تشخیص اینکه موبایل در چه وضعیتی است تا طبق آن (portrait) عمودي
aspect واسط کاربري هم بچرخد بسیار کاربرد دارد.و با چرخاندن صفحه توسط کاربر
جدید aspect ratio تغییر میکند و یک برنامه خوب برنامه اي است که طبق ratio
تنظیم شود.
1 Quantity
253 فصل هشتم
تعداد پیکسل هاي موجود در سطر و ستون گوشی را رزولوشن گویند. :Resolution
نکته مهم :
براي ساخت یک برنامه که قرار است بر روي دستگاه هاي با سایزهاي مختف اجرا
گوشی هم توجه کنید. و گرنه به هدف dpi شود، شما بایستی علاوه بر رزولوشن به
است Multiple Screen Support خود که ساخت یک برنامه که داراي ویژگی
در تعیین ابعاد باید دخالت داشته (density) نمیرسید! پس هم رزولوشن و هم چگالی
باشد. به همین خاطر نبایستی از واحد پیکسل در برنامه خود استفاده کنیم.حال این سوال
پیش می آید چرا از پیکسل استفاده نکنیم؟ و به جاي آن از چه واحدي استفاده شود؟
Density-independent pixel (dp) واحدي که گوگل پیشنهاد کرده است واحد
است .
ا ین واحد یک پیکسل مجازي است که : Density-independent pixel (dp)
بایستی در طراحی واسط گرافیکی کاربر از این واحد استفاده کنید و گرنه با مشکلات
عدم تطبیق با سایز هاي مختلف مواجه میشوید. این واحد به صورت زیر محاسبه میشود :
dp = px / (dpi / 160)
dp: Density-independent pixel

Kaspersky Internet Securit Multi Device       کسپرسکی اینترنت سکیوریتی مولتی دیوایس
px: Pixel
dpi: dot per inch
طراحی محیط کاربري پروژه 254
بایستی این کار را کرد : px به dp بدیهی است که براي رسیدن از
px = dp * (dpi / 160)
عدد 160 که در بالا آمده را گوگل تعیین کرده است. گوگل چگالی 160 پیکسل در هر
اینچ را به طور ثابت براي همه ي دستگاه هاي اندرویدي در نظر گرفته است تا با مشکل
عدم تطبیق مواجه نشوید و نیز با واحدي مستقل از اندازه فیزیکی و صفحه نمایش کار
ا ست . Density-independent pixel کنید و آن واحد همان
داراي رزولوشن پایینی (s براي مثال گوشی اندرویدي سامسونگ گالاکسی مینی( 5570
Sony 120 است. گوشی dpi 240 است. و چگالی آن * است. رزولوشن آن 320
آن dpi 480 است و تقریباً 245 عدد * رزولوشن آن 854 Ericsson Xperia X10
است. براي اینکه یک چگالی مشترك داشته باشیم ، چگالی هر دو گوشی را 160 در
کار Density-independent pixel نظر میگیریم تا با واحد مستقل از دستگاهی مثل
کنیم.
را محاسبه کرده ایم. dp در زیر براي دو گوشی
براي گوشی گالاکسی مینی : 
dp(width) = 240 / (120 / 160) = اندازه عرض تمام صفحه موبایل 320
255 فصل هشتم
به این معنی است که اگر در هر اینچ از صفحه 120 پیکسل قرار داده شود به 240 پیکسل
لازم است تا عرض صفحه ي این موبایل پر شود. و اگر در هر اینچ 160 پیکسل قرار
داده شود به 320 پیکسل لازم داریم تا تمام عرض صفحه موبایل را در بر گیرد.(موبایل
گالاکسی مینی سامسونگ عرض 2 اینچی دارد. و بدیهی است که وقتی چگالی 120
پیکسل در اینچ است به 240 پیکسل احتیاج است پس اندازه عرض صفحه بایستی 2 اینچ
باشد).
dp(Height) = 320 / (120 / 160) = 426.67
اهمیت عرض صفحه از طول آن بیشتر است. چون که کمبود هاي طول صفحه به نوعی
با اسکرول عمودي جبران میشود !
: Xperia X براي گوشی 10 
dp (width) = 480 / (240 / 160) = 320
به این معنی است که اگر در هر اینچ از صفحه 240 پیکسل قرار داده شود به 480 پیکسل
لازم است تا عرض صفحه ي این موبایل پر شود. و اگر در هر اینچ 160 پیکسل قرار
داده شود به 320 پیکسل لازم داریم تا تمام عرض صفحه موبایل را در بر گیرد.
dp (Height) = 854 / (240 / 160) = 569.3
طراحی محیط کاربري پروژه 256
سوالی که پیش می آید این است که این تبدیلات بر روي کیفیت صفحه تاثییر منفی
نمیگذارد؟
همان طور که قبلاً اشاره شد براي گرفتن اندازه صفحه نمایش هم میتوانید از جاوا
.( maGetScrSize) اسکریپت استفاده کنید و هم از تابع سیستمی موسینک
نیستید C++ توصیه بنده استفاده از جاوا اسکریپت است. زیرا اولاً نیاز به محاسبه ابعاد در
C++ این کار را انجام میدهید در نتیجه رد و بدل اطلاعات بین HTML و در همان فایل
و جاوا اسکریپت صورت نمیگیرد و همین در سرعت اجراي برنامه شما تاثییر گذار است
و screen.width (اگر چه تاثییر آن بر سرعت ناچیز است) . دوماً دستورات
Density- هر دو چگالی را 160 در نظر میگیرند و مستقیماً به ما screen.height
را میدهند! و اینکه جاوا اسکریپت با این دقت بالا کار میکند independent pixel
نشان دهنده ي قدرت این زبان است و این خود جاي تحسین دارد. که یک زبان که
سال ها پیش ساخته شده است با این دقت براي دستگاه هاي موبایل و تبلت هم اعداد
درست و دقیق را به ما میدهد.کسپرسکی اینترنت سکیوریتی برای اندروید 2018
مطمئن باشید که اعدادي را که جاوا اسکریپت براي عرض صفحه میدهد دقیقاً برابر
اعدادي هستند که از فرمول بالا بدست می آید. ولی اعدادي را که براي طول صفحه
میدهد کوچکتر است و آن هم براي شما مشکلی ایجاد نمیکند. چون که جاوا اسکریپت
براي طول صفحه تمام طول صفحه را نمیدهد و طولی از صفحه را به شما میدهد که قابل
257 فصل هشتم
استفاده است و براي مثال اگر نواري که در بالاي صفحه ي گوشی شما است 25 پیکسل
ارتفاع دارد این عدد را از ارتفاع کم میکند مثلا جاوا اسکریپت براي این دستگاه
عدد 544 را براي ارتفاع به ما میدهد. براي اینکه مطمئن شویم جاوا اسکریپت در
محاسبات اشتباه نکرده است کاري میکنیم که برنامه تمام صفحه شود و نوار بالایی هم
نشان داده نشود.در این صورت با تستی که بنده انجام دادم عدد 569 به عنوان طول
صفحه برگردانده شد.ولی در هر صورت مشکلی براي برنامه شما پیش نمی آید.(منظور
از نوار بالاي صفحه نواري است که میزان شارژ باطري و آنتن دهی را نشان میدهد).
کد تمام صفحه شدن برنامه :
maScreenSetFullscreen(1);
دسته بندي که گوگل براي اندازه صفحات گوشی انجام داده در جدول ( ) آورده
شده است. از آنجا که خرید دستگاه هاي مختلف بسیار پر هزینه است شما میتوانید با
هاي مختلف بسازید که در ابعاد صفحه نمایش Emulator میتوانید AVD استفاده از
متفاوتند.براي تعیین ابعاد شبیه ساز میتوانید از مشخصات صفحه نمایش دستگاه واقعی
Run گزینه ي Run استفاده کنید. و هنگام اجرا در موسینک میتوانید از منوي
را انتخاب نمایید. تا تعیین کنید برنامه شما در کدام دستگاه اجرا configurations
شود. و همزمان میتوانید برنامه خود را بر روي چند دستگاه مجازي اجرا و تست کنید.
Low density Medium High density Extra high
طراحی محیط کاربري پروژه 258
(120), ldpi density (160),
mdpi
(240), hdpi density (320),
xhdpi
Small
screen
QVGA
(240×320)
480×640
Normal
screen
WQVGA400
(240×400)
WQVGA432
(240×432)
HVGA
(320×480)
WVGA800
(480×800)
WVGA854
(480×854)
600×1024
640×960
Large
screen
WVGA800**
(480×800)
WVGA854**
(480×854)
WVGA800*
(480×800)
WVGA854*
(480×854)
600×1024
Extra
Large
screen
1024×600 WXGA
(1280×800)†
1024×768
1280×768
1536×1152
1920×1152
1920×1200
2048×1536
2560×1536
2560×1600
* To emulate this configuration, specify a custom density of 160 when
creating an AVD that uses a WVGA800 or WVGA854 skin.
** To emulate this configuration, specify a custom density of 120 when
creating an AVD that uses a WVGA800 or WVGA854 skin.
† This skin is available with the Android 3.0 pla􀁋orm
259 فصل هشتم
ما براي تست برنامه خود چند دستگاه مجازي با سایز و اندازه هاي مختلف را در نظر
گرفتیم.
سامسونگ گالاکسی مینی دستگاهی با سایز کوچک( 3 اینچ) که حداقل سایز 
قرار میگیرد و براي ساخت آن QVGA را تعیین میکند. این دستگاه در دسته
تعیین کنید. QVGA را Built-in مقدار skin بایستی در قسمت
دستگاهی با سایز متوسط( 4 اینچ) است.این دستگاه در دسته : XperiaX10 
مقدار skin قرار میگیرد و براي ساخت آن بایستی در قسمت WVGA854
تعیین کنید. WVGA را 854 Built-in
دستگاهی با سایز خیلی بزرگ( 10.1 : Samsung Galaxy Tab 2 (10.1) 
قرار میگیرد و براي ساخت آن بایستی WXGA اینچ) است.این دستگاه در دسته
تعیین کنید. و فراموش نکنید که WXGA را Built-in مقدار skin در قسمت
باشد. چونکه به Android 3.0 (API level نوع سیستم عامل هم بایستی ( 11
گفته گوگل این شبیه ساز فقط بر روي این نسخه از اندروید کار میکند.
در شکل ( ) این دستگاه هاي مجازي را مشاهده میکنید.
طراحی محیط کاربري پروژه 260
گالاکسی تب دستگاهی است که رزولوشن واقعی آن با رزولوشن مجازي(رزولوشنی
که با استفاده از فرمول بدست آوردیم) برابر است . و دلیل آن این است که چگالی
واقعی این دستگاه 160 پیکسل در اینچ است.
ذخیره کنید و آن را در شبیه ساز .html براي فهم بهتر میتوانید تکه کد زیر را با پسوند
هاي مختلف اجرا کنید تا اعداد و ارقام را طبق فرمول مذکور به شما بدهد.
<script>
document.write(screen.width);
document.write(“,”);
261 فصل هشتم
document.write(screen.height);
</script> کسپرسکی اینترنت سکیوریتی برای اندروید2018
نکته مهمی را که در اینجا باید بدانید این است که رزولوشن واقعی گالاکسی تب 10
1280 و از روي این عدد براحتی میتوان فهمید x 800 px اینچی شرکت سامسونگ
1280 ) بنابراین این دستگاه توسط کمپانی > که چون عدد اول بزرگتر است( 800
ساخته شده است و (landscape) سامسونگ به صورت پیش فرض براي حالت افقی
شما بایستی توانایی تشخیص این مدل دستگاه ها را هم داشته باشید. براي تشخیص
میتوانید از موسینک استفاده کنید.چونکه با تستی که من انجام دادم متوجه شدم که جاوا
800 را در برنامه فوق در خروجی مرورگر نشان داد! و از روي * اسکریپت عدد 1280
قرار دارد.به Orientation این عدد نمیتوان فهمید که گوشی در چه وضعیتی از نظر
دستگاه بهتر است از موسینک استفاده کنید. و Orientation همین دلیل براي تشخیص
خود موسینک در برنامه اي که در آدرس
قرار دارد این کار را انجام MoSyncexamplescppScreenOrientation
داده است و شما میتوانید از این برنامه کمک بگیرید. خروجی برنامه را در شکل هاي (
) و ( ) مشاهده میکنید.
طراحی محیط کاربري پروژه 262
263 فصل هشتم
CTRL+F براي چرخش شبیه ساز اندروید میتوانید از دکمه ترکیبی 11
استفاده کنید.(از کنترل سمت چپ استفاده کنید).
استفاده F میتوانید از دکمه 4 (MoRE) براي چرخش شبیه ساز موسینک
کنید.(از کنترل سمت چپ استفاده کنید).
طراحی محیط کاربري پروژه 264
اولین کاري که انجام شده است این است که در ScreenOrientation در برنامه
مشتق شده است نوع برنامه را از نظر MAUtil::Moblet سازنده کلاسی که از
داینامیک تعریف کرده است و یعنی برنامه براي هر دو وضعیت افقی و Orientation
maScreenSetOrientation() عمودي کار میکند.براي این کار از تابع سیستمی
استفاده کرده است.
int maScreenSetOrientation ( int orientation) کسپرسکی اینترنت سکیوریتی برای اندروید2018
این تابع تا حال حاظر فقط براي اندروید پیاده سازي شده است و بر روي گوشی هاي
اندرویدي کار میکند.اگر این تابع کارش را با موفقیت انجام ندهد مقدار بازگشتی آن
منفی است.
یک پارامتر از نوع عدد صحیح دارد که شما میتوانید هم از عدد استفاده کنید و هم از
ثوابتی که در زیر میبینید استفاده کنید :
#define SCREEN_ORIENTATION_LANDSCAPE 1
#define SCREEN_ORIENTATION_PORTRAIT 2
#define SCREEN_ORIENTATION_DYNAMIC 3
است و SCREEN_ORIENTATION_DYNAMIC عدد 3 معادل نوشتن مقدار
باعث میشود برنامه به سنسور گوشی به عنوان یک رویداد گوش بدهد و با تغییر
265 فصل هشتم
گوشی ، جهت برنامه هم تغییر وضعیت بدهد و در دو مد افقی و Orientation
عمودي کار کند.
عدد 1و 2 برنامه ما را به طور مطلق افقی یا عمودي میکنند.یعنی برنامه در یک مد کار
میکند. و انگار که برنامه قفل شده باشد. حالت پیشفرض 2 است و برنامه فقط در
وضعیت عمودي کار میکند.
maScreenSetOrientation(SCREEN_ORIENTATION_DYNAMIC);
سپس بایستی ابعاد صفحه نمایش را گرفت :
//Get the screen size.
MAExtent extent = maGetScrSize();
MAExtent maGetScrSize ( void )
از نوع MAExtent . است MAExtent ، maGetScrSize() مقدار بازگشتی تابع
است و به نوعی تغییر نوع داده شده است که دو مقدار typedef int MAExtent
عددي را براي عرض و طول صفحه در خود ذخیره میکند. و به طور کلی اندازه صفحه
نمایش را نگهداري میکند.
از تابع زیر استفاده شده است. « Orientation تغییر » سپس براي تشخیص رویداد
void customEvent(const MAEvent& event)
طراحی محیط کاربري پروژه 266
را Orientation این تابع رویداد هاي خاصی که مربوط به گوشی هستند مثل تغییر
شناسایی و کنترل میکند.ما با جزییات تابع کاري نداریم و فقط با واسط کاربري آن کار
داریم تا عملیات مورد نظر خود را انجام دهیم و با جزییات پیاده سازي و نحوه عملکرد
آن کاري نداریم.
سپس با شرط زیر بررسی کردیم که رویداد مورد نظر انجام شده است تا رابط کاربري
فراخوانی شود) : rotateUI طبق چرخش تنظیم شود(براي مثال تابع
if (event.type == EVENT_TYPE_SCREEN_CHANGED)
{
rotateUI();

}
میتوان از عدد 21 استفاده EVENT_TYPE_SCREEN_CHANGED به جاي عبارت
کرد. چون این عبارت یک ثابت عددي است.
است MAEXTENT که از نوع extent تا اینجا ابعاد صفحه نمایش را در متغیري به نام
صورت میگیرد برنامه ما Orientation ذخیره کرده ایم . و هنگامی که رویداد تغییر
متوجه میشود. اما براي تشخیص حالت افقی یا عمودي بودن باید این کار را انجام بدهیم
267 فصل هشتم
که اگر پهنا بیشتر از طول بود در وضعیت افقی قرار داریم و اگر طول بیشتر از پهنا بود در
وضعیت عمودي و طبق این وضعیت ها میتوان یک عملیات خاص را انجام داد.
if (EXTENT_X(extent) > EXTENT_Y(extent)) { // Landscape

}
else { // Portrait

}
مشکلی که این روش دارد این است که از این روش نمیتوانید براي تعیین
و جاوا اسکریپت نوشته اید استفاده کنید! HTML برنامه هایی که با 5 Orientation
ساخته شده HTML آنها با استفاده از 5 UI یا همان برنامه هایی که hybrid برنامه هاي
ایجاد شده اند. C++ است ، رویداد هاي متفاوتی نسبت به برنامه هایی دارند که توسط
خود را مشخص کند.چون که در اولین Orientation برنامه شما در اولین اجرا میتواند
ارث بري دارد و شروع کننده برنامه WebAppMoblet اجرا سازنده کلاسی که از
HTML است میتواند رویداد ها را کنترل کند ، ولی بعد از لود شدن برنامه رویداد ها را 5
باید HTML میکنند . به همین خاطر شما در 5 (Handling) و جاوا اسکریپت مدیریت
تنها کاري که شما در .main.cpp را بنویسید و نه در فایل Orientation رویداد تغییر
طراحی محیط کاربري پروژه 268
انجام میدهید این است که کد زیر را در سازنده کلاس فوق الذکر main.cpp فایل
مینویسید تا به برنامه مجوز داینامیک بودن را بدهید :
maScreenSetOrientation(SCREEN_ORIENTATION_DYNAMIC);
استفاده کنید. این کتابخانه جاوا jQuery Mobile میتوانید از HTML در فایل
tap, اسکریپتی رویداد هاي ویژه اي براي موبایل هاي لمسی (مثل رویداد هاي
دارد. (taphold,swipe, orientationchange, scrollstart, scrollstop
براي این کار HTML ولی ما اینجا ترجیح میدهیم از این کتابخانه استفاده نکنیم و از 5
استفاده نمیکنیم(اگر چه تفاوتی هم نمیکند و شما با هر کدام که راحت تر هستید
میتوانید کار کنید).
269 فصل هشتم
مثال زیر به صورت اتوماتیک طبق چرخش دستگاه برنامه را از نظر ابعاد تنظیم میکند.
توضیح :
<body onorientationchange=”rotateUI()”>
میشود. rotateUI() کد بالا باعث فراخوانی تابع جاوا اسکریپت
را بررسی کرد و این ویژگی داراي 4 window.orientation در این تابع میتوان مقدار
مقدار زیر است :
90 : به منی چرخش دستگاه به سمت چپ و قرارگیري آن در حالت افقی. ( 
( landscape
0 : حالت صفر ، حالت اولیه / پیشفرض دستگاه است.(در موبایل ها حالت 
حالت صفر است ). ، portrait عمودي
-90 : به معنی چرخش دستگاه به سمت راست و قرارگیري آن در وضعیت 
افقی است.
180 : معادل برعکس شدن(سر و ته شدن) دستگاه است. 
<!–Create by MILAD FASHI_1391/02/18–>
طراحی محیط کاربري پروژه 270
<!DOCTYPE html>
<html>
<head>
<script src=” js/jquery-latest.js”></script>
<script src=” js/jquery.mobile-1.1.0-rc.1.js”></script>
<script src=” js/wormhole.js”></script>
<link rel=”stylesheet” href=” js/jquery.mobile-1.1.0-rc.1.min.css”
/>
<title>Orientation in HTML5</title>
<style type=”text/css”>
div.background
{
background-color:#f9c456;
margin:0;
}
img.openPanel
{
opacity:0.4;
position:absolute;
filter:alpha(opacity=60); /* For IE8 and earlier */
}
</style>
<script type=”text/javascript”>
//global variables
271 فصل هشتم
var X;
var Y;
var maxX=1280;//maximum width of screen(Samsung Galaxy
Tab2 10.1 inch width for base of calculation)
var maxY=800;//maximum height of screen(Samsung Galaxy Tab2
10.1 inch height for base of calculation)
window.onload=function()
{
setSize();
}
function setSize()
{
X=screen.width;//width of native device
Y=screen.height;//height of native device
//set size for multiple screen
support(tablet,handset(smart phone),…)
//setting background :
$(“#bg”).css(“width”,X);
$(“#bg”).css(“height”,Y);
//setting openPanelButton:
var openPanelWidth = parseInt($(“#openPanel”).css(“width”),10);
var widthCalc=(X*openPanelWidth)/maxX;
$(“#openPanel”).css(“width”,widthCalc);
}
طراحی محیط کاربري پروژه 272
function rotateUI()
{
if(window.orientation!=180)/*window.orientation==90 ||
window.orientation==-90 || window.orientation==0*/
{
//Exchange X and Y dimension
var temp=X;
X=Y;
Y=temp;
}
//Rearrange background
$(“#bg”).css(“width”,0);
$(“#bg”).css(“height”,0);
$(“#bg”).animate({width:’+=’+X},”fast”);
$(“#bg”).animate({height:’+=’+Y},”fast”);
}
</script>
</head>
<body onorientationchange=”rotateUI()”>
<div id=”bg” class=”background”>
<img id=”openPanel” src=”pic/openPanel.png”
class=”openPanel”></img>
273 فصل هشتم
</body>
</html>
طراحی محیط کاربري پروژه 274
ببخشید که عکس ها شماره نداشت.فرصت نکردم شماره بزنم.به خاطر کاستی ها عذر
خواهی میکنم.
خواهشمندم این حقیر را از دعاي خیر خویش بی بهره نسازید و اشتباهات بنده را و
نظرات و پیشنهادات خود را در مورد این متن به آدرس پست الکترونیکی
ارسال فرمایید. milad.fashi@gmail.com

Share this post

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

15 − هشت =