خیلی اوقات ممکن است که بخواهیم در اپلیکیشن خود طراحی بازی یا انیمیشن و یا هر چیز دیگه ای رو داشته باشیم که نیاز به دونستن رزولوشن گوشی کاربر داره . شما می تونید با استفاده از کد زیر رزولوشن گوشی کاربر رو به راحتی بدست بیارید :
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
numberHorizontalPixels = size.x;
numberVerticalPixels = size.y;
در نهایت تعداد پیکسل های افقی ( واحد سازنده رزولوشن) با نام numberHorizontalPixel و تعداد پیکسل های عمودی با نام numberVerticalPixel به دست میاد .
خب این کار خیلی ساده بود ولی برای اغلب برنامه نویس ها display.getSize(size) مقداری عجیب به نظر میرسه که در ادامه می خواهیم با هم اون رو بررسی کنیم :
در این خط
Display display = getWindowManager().getDefaultDisplay();
با استفاده از کلاس Display و ساخت شی display از روی اون می تونیم برنامه رو آماده کنیم تا اطلاعات اندازه ی دستگاه رو برای ما دریافت کنه ولی هنوز چیز بدرد بخوری برای نمایش و یا استفاده از اون وجود نداره .
در خط بعدی
Point size = new Point();
یک شی با نام size از کلاس Point ایجاد می کنیم . علت ایجاد این شی را در ادامه با هم می بینیم
اگر بخواهیم اطلاعات با مفهومی را از درون display استخراج کنیم باید با استفاده از دستور خط بعدی یعنی
display.getSize(size);
و ارسال ورودی ای از نوع Point به آن ( در اینجا size ) مقدار پیکسل های افقی و عمودی را در size ذخیره کنیم .
یعنی بدون استفاده از این خط کد امکان استفاده از size.x و همینطور size.y نیست و در این حالت هر دوی این متد ها مقدار 0 را برمی گردانند.
شاید سوالی که در این جا پیش می آید این باشد که چرا نتیجه دستور display.getSize را در جایی ذخیره نکردیم بنابراین بد نیست داخل دستور display.getSize را نیز مشاهده کنیم .
public void getSize(Point outSize) {
synchronized (this) {
updateDisplayInfoLocked();
mDisplayInfo.getAppMetrics(mTempMetrics, getDisplayAdjustments());
outSize.x = mTempMetrics.widthPixels;
outSize.y = mTempMetrics.heightPixels;
}
}
می بینید که این متد یک متد void و بدون بازگشت است و کاری که می کند اتصال پیکسل های عرض و پیکسل های ارتفاع به ورودی این متد یعنی outSize است . پس حالا متوجه میشیم که چرا دستور display.getsize با اینکه به نظر هیچ جایی در برنامه ذخیره نمیشود و استفاده نمیشود چه کاربردی دارد و تاثیر اصلی را در size.x و size.y نمایان می کند.
یادگیری برنامه نویسی برای متخصصین حوزه کامپیوتر این روزها یک الزام به حساب می آید. از جمله محبوب ترین زبان های برنامه نویسی دنیا می توانیم به زبان برنامه نویسی سی شارپ ، زبان برنامه نویسی جاوا ، زبان برنامه نویسی پایتون ، زبان برنامه نویسی سی پلاس پلاس و زبان برنامه نویسی SQL ( لازمه هر زبان دیگری ) و زبان برنامه نویسی PHP اشاره کنیم.
برای آموزش برنامه نویسی می توانید با خیال راحت در قالب دوره های آموزش برنامه نویسی سایت توسینسو ، آموزش سی شارپ ، آموزش جاوا ، آموزش پایتون ، آموزش جنگو ، آموزش PHP ، آموزش جاوا اسکریپت ، آموزش برنامه نویسی اندروید ، آموزش SQL و آموزش MySQL را بصورت جامع و حرفه ای آموزش ببینید.
مدرس برنامه نویسی اندروید در مجتمع فنی تهران
مهندس برق الکترونیک و مولف کتاب "رویکردی غیرآکادمیک به برنامه نویسی اندروید" و علاقه مند به برنامه نویسی خصوصا در حوزه برنامه نویسی اندروید ، حدود 6 سال هست که در حوزه ی اندروید و اینترنت اشیا به انجام کار و تدریس می پردازم و سابقه ی فعالیت و تدریس در هنرستان ها ، دانشگاه و فرهنگسراها و مجتمع فنی تهران ( نمایندگی های تهرانپارس و رودهن )و وب سایت های آموزش برنامه نویسی را دارا می باشم .
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود