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

امتیاز 3.00 ( 2 رای )

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

در اکتیویتی که می خواهید از صفحه عکس (screenshot)  بگیرید void زیر را قرار دهید در ادامه آن را توضیح خواهیم داد.

و برای اجرا آن هم باید همان void را اجرا کنید به شکل زیر

در ابتدا ما از Date یک instance (مثال) جدید ساختیم سپس در خط بعد از آن آمده ایم تاریخ و ساعت را گرفته ایم (به طور دقیق تر سال , ماه , روز , ساعت , دقیقه و ثانیه را به دست آورده در متغیر now قرار میدهیم) ما از آن به عنوان اسم عکس خود استفاده خواهیم کرد بعد از مسیر حافظه خارجی را به دست آورده بعلاوه متغیر now کرده به علاوه نوع فایل ما که از نوع jpg است (مسیر فایل ما بعلاوه اسم آن در متغیر mPath قرار می گیرد.)
حالا باید صفحه که می خواهیم ازش عکس بگیریم را آماده کنیم به خط زیر نگاه کنید .

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

برگردیم به ادامه کار بعد از آن باید کش را فعال کنیم تا عکس در کش (cache) قرار گیرد سپس از آن عکس خود را بسازیم و سپس دوباره کش را میبندیم. تا اینجا ما فقط یک فایل bitmap داریم که عکس در آن است حال باید فایل عکس را درست کنیم و عکس را در آن قرار دهیم یک instance از File درست کرده و با استفاده از FileOutputStream عکس را در فایل قرار می دهیم در اینجا ما می توانیم بروی quality عکس نیز دسترسی داشته باشیم 100 به معنی با بالاترین کیفیت است اگر بخواهید حجم آن را کم کنید می توانید مقدار آن را تغییر بدهید ولی ممکن است عکس بی کیفیت شود.
ما در اینجا آن عکس رو فشرده هم کرده ایم با استفاده از متود compress خود bitmap سپس آن را بسته و کار را تمام می کنیم.
 
این آموزش هم به پایان رسید.
 
موفق باشید.

مطالعه بیشتر