کار با کلیپ بورد(ClipBoard)در اندروید

کلیپ بورد(ClipBoard):

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

کپی کردن داده ها :

این دستور ابتدا یک آبجکت  از نوع ClipData ایجاد می کنیم . و همچنین یک متغیر برای ذخیره متن ایجاد کرده . حالا با دستور newPlainText متن را در Clip قرار داده . و دستورmyClipboard.setPrimaryClip(Clip) متن رو در کلیپ بورد ذخیره می کنیم .

آبجکت ClipData می تواند این سه شکل را به خود بگیرد و توابع زیر برای ایجاد این اشکال استفاده می شوند :

(Text newPlainText(label, text : یک آبجکت ClipData را (که single ClipData می باشد) بازمی گرداند. این آبجکت دارای یک آیتم با محتوای رشته متن می باشد.

(URI newUri(resolver, label, URI : یک آبجکت ClipData را ( که single ClipData می باشد) بازمی گرداند.یکی از آیتم های آبجکت URI می باشد.

(Intent newIntent(label, intent : یک آبجکت ClipData را ( که single ClipData می باشد) بازمی گرداند. این آبجکت دارای یک آیتم Intent می باشد.

 

پیست کردن داده (Pasting Data):

برای پیست کردن داده، ابتدا قطعه را با فراخوانی متد ()getPrimaryClip به دست می آوریم. بعد از آن ، آیتم در آبجکت ClipData.Item خواهد گرفت.

متد های دیگری وجود دارند که توسط کلاس ClipboardManager برای مدیریت فریک ورک کلیپبورد ارائه می شوند. این متد ها در زیر ارائه شده اند :

()getPrimaryClip : این متد کلیپ اولیه ی (primary clip) موجود را روی کلیپبورد باز می گرداند.

()getPrimaryClipDescription : این متد توصیفی از کلیپ اولیه (نه یک کپی از داده ی آن) را روی کلیپبورد باز می گرداند.

()hasPrimaryClip : اگر روی کلیپبورد کلیپ اولیه (primary clip) وجود داشته باشد، این متد true را باز می گرداند.

(setPrimaryClip(ClipData clip : این متد کلیپ اولیه (primary clip) را روی کلیپ بورد تنظیم می کند.

(setText(CharSequence text : این متد می تواند مستقیما برای کپی متن روی کلیپ بورد استفاده شود.

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

حالا با ایجاد یک پروژه این موضوع را بهتر یاد میگیریم:

ابتدا در برنامه مانند کد زیر یک تکست ویو و دو دکمه به نامهای Copy ,Paste ایجاد می کنیم.

در قسمت جاوا برنامه کدهای زیر را وارد کنید ما دو دکمه ایجاد کرده ایم. که با کلیک بر روی copy متن درون ادیت تکست رو در کلیپ برد ، کپی کرده که با زدن دکمه بعد یعنی paste متن مورد نظر را در تکست ویو نمایش می دهد.

MainActivity.xml

 

MainActivity.java

که نتیجه بصورت زیر می با شد :

 

مطالعه بیشتر :

https://www.tutorialspoint.com/android/android_clipboard.htm

مطالعه بیشتر