رفتن به مطلب

کتابخانه ListenToCopy - گوش دادن به کلیپبورد اندروید جهت کپی شدن متن جدید


ارسال‌های توصیه شده

بنام خدا.

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

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

 

یکی از دوستامون درخواست همچین کدی کرده بود برای بیسیک در این تاپیک:

http://answercenter.ir/topic/8219-%D8%B3%D8%A7%D8%AE%D8%AA-%DA%A9%D9%84%DB%8C%D9%BE%D8%A8%D8%B1%D8%AF/

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

 

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

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

 

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

Dim l As ListenToCopy

و Initialize اش میکنیم و یه EventName بهش میدیم. مثال:

l.Initialize("pejman")

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

Sub pejman_oncopied
	'هروقت متنی توی گوشی کپی شد این رویداد اجرا میشه ، میتونید اینجا هردستوری که دوست دارید بنویسید تا اجرا بشه.
	'یا میتونید با کتابخانه کلیپبورد متن کپی شده رو بگیرید
	
	ToastMessageShow("یک متن جدید کپی شد!",True)
End Sub

به همین راحتی. :gol:

 

نکته: 1.من برای این کتابخانه امکان copy و paste رو قرار ندادم ، چون گرفتن متن کلیپبورد کتابخونش وجود داره و کد رفلکشین اش هم وجود داره ، که میتونید تو همون رویداد oncopied تعریف کنید که متن کپی شده رو بگیره و ذخیره کنه...

2. این کتابخانه روی اندروید های 3به بالا کار میکنه ، و اگه روی اندروید 2.3.6 اجرا بشه ، اگه کتابخونه تیک خورده باشه به محض اجرا ، فورس کلوز میشه.

 

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

 

Listen To Copy.rar

 

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام پزمان جان ممنون که مشکلمو حل کردی

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

و وقتی نبود از همون سرویس استفاده کنه؟

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام پزمان جان ممنون که مشکلمو حل کردی

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

و وقتی نبود از همون سرویس استفاده کنه؟

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

سلام. خواهش میکنم.

طبق سایت منبع ، میشه با استفاده از نسخه sdk ، وزژن اندروید رو تشخیص داد.

مثلا یه ساب ایجاد میکنیم به این صورت:

Sub getversion As String
	Dim p As Phone
Dim OS As String

Select p.SdkVersion
   Case 2 : OS = "1.1"
   Case 3 : OS = "1.5"
   Case 4 : OS = "1.6"
   Case 5 : OS = "2.0"
   Case 6 : OS = "2.0.1"
   Case 7 : OS = "2.1"
   Case 8 : OS = "2.2"
   Case 9 : OS = "2.3"
   Case 10 : OS = "2.3.x" ' 2.3.3 or 2.3.4
   Case 11 : OS = "3.0"
   Case 12 : OS = "3.1"
   Case 13 : OS = "3.2"
   Case Else : OS = "?"
End Select

Return OS
End Sub

بعد ساب رو هرجا فراخوانی کنیم یه استرینگ بهمون برمیگردونه که به این صورت میشه شرط گذاری کرد برای اینکه مشخص کنی ورژن 3 به بالاست...

 

و یا مستقیم با استفاده از نسخه sdk میشه شرط گذاری کرد که اندروید از 3به بالاست یانه(این روش ساده تره):

	Dim p As Phone
If p.SdkVersion>10 Then
	ToastMessageShow("ورژن اندروید 3به بالا است",True)
	Else
		ToastMessageShow("از 3 پایین تر است",True)
End If

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خسته نباشید استاد نیکروان عزیز ♥

به امید موفقیت های بیشتر

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 1 ماه بعد...

حالا یه سوال دارم من

تو سرویس‌سورس، تو رویداد serviceStart از تابع StartServiceAt استفاده کردید، من میتونم ازش استفاده نکنم؟؟

بجاش از Android.app.service.start_sticky استفاده کنم؟

مشکلی پیش نمیاد؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

حالا یه سوال دارم من

تو سرویس‌سورس، تو رویداد serviceStart از تابع StartServiceAt استفاده کردید، من میتونم ازش استفاده نکنم؟؟

بجاش از Android.app.service.start_sticky استفاده کنم؟

مشکلی پیش نمیاد؟

سلام.

 

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

که ضمن این از Android.app.service.start_sticky هم برای ماندگاری استفاده کرده بودم.

نمیدونم ، اگه احساس میکنید با ورداشتن StartServiceAt سرویستون بسته نمیشه میتونید ورش دارید ، نظر خودم اینه که 10درصد شاید موجب موندگار نموندن سرویس میشه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام.

 

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

که ضمن این از Android.app.service.start_sticky هم برای ماندگاری استفاده کرده بودم.

نمیدونم ، اگه احساس میکنید با ورداشتن StartServiceAt سرویستون بسته نمیشه میتونید ورش دارید ، نظر خودم اینه که 10درصد شاید موجب موندگار نموندن سرویس میشه.

باشه

ممنون

کتابخونه فوق العاده ای هست

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ولی نتونستم باهاش به نتیجه ای برسم

فکر کنم تایمر استفاده کنم بهتر باشه

یا دوست دیگه ای کتابخونه برای اینکار نداره؟؟؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ولی نتونستم باهاش به نتیجه ای برسم

فکر کنم تایمر استفاده کنم بهتر باشه

یا دوست دیگه ای کتابخونه برای اینکار نداره؟؟؟

یعنی چی نتونستید به نتیجه ای برسید؟؟ :fekr:

تایمر واسه چی؟

کداتون رو بذارید ببینم چیکار کردین.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

یعنی چی نتونستید به نتیجه ای برسید؟؟ :fekr:

تایمر واسه چی؟

کداتون رو بذارید ببینم چیکار کردین.

آقا مشکل حل شد

فهمیدم روش کارش رو

کتابخونه تون فوق العاده است

بسیار ممنون :cheshmak:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 1 ماه بعد...

اگه بخوام اینو توی جاوا پیاده کنم چیکار باید بکنم؟

سلام

 

نیازی نبود پست اول رو نقل و قول کنید!

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 1 ماه بعد...

سلام. من برای کپی متن از bclipboard استفاده میکنم.اما مشکل اینجاست که توی سرویس کار نمیکنه چطور میتونم توی  سرویس از bclipboard استفاده کنم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام. من برای کپی متن از bclipboard استفاده میکنم.اما مشکل اینجاست که توی سرویس کار نمیکنه چطور میتونم توی  سرویس از bclipboard استفاده کنم؟

سلام

 

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

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

 

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 4 ماه بعد...

سلام اقای نیکروان.کتابخونه ی خوبیه.

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

باید چطور بهش بگیم که فقط لینک اینستاگرام رو بگیره؟؟؟؟؟؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام اقای نیکروان.کتابخونه ی خوبیه.

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

باید چطور بهش بگیم که فقط لینک اینستاگرام رو بگیره؟؟؟؟؟؟

 

باید شرط بزارین دیگه

Sub cbl_oncopied
	Dim aria As AriaLib
	Dim CBtxt As String = aria.ClipboadText
	If CBtxt.StartsWith("https://www.instagram.com") Or CBtxt.StartsWith("http://www.instagram.com") Then
		ToastMessageShow("Link az instagrame",False)
	End If
	ToastMessageShow("یک متن جدید کپی شد!",True)
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

باید شرط بزارین دیگه

Sub cbl_oncopied
	Dim aria As AriaLib
	Dim CBtxt As String = aria.ClipboadText
	If CBtxt.StartsWith("https://www.instagram.com") Or CBtxt.StartsWith("http://www.instagram.com") Then
		ToastMessageShow("Link az instagrame",False)
	End If
	ToastMessageShow("یک متن جدید کپی شد!",True)
End Sub
 
ممنون ازتون

این ساب رو باید توی سرویس بزارم ؟؟؟؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون ازتون

این ساب رو باید توی سرویس بزارم ؟؟؟؟

سلام ،

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...